diff --git a/flake.lock b/flake.lock index f7bd5f60..3f460e62 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,28 @@ "type": "github" } }, + "ags_2": { + "inputs": { + "astal": "astal_2", + "nixpkgs": [ + "hyprpanel", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736090999, + "narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=", + "owner": "aylur", + "repo": "ags", + "rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c", + "type": "github" + }, + "original": { + "owner": "aylur", + "repo": "ags", + "type": "github" + } + }, "astal": { "inputs": { "nixpkgs": [ @@ -42,6 +64,28 @@ "type": "github" } }, + "astal_2": { + "inputs": { + "nixpkgs": [ + "hyprpanel", + "ags", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735172721, + "narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=", + "owner": "aylur", + "repo": "astal", + "rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2", + "type": "github" + }, + "original": { + "owner": "aylur", + "repo": "astal", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -112,11 +156,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1739223196, - "narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", + "lastModified": 1741628778, + "narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", + "rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80", "type": "github" }, "original": { @@ -126,7 +170,6 @@ } }, "flake-compat": { - "flake": false, "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -143,14 +186,18 @@ }, "flake-parts": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "stylix", + "nur", + "nixpkgs" + ] }, "locked": { - "lastModified": 1740872218, - "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3876f6b87db82f33775b1ef5ea343986105db764", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -206,11 +253,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1741379162, + "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", "type": "github" }, "original": { @@ -265,11 +312,11 @@ ] }, "locked": { - "lastModified": 1739845242, - "narHash": "sha256-rNMXpDubNWGLTs45MuoH9YHtXfXye/fn2u4YMSTPt9I=", + "lastModified": 1741955947, + "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", "owner": "nix-community", "repo": "home-manager", - "rev": "5cfbf5cc37a3bd1da07ae84eea1b828909c4456b", + "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", "type": "github" }, "original": { @@ -278,6 +325,27 @@ "type": "github" } }, + "hyprpanel": { + "inputs": { + "ags": "ags_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1740863579, + "narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=", + "owner": "jas-singhfsu", + "repo": "hyprpanel", + "rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd", + "type": "github" + }, + "original": { + "owner": "jas-singhfsu", + "repo": "hyprpanel", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1737831083, @@ -293,38 +361,13 @@ "type": "github" } }, - "matshell": { - "inputs": { - "ags": [ - "ags" - ], - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_2" - }, - "locked": { - "lastModified": 1741777612, - "narHash": "sha256-uU3yN8Ee5nDzlFebSgIgjCMpZvClBXv7JZiUxMQp0CU=", - "owner": "Neurarian", - "repo": "matshell", - "rev": "29e6a903a96988d8423430006b1dc3d541dacc28", - "type": "github" - }, - "original": { - "owner": "Neurarian", - "repo": "matshell", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1739834344, - "narHash": "sha256-PUAcU3YlKNFYrBBHkqshO4wRfMunzhMTEIH1dyhjTtk=", + "lastModified": 1741865919, + "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0295845e58ada369322524631821b01c0db13a7", + "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", "type": "github" }, "original": { @@ -334,18 +377,6 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1740872140, - "narHash": "sha256-3wHafybyRfpUCLoE8M+uPVZinImg3xX+Nm6gEfN3G8I=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/6d3702243441165a03f699f64416f635220f4f15.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/6d3702243441165a03f699f64416f635220f4f15.tar.gz" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1735651292, @@ -362,17 +393,41 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1741693509, + "narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=", + "owner": "nix-community", + "repo": "NUR", + "rev": "5479646b2574837f1899da78bdf9a48b75a9fb27", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "ags": "ags", "flake-utils": "flake-utils", "home-manager": "home-manager", + "hyprpanel": "hyprpanel", "impermanence": "impermanence", - "matshell": "matshell", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "sops-nix": "sops-nix", - "stylix": "stylix" + "stylix": "stylix", + "zen-browser": "zen-browser" } }, "sops-nix": { @@ -382,11 +437,11 @@ ] }, "locked": { - "lastModified": 1739262228, - "narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=", + "lastModified": 1741861888, + "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975", + "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", "type": "github" }, "original": { @@ -414,7 +469,8 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_3", + "nur": "nur", + "systems": "systems_2", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -422,11 +478,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1739892324, - "narHash": "sha256-3u0MZpiFl1+5FZcoSWhftl0R8pNKNfHQK1cM29vgpsw=", + "lastModified": 1741951718, + "narHash": "sha256-5MfCjwlU6TXlrr8Nkg1TK+gExVPz8/aU8ofbidK2Nlc=", "owner": "danth", "repo": "stylix", - "rev": "eb7b19c26030c534664c840405c995a493a98013", + "rev": "08e0c91d76e05a61ffe15bcd17ef7fa3160c5bd8", "type": "github" }, "original": { @@ -451,20 +507,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "id": "systems", - "type": "indirect" - } - }, - "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -516,11 +558,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1737565458, - "narHash": "sha256-y+9cvOA6BLKT0WfebDsyUpUa/YxKow9hTjBp6HpQv68=", + "lastModified": 1741468895, + "narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=", "owner": "tinted-theming", "repo": "schemes", - "rev": "ae31625ba47aeaa4bf6a98cf11a8d4886f9463d9", + "rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991", "type": "github" }, "original": { @@ -532,11 +574,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1735737224, - "narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=", + "lastModified": 1740877430, + "narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64", + "rev": "d48ee86394cbe45b112ba23ab63e33656090edb4", "type": "github" }, "original": { @@ -560,6 +602,70 @@ "repo": "base16-zed", "type": "github" } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "zen-browser-flake": "zen-browser-flake" + }, + "locked": { + "lastModified": 1741737308, + "narHash": "sha256-nC1xqLjDhFFO/wWxXAjtHYOaURPOgTH98G0NLLgwx4U=", + "owner": "LunaCOLON3", + "repo": "zen-browser-nix", + "rev": "76eef7b7b307e54ba75fb7b7ebb272884c08423a", + "type": "github" + }, + "original": { + "owner": "LunaCOLON3", + "repo": "zen-browser-nix", + "type": "github" + } + }, + "zen-browser-flake": { + "inputs": { + "nixpkgs": [ + "zen-browser", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741838758, + "narHash": "sha256-nGTC/y9e+1+QIVCzIbiSpPiXM2HfS8YwIDCp52CcOQ4=", + "owner": "youwen5", + "repo": "zen-browser-flake", + "rev": "03a7fc89bc48344aed00e01b409c1d6ffc4c52ce", + "type": "github" + }, + "original": { + "owner": "youwen5", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 8f3072b7..268788a4 100644 --- a/flake.nix +++ b/flake.nix @@ -37,10 +37,14 @@ }; }; - matshell = { - url = "github:Neurarian/matshell"; + hyprpanel = { + url = "github:jas-singhfsu/hyprpanel"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + zen-browser = { + url = "github:LunaCOLON3/zen-browser-nix"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.ags.follows = "ags"; }; }; @@ -72,7 +76,7 @@ lib.nixosSystem { system = system; pkgs = importNixpkgs system nixpkgs; - specialArgs = inputs; + specialArgs = inputs // {inherit system;}; modules = [ ./hosts/${host}/default.nix ./hosts/${host}/hardware-configuration.nix diff --git a/home/default.nix b/home/default.nix index fa98603b..979c8c50 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,15 +1,15 @@ -{ home-manager, sops-nix, ... } @ inputs: { +{ home-manager, specialArgs, ... }: { imports = [ home-manager.nixosModules.home-manager ]; + home-manager.useUserPackages = true; home-manager.backupFileExtension = "bak"; home-manager.users."lilith" = { imports = [ - sops-nix.homeManagerModules.sops ./lilith ]; home.username = "lilith"; home.stateVersion = "24.11"; }; - home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.extraSpecialArgs = specialArgs; } diff --git a/home/lilith/default.nix b/home/lilith/default.nix index bad465c9..f7efd19d 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -15,7 +15,7 @@ ./clipman.nix ./common.nix ./direnv.nix - ./firefox.nix + # ./firefox.nix ./fzf.nix ./git.nix ./gpg.nix diff --git a/home/lilith/env.nix b/home/lilith/env.nix index e18328cd..9336f402 100644 --- a/home/lilith/env.nix +++ b/home/lilith/env.nix @@ -1,5 +1,9 @@ { config, pkgs, ...}: { home = { + sessionVariables = { + ELECTRON_OZONE_PLATFORM_HINT = "wayland"; + }; + file.inbox.source = config.lib.file.mkOutOfStoreSymlink "/home/lilith/sync/inbox"; shellAliases = { diff --git a/home/lilith/firefox/default.nix b/home/lilith/firefox/default.nix index 7e355070..2c712cd3 100644 --- a/home/lilith/firefox/default.nix +++ b/home/lilith/firefox/default.nix @@ -1,3 +1,75 @@ -{zen-browser, ...}: { - home.packages = [ zen-browser.packages.specific ]; +{zen-browser, system, pkgs, lib, ...}: { + imports = [ zen-browser.homeManagerModules.zen-browser ]; + + home.file.".mozilla/native-messaging-hosts".source = lib.mkForce "/home/lilith/.mozilla/native-messaging-hosts"; + + programs.zen-browser = { + enable = true; + + nativeMessagingHosts = with pkgs; [ + tridactyl-native + keepassxc + ]; + + policies = { + Homepage = { + URL = "https://duckduckgo.com"; + StartPage = "homepage"; + }; + + DisablePocket = true; + DisableFirefoxAccounts = true; + DisableAccounts = true; + DisableFormHistory = true; + OfferToSaveLogins = false; + PasswordManagerEnabled = false; + + DisableSetDesktopBackground = true; + DisableTelemetry = true; + DisableFirefoxScreenshots = true; + + OverrideFirstRunPage = "https://duckduckgo.com"; + OverridePostUpdatePage = "https://duckduckgo.com"; + NewTabPage = false; + + DontCheckDefaultBrowser = true; + DisplayBookmarksToolbar = "never"; + + SearchBar = "unified"; + SearchSuggestEnabled = false; + DownloadDirectory = "/home/lilith/sync/inbox"; + + ExtensionSettings = { + # uBlock Origin: + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + + "keepassxc-browser@keepassxc.org" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/keepassxc-browser/latest.xpi"; + installation_mode = "force_installed"; + }; + + "sponsorBlocker@ajay.app" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4292214/sponsorblock-5.6.xpi"; + installation_mode = "force_installed"; + }; + + "tridactyl.vim@cmcaine.co.uk" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4261352/tridactyl_vim-1.24.1.xpi"; + installation_mode = "force_installed"; + }; + }; + + SearchEngines = { + Default = "DuckDuckGo"; + }; + + Preferences = { + "browser.newtab.extensionControlled" = false; + "browser.translations.neverTranslateLanguages" = true; + }; + }; + }; } diff --git a/hosts/lilith-pc/default.nix b/hosts/lilith-pc/default.nix index 9853416e..d257187b 100644 --- a/hosts/lilith-pc/default.nix +++ b/hosts/lilith-pc/default.nix @@ -10,7 +10,7 @@ home-manager.users."lilith".wayland.windowManager.hyprland.settings = { - input.kb_layout = lib.mkForce "en"; + input.kb_layout = lib.mkForce "us"; monitor = lib.mkForce [ "DP-3, 3840x2160, 0x0, 1.5" diff --git a/system/core/default.nix b/system/core/default.nix index 151cf84f..cc60476a 100644 --- a/system/core/default.nix +++ b/system/core/default.nix @@ -1,4 +1,4 @@ -{...}: { +{ zen-browser, ...}: { imports = [ ./audio.nix ./bluetooth.nix @@ -15,5 +15,6 @@ ./syncthing.nix ./users.nix ./zsh.nix + zen-browser.nixosModules.zen-browser ]; } diff --git a/system/core/persistence.nix b/system/core/persistence.nix index a5166246..d4d55aa7 100644 --- a/system/core/persistence.nix +++ b/system/core/persistence.nix @@ -26,6 +26,10 @@ "sync" "code" ".keepass" + ".local/share/PrismLauncher" + ".local/share/Steam" + ".local/share/lutris" + ".local/share/games" ]; files = []; }; diff --git a/system/core/sops.nix b/system/core/sops.nix index 3bd65523..1473cc25 100644 --- a/system/core/sops.nix +++ b/system/core/sops.nix @@ -1,5 +1,5 @@ { sops-nix, ... }: { imports = [ sops-nix.nixosModules.sops ]; - sops.age.keyFile = /persist/data/home/lilith/.config/sops/age/keys.txt; + sops.age.keyFile = "/persist/data/home/lilith/.config/sops/age/keys.txt"; } diff --git a/system/optional/gaming.nix b/system/optional/gaming.nix index 7345f38e..cbdc15c3 100644 --- a/system/optional/gaming.nix +++ b/system/optional/gaming.nix @@ -21,6 +21,7 @@ systemPackages = with pkgs; [ mangohud protonup + protontricks ]; }; }; diff --git a/system/optional/stylix.nix b/system/optional/stylix.nix index d8a07138..cf2ac637 100644 --- a/system/optional/stylix.nix +++ b/system/optional/stylix.nix @@ -1,4 +1,4 @@ -{stylix, pkgs, config, lib, ...}: { +{pkgs, stylix, config, lib, ...}: { imports = [ stylix.nixosModules.stylix ]; options.auto_styling.enable = lib.mkEnableOption "Enable Stylix";