diff --git a/flake.lock b/flake.lock index b22336e..e875559 100644 --- a/flake.lock +++ b/flake.lock @@ -47,11 +47,11 @@ ] }, "locked": { - "lastModified": 1770681688, - "narHash": "sha256-bGVEgZMxmw9N+IKp5nG+2nyKFezdPWYDxyxXkYW+d2M=", + "lastModified": 1772008782, + "narHash": "sha256-cjfHydg0gwFatbISETt2HbCsBBQ7FmRFxlmEH+V/NGE=", "owner": "9001", "repo": "copyparty", - "rev": "e5d0a0572da507acfe774e0f86ad541f5daab97f", + "rev": "00ab7888d765e124ccd7c61792d264d598077d20", "type": "github" }, "original": { @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1769524058, - "narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", + "lastModified": 1771881364, + "narHash": "sha256-A5uE/hMium5of/QGC6JwF5TGoDAfpNtW00T0s9u/PN8=", "owner": "nix-community", "repo": "disko", - "rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", + "rev": "a4cb7bf73f264d40560ba527f9280469f1f081c6", "type": "github" }, "original": { @@ -245,11 +245,11 @@ ] }, "locked": { - "lastModified": 1770654520, - "narHash": "sha256-mg5WZMIPGsFu9MxSrUcuJUPMbfMsF77el5yb/7rc10k=", + "lastModified": 1771851181, + "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "6c4fdbe1ad198fac36c320fd45c5957324a80b8e", + "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", "type": "github" }, "original": { @@ -267,11 +267,11 @@ ] }, "locked": { - "lastModified": 1769872935, - "narHash": "sha256-07HMIGQ/WJeAQJooA7Kkg1SDKxhAiV6eodvOwTX6WKI=", + "lastModified": 1771756436, + "narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=", "owner": "nix-community", "repo": "home-manager", - "rev": "f4ad5068ee8e89e4a7c2e963e10dd35cd77b37b7", + "rev": "5bd3589390b431a63072868a90c0f24771ff4cbb", "type": "github" }, "original": { @@ -335,11 +335,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1770631810, - "narHash": "sha256-b7iK/x+zOXbjhRqa+XBlYla4zFvPZyU5Ln2HJkiSnzc=", + "lastModified": 1771969195, + "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "2889685785848de940375bf7fea5e7c5a3c8d502", + "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", "type": "github" }, "original": { @@ -383,11 +383,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1770562336, - "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", + "lastModified": 1771848320, + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", "type": "github" }, "original": { @@ -415,11 +415,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1770562336, - "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", + "lastModified": 1771848320, + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", "type": "github" }, "original": { @@ -431,11 +431,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1769461804, - "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", + "lastModified": 1771369470, + "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", + "rev": "0182a361324364ae3f436a63005877674cf45efb", "type": "github" }, "original": { @@ -476,6 +476,7 @@ "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", "pin-factorio": "pin-factorio", + "vicinae-extensions": "vicinae-extensions", "zen-browser": "zen-browser" } }, @@ -509,6 +510,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems_2" @@ -527,17 +543,64 @@ "type": "github" } }, + "vicinae": { + "inputs": { + "nixpkgs": [ + "vicinae-extensions", + "nixpkgs" + ], + "systems": [ + "vicinae-extensions", + "systems" + ] + }, + "locked": { + "lastModified": 1768856963, + "narHash": "sha256-u5bWDuwk6oieTnvm1YjNotcYK8iJSddH5+S68+X4TSc=", + "owner": "vicinaehq", + "repo": "vicinae", + "rev": "934bc0ad47be6dbd6498a0dac655c4613fd0ab27", + "type": "github" + }, + "original": { + "owner": "vicinaehq", + "repo": "vicinae", + "type": "github" + } + }, + "vicinae-extensions": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_3", + "vicinae": "vicinae" + }, + "locked": { + "lastModified": 1771358594, + "narHash": "sha256-KwNv+THKbNUey10q26NZPDMSzYTObRHaSDr81QP9CPY=", + "owner": "vicinaehq", + "repo": "extensions", + "rev": "cf30b80f619282d45b1748eb76e784a4f875bb01", + "type": "github" + }, + "original": { + "owner": "vicinaehq", + "repo": "extensions", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": "home-manager_3", "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1770707140, - "narHash": "sha256-3ZRA2+o5p1+FKWx988WbwB1SQ2Mz5aL95zxhL5iD+O0=", + "lastModified": 1772005916, + "narHash": "sha256-aFYnT0gStcu1PVTh2Xzd0n8PIEKmqvTgrVkpv49qc6M=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "db14437f8667f7f09784e2a4e73c105bdc1c7023", + "rev": "044299e83752f78f9fc5d6a648f7f3dd84bb3b18", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ab9195c..c4742c4 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,11 @@ zen-browser.url = "github:0xc000022070/zen-browser-flake"; mozilla.url = "github:andersk/nixpkgs-mozilla/channel"; + vicinae-extensions = { + url = "github:vicinaehq/extensions"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; copyparty = { @@ -40,7 +45,7 @@ pin-factorio.url = "github:NixOS/nixpkgs?rev=c5ae371f1a6a7fd27823bc500d9390b38c05fa55"; }; - outputs = { self, nixpkgs, mailserver, copyparty, deploy-rs, ... }@inputs: { + outputs = { self, nixpkgs, deploy-rs, ... }@inputs: { nixosConfigurations = { # Framework Computer piaf = nixpkgs.lib.nixosSystem { @@ -53,11 +58,7 @@ zora = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; - modules = [ - ./hosts/zora - mailserver.nixosModules.default - copyparty.nixosModules.default - ]; + modules = [ ./hosts/zora ]; }; # Desktop ISO diff --git a/modules/desktop/sway/default.nix b/modules/desktop/sway/default.nix index da15575..fd54555 100644 --- a/modules/desktop/sway/default.nix +++ b/modules/desktop/sway/default.nix @@ -39,6 +39,7 @@ in wofi wlogout slurp + vicinae ]; }; diff --git a/modules/desktop/system.nix b/modules/desktop/system.nix index 58b04be..7c1e2da 100644 --- a/modules/desktop/system.nix +++ b/modules/desktop/system.nix @@ -81,7 +81,8 @@ # virtualisation.virtualbox.host.enable = true; # virtualisation.virtualbox.host.enableExtensionPack = true; # users.extraGroups.vboxusers.members = [ "lyes" ]; - # virtualisation.waydroid.enable = true; + virtualisation.waydroid.enable = true; + virtualisation.waydroid.package = pkgs.waydroid-nftables; # Containers virtualisation.containers.enable = true; diff --git a/modules/server/agraf/default.nix b/modules/server/agraf/default.nix index 5772227..431cf65 100644 --- a/modules/server/agraf/default.nix +++ b/modules/server/agraf/default.nix @@ -1,6 +1,10 @@ { config, copyparty, ... }: { + imports = [ + copyparty.nixosModules.default + ]; + services.copyparty = { enable = true; diff --git a/modules/server/taf/default.nix b/modules/server/taf/default.nix index ca0c361..9a87808 100644 --- a/modules/server/taf/default.nix +++ b/modules/server/taf/default.nix @@ -1,6 +1,10 @@ -{ config, ... }: +{ config, mailserver, ... }: { + imports = [ + mailserver.nixosModules.default + ]; + mailserver = { enable = true; stateVersion = 3; diff --git a/users/lyes/desktop/home/desktops/sway.nix b/users/lyes/desktop/home/desktops/sway.nix index ba7a6cf..bd87fc8 100644 --- a/users/lyes/desktop/home/desktops/sway.nix +++ b/users/lyes/desktop/home/desktops/sway.nix @@ -23,7 +23,8 @@ in swaynag.enable = true; config = { startup = [ - { command = "poweralertd"; } + { command = "${pkgs.poweralertd}/bin/poweralertd"; } + # { command = "${pkgs.vicinae}/bin/vicinae server"; } { command = '' swayidle -w \ @@ -35,7 +36,7 @@ in ]; modifier = "Mod4"; - menu = "${pkgs.wofi}/bin/wofi --show drun"; + menu = "${pkgs.vicinae}/bin/vicinae toggle"; # Switch to ghostty ? terminal = "${pkgs.ghostty}/bin/ghostty"; @@ -610,6 +611,52 @@ in }; programs = { + vicinae = { + enable = true; + systemd = { + enable = true; + autoStart = true; + # environment = { + # USE_LAYER_SHELL = 1; + # }; + }; + # useLayerShell = false; + settings = { + close_on_focus_loss = false; + consider_preedit = true; + pop_to_root_on_close = true; + launcher_window.layer_shell.enabled = false; + theme = { + light = { + name = "rose-pine-moon"; + }; + dark = { + name = "rose-pine-moon"; + }; + }; + }; + extensions = + let + extsrc = pkgs.fetchFromGitHub { + owner = "vicinaehq"; + repo = "extensions"; + sha256 = "sha256-KwNv+THKbNUey10q26NZPDMSzYTObRHaSDr81QP9CPY="; + rev = "cf30b80f619282d45b1748eb76e784a4f875bb01"; + }; + in + lib.map + (ext: + config.lib.vicinae.mkExtension { + name = ext; + src = extsrc + "/extensions/" + ext; + } + ) + [ + "bluetooth" + "nix" + "power-profile" + ]; + }; wofi = { enable = true; settings = {}; diff --git a/users/lyes/desktop/home/xdg.nix b/users/lyes/desktop/home/xdg.nix index 735e8d9..6ce671c 100644 --- a/users/lyes/desktop/home/xdg.nix +++ b/users/lyes/desktop/home/xdg.nix @@ -35,53 +35,66 @@ "x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop;"; "x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop;"; }; - defaultApplications = { - "text/plain" = "org.gnome.TextEditor.desktop"; - "text/markdown" = "org.gnome.TextEditor.desktop"; - "text/json" = "org.gnome.TextEditor.desktop"; - "text/html" = "firefox.desktop"; - "text/xml" = "org.gnome.TextEditor.desktop"; - "image/avif" = "org.gnome.Loupe.desktop"; - "image/png" = "org.gnome.Loupe.desktop"; - "image/jpeg" = "org.gnome.Loupe.desktop"; - "image/svg+xml" = "org.gnome.Loupe.desktop"; - "image/gif" = "org.gnome.Loupe.desktop"; - "image/webp" = "org.gnome.Loupe.desktop"; - "audio/mpeg" = "mpv.desktop"; - "audio/aac" = "mpv.desktop"; - "audio/webm" = "mpv.desktop"; - "audio/ogg" = "mpv.desktop"; - "video/x-matroska" = "mpv.desktop"; - "video/mp4" = "mpv.desktop"; - "video/webm" = "mpv.desktop"; - "video/ogg" = "mpv.desktop"; + + defaultApplications = + let + web = "firefox.desktop"; + mail = "thunderbird.desktop"; + editor = "org.gnome.TextEditor.desktop"; + image = "org.gnome.Loupe.desktop"; + video = "mpv.desktop"; + audio = "mpv.desktop"; + office-writer = "writer.desktop"; + office-document = "impress.desktop"; + office-spreadsheet = "calc.desktop"; + in + { + "text/plain" = editor; + "text/markdown" = editor; + "text/json" = editor; + "text/html" = web; + "text/xml" = editor; + "image/avif" = image; + "image/png" = image; + "image/jpeg" = image; + "image/svg+xml" = image; + "image/gif" = image; + "image/webp" = image; + "audio/mpeg" = audio; + "audio/aac" = audio; + "audio/webm" = audio; + "audio/ogg" = audio; + "video/x-matroska" = video; + "video/mp4" = video; + "video/webm" = video; + "video/ogg" = video; "application/pdf" = "org.gnome.Papers.desktop"; - "application/msword" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.ms-powerpoint" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.ms-excel" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.openxmlformats-officedocument.presentationml.presentation" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.oasis.opendocument.text" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.oasis.opendocument.presentation" = "onlyoffice-desktopeditors.desktop"; - "application/vnd.oasis.opendocument.spreadsheet" = "onlyoffice-desktopeditors.desktop"; + "application/msword" = office-writer; + "application/vnd.ms-powerpoint" = office-document; + "application/vnd.ms-excel" = office-spreadsheet; + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = office-writer; + "application/vnd.openxmlformats-officedocument.presentationml.presentation" = office-document; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = office-spreadsheet; + "application/vnd.oasis.opendocument.text" = office-writer; + "application/vnd.oasis.opendocument.presentation" = office-document; + "application/vnd.oasis.opendocument.spreadsheet" = office-spreadsheet; "application/epub+zip" = "com.github.johnfactotum.Foliate.desktop"; - "application/ogg" = "mpv.desktop"; - "application/xml" = "org.gnome.TextEditor.desktop"; - "application/xhtml+xml" = "firefox.desktop"; - "application/x-extension-htm" = "firefox.desktop"; - "application/x-extension-html" = "firefox.desktop"; - "application/x-extension-shtml" = "firefox.desktop"; - "application/x-extension-xhtml" = "firefox.desktop"; - "application/x-extension-xht" = "firefox.desktop"; + "application/ogg" = audio; + "application/xml" = editor; + "application/xhtml+xml" = web; + "application/x-extension-htm" = web; + "application/x-extension-html" = web; + "application/x-extension-shtml" = web; + "application/x-extension-xhtml" = web; + "application/x-extension-xht" = web; "application/x-bittorrent" = "de.haeckerfelix.Fragments.desktop"; - "message/rfc822" = "thunderbird.desktop"; - "x-scheme-handler/mailto" = "thunderbird.desktop"; - "x-scheme-handler/mid" = "thunderbird.desktop"; + "message/rfc822" = mail; + "x-scheme-handler/mailto" = mail; + "x-scheme-handler/mid" = mail; "x-scheme-handler/discord" = "vesktop.desktop"; - "x-scheme-handler/http" = "firefox.desktop"; - "x-scheme-handler/https" = "firefox.desktop"; - "x-scheme-handler/chrome" = "firefox.desktop"; + "x-scheme-handler/http" = web; + "x-scheme-handler/https" = web; + "x-scheme-handler/chrome" = web; }; }; }; diff --git a/users/lyes/desktop/packages.nix b/users/lyes/desktop/packages.nix index ebdf31d..437f6b0 100644 --- a/users/lyes/desktop/packages.nix +++ b/users/lyes/desktop/packages.nix @@ -169,6 +169,7 @@ in { packages = [ # Internet "net.waterfox.waterfox" + "io.freetubeapp.FreeTube" # Messaging "org.signal.Signal" diff --git a/users/lyes/home/default.nix b/users/lyes/home/default.nix index 1bdba1f..9e554bc 100644 --- a/users/lyes/home/default.nix +++ b/users/lyes/home/default.nix @@ -1,21 +1,20 @@ -{ home-manager, config, ... }: +{ home-manager, config, inputs, ... }: { - imports = - [ - home-manager.nixosModules.default - ]; + imports = [ + home-manager.nixosModules.default + ]; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.backupFileExtension = "backup"; + home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.lyes = { ... }: { - imports = - [ - ./editors - ./shells - ./home.nix - ]; + imports = [ + ./editors + ./shells + ./home.nix + ]; home.username = "lyes"; home.homeDirectory = "/home/lyes";