NixOS + home-manager configs, mirrored from GitLab SaaS. gitlab.com/andreijiroh-dev/nixops-config
nix-flake nixos home-manager nixpkgs nix-flakes

chore: setup Zen Browser stuff and update lockfile [skip ci]

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev>

Changed files
+234 -165
.zed
shared
+23
.zed/settings.json
··· 1 + { 2 + "languages": { 3 + "Nix": { 4 + "language_servers": ["nil", "!nixd"] 5 + } 6 + }, 7 + "lsp": { 8 + "nil": { 9 + "initialization_options": { 10 + "formatting": { 11 + "command": ["nixfmt"] 12 + }, 13 + "nix": { 14 + "flake": { 15 + "autoArchive": true, 16 + "autoEvalInputs": false, 17 + "nixpkgsInputName": "nixpkgs" 18 + } 19 + } 20 + } 21 + } 22 + } 23 + }
+28 -7
flake.lock
··· 153 153 ] 154 154 }, 155 155 "locked": { 156 - "lastModified": 1756991914, 157 - "narHash": "sha256-4ve/3ah5H/SpL2m3qmZ9GU+VinQYp2MN1G7GamimTds=", 156 + "lastModified": 1757075491, 157 + "narHash": "sha256-a+NMGl5tcvm+hyfSG2DlVPa8nZLpsumuRj1FfcKb2mQ=", 158 158 "owner": "nix-community", 159 159 "repo": "home-manager", 160 - "rev": "b08f8737776f10920c330657bee8b95834b7a70f", 160 + "rev": "f56bf065f9abedc7bc15e1f2454aa5c8edabaacf", 161 161 "type": "github" 162 162 }, 163 163 "original": { ··· 261 261 }, 262 262 "nixos-hardware": { 263 263 "locked": { 264 - "lastModified": 1756925795, 265 - "narHash": "sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac=", 264 + "lastModified": 1757103352, 265 + "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", 266 266 "owner": "NixOS", 267 267 "repo": "nixos-hardware", 268 - "rev": "ba6fab29768007e9f2657014a6e134637100c57d", 268 + "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", 269 269 "type": "github" 270 270 }, 271 271 "original": { ··· 346 346 "nixos-hardware": "nixos-hardware", 347 347 "nixpkgs": "nixpkgs_2", 348 348 "systems": "systems", 349 - "vscode-server": "vscode-server" 349 + "vscode-server": "vscode-server", 350 + "zen-browser": "zen-browser" 350 351 } 351 352 }, 352 353 "systems": { ··· 384 385 "original": { 385 386 "owner": "nix-community", 386 387 "repo": "nixos-vscode-server", 388 + "type": "github" 389 + } 390 + }, 391 + "zen-browser": { 392 + "inputs": { 393 + "nixpkgs": [ 394 + "nixpkgs" 395 + ] 396 + }, 397 + "locked": { 398 + "lastModified": 1757131548, 399 + "narHash": "sha256-ym0Vrjvj6rG14yIv62h8pestIixLDqNFUE5Gs3FXPoo=", 400 + "owner": "youwen5", 401 + "repo": "zen-browser-flake", 402 + "rev": "788e25b20abd27a7af53c975237a345ecd01867c", 403 + "type": "github" 404 + }, 405 + "original": { 406 + "owner": "youwen5", 407 + "repo": "zen-browser-flake", 387 408 "type": "github" 388 409 } 389 410 }
+149 -145
flake.nix
··· 3 3 4 4 # try to be in-sync with the nix-channels 5 5 inputs = { 6 - # nixpkgs stdlib 6 + # nixpkgs essientials 7 7 lib.url = "github:nix-community/nixpkgs.lib"; 8 - 9 - # nixpkgs itself 10 8 nixpkgs.url = "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/*.tar.gz"; 9 + flake-utils = { 10 + url = "github:numtide/flake-utils"; 11 + inputs = { 12 + systems = { 13 + follows = "systems"; 14 + }; 15 + }; 16 + }; 17 + nixos-generators = { 18 + url = "github:nix-community/nixos-generators"; 19 + inputs.nixpkgs.follows = "nixpkgs"; 20 + }; 21 + systems = { 22 + url = "github:nix-systems/default"; 23 + }; 11 24 12 25 # home-manager 13 26 home-manager = { ··· 30 43 flake-utils.follows = "flake-utils"; 31 44 }; 32 45 }; 33 - 34 - # flake utils 35 - flake-utils = { 36 - url = "github:numtide/flake-utils"; 46 + zen-browser = { 47 + url = "github:youwen5/zen-browser-flake"; 37 48 inputs = { 38 - systems = { 39 - follows = "systems"; 40 - }; 49 + nixpkgs.follows = "nixpkgs"; 41 50 }; 42 51 }; 43 52 ··· 46 55 url = "github:Mic92/nix-ld"; 47 56 inputs.nixpkgs.follows = "nixpkgs"; 48 57 }; 49 - 50 - # nixos-generators 51 - nixos-generators = { 52 - url = "github:nix-community/nixos-generators"; 53 - inputs.nixpkgs.follows = "nixpkgs"; 54 - }; 55 - 56 - systems = { 57 - url = "github:nix-systems/default"; 58 - }; 59 58 }; 60 59 61 - outputs = { 62 - self, 63 - nixpkgs, 64 - home-manager, 65 - nixos-hardware, 66 - determinate, 67 - vscode-server, 68 - nix-ld, 69 - flake-utils, 70 - systems, 71 - nixos-generators, 72 - lib 73 - }: 74 - { 75 - nixosConfigurations = { 76 - recoverykit-amd64 = nixpkgs.lib.nixosSystem { 77 - system = "x86_64-linux"; 78 - modules = [ 79 - ./hosts/recoverykit/configuration.nix 80 - "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" 81 - ]; 82 - }; 60 + outputs = 61 + { 62 + self, 63 + nixpkgs, 64 + home-manager, 65 + nixos-hardware, 66 + determinate, 67 + vscode-server, 68 + nix-ld, 69 + flake-utils, 70 + systems, 71 + nixos-generators, 72 + lib, 73 + zen-browser, 74 + }: 75 + { 76 + nixosConfigurations = { 77 + recoverykit-amd64 = nixpkgs.lib.nixosSystem { 78 + system = "x86_64-linux"; 79 + modules = [ 80 + ./hosts/recoverykit/configuration.nix 81 + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" 82 + ]; 83 + }; 83 84 84 - portable-amd64-256gb = nixpkgs.lib.nixosSystem{ 85 - system = "x86_64-linux"; 86 - modules = [ 87 - ./hosts/portable/amd64/configuration.nix 85 + portable-amd64-256gb = nixpkgs.lib.nixosSystem { 86 + system = "x86_64-linux"; 87 + modules = [ 88 + ./hosts/portable/amd64/configuration.nix 88 89 89 - # load Determinate Nix and the rest 90 - determinate.nixosModules.default 91 - home-manager.nixosModules.home-manager 92 - vscode-server.nixosModules.default 93 - nix-ld.nixosModules.nix-ld 90 + # load Determinate Nix and the rest 91 + determinate.nixosModules.default 92 + home-manager.nixosModules.home-manager 93 + vscode-server.nixosModules.default 94 + nix-ld.nixosModules.nix-ld 94 95 95 - # one-liners? 96 - { programs.nix-ld.dev.enable = true; } 97 - ]; 98 - }; 96 + # one-liners? 97 + { programs.nix-ld.dev.enable = true; } 98 + ]; 99 + }; 99 100 100 - stellapent-cier = nixpkgs.lib.nixosSystem { 101 - system = "x86_64-linux"; 102 - modules = [ 103 - ./hosts/stellapent-cier/configuration.nix 101 + stellapent-cier = nixpkgs.lib.nixosSystem { 102 + inherit zen-browser; 103 + # for some reason, zen-browser needs to be imported before nixos-hardware 104 + # otherwise, it fails to build with some missing dependencies 105 + system = "x86_64-linux"; 106 + modules = [ 107 + ./hosts/stellapent-cier/configuration.nix 104 108 105 - # load Determinate Nix and the rest 106 - determinate.nixosModules.default 107 - home-manager.nixosModules.home-manager 108 - vscode-server.nixosModules.default 109 - nix-ld.nixosModules.nix-ld 109 + # load Determinate Nix and the rest 110 + determinate.nixosModules.default 111 + home-manager.nixosModules.home-manager 112 + vscode-server.nixosModules.default 113 + nix-ld.nixosModules.nix-ld 110 114 111 - # one-liners? 112 - { programs.nix-ld.dev.enable = true; } 113 - ]; 114 - }; 115 - }; 116 - homeConfigurations = { 117 - # Usage 118 - # - From GitHub: 119 - # nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config#stellapent-cier 120 - # - Locally: 121 - # nix run home-manager/master -- switch --flake .#stellapent-cier 122 - stellapent-cier = home-manager.lib.homeManagerConfiguration { 123 - inherit lib; 124 - pkgs = nixpkgs.legacyPackages.x86_64-linux; 125 - modules = [ 126 - ./shared/home-manager/main.nix 127 - { 128 - home = { 129 - username = "gildedguy"; 130 - homeDirectory = "/home/gildedguy"; 131 - }; 132 - } 133 - ]; 115 + # one-liners? 116 + { programs.nix-ld.dev.enable = true; } 117 + ]; 118 + }; 134 119 }; 120 + homeConfigurations = { 121 + # Usage 122 + # - From GitHub: 123 + # nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config#stellapent-cier 124 + # - Locally: 125 + # nix run home-manager/master -- switch --flake .#stellapent-cier 126 + stellapent-cier = home-manager.lib.homeManagerConfiguration { 127 + inherit lib; 128 + pkgs = nixpkgs.legacyPackages.x86_64-linux; 129 + modules = [ 130 + ./shared/home-manager/main.nix 131 + { 132 + home = { 133 + username = "gildedguy"; 134 + homeDirectory = "/home/gildedguy"; 135 + }; 136 + } 137 + ]; 138 + }; 135 139 136 - # Usage 137 - # - From GitHub: 138 - # nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config#plain 139 - # - Locally: 140 - # nix run home-manager/master -- switch --flake .#plain 141 - plain = home-manager.lib.homeManagerConfiguration { 142 - pkgs = nixpkgs.legacyPackages.x86_64-linux; 143 - modules = [ 144 - ./shared/home-manager/main.nix 145 - { 146 - home.username = "ajhalili2006"; 147 - home.homeDirectory = "/home/ajhalili2006"; 148 - } 149 - ]; 150 - }; 140 + # Usage 141 + # - From GitHub: 142 + # nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config#plain 143 + # - Locally: 144 + # nix run home-manager/master -- switch --flake .#plain 145 + plain = home-manager.lib.homeManagerConfiguration { 146 + pkgs = nixpkgs.legacyPackages.x86_64-linux; 147 + modules = [ 148 + ./shared/home-manager/main.nix 149 + { 150 + home.username = "ajhalili2006"; 151 + home.homeDirectory = "/home/ajhalili2006"; 152 + } 153 + ]; 154 + }; 151 155 152 - # Usage 153 - # - From GitHub: 154 - # nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config#arm64-plain 155 - # - Locally: 156 - # nix run home-manager/master -- switch --flake .#arm64-plain 157 - arm64-plain = home-manager.lib.homeManagerConfiguration { 158 - pkgs = nixpkgs.legacyPackages.aarch64-linux; 159 - modules = [ 160 - ./shared/home-manager/nogui.nix 161 - { 162 - home.username = "ajhalili2006"; 163 - home.homeDirectory = "/home/ajhalili2006"; 164 - } 165 - ]; 156 + # Usage 157 + # - From GitHub: 158 + # nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config#arm64-plain 159 + # - Locally: 160 + # nix run home-manager/master -- switch --flake .#arm64-plain 161 + arm64-plain = home-manager.lib.homeManagerConfiguration { 162 + pkgs = nixpkgs.legacyPackages.aarch64-linux; 163 + modules = [ 164 + ./shared/home-manager/nogui.nix 165 + { 166 + home.username = "ajhalili2006"; 167 + home.homeDirectory = "/home/ajhalili2006"; 168 + } 169 + ]; 170 + }; 166 171 }; 167 - }; 168 172 169 - # This is for external users who want to reproduce my configs as needed 170 - exportedConfigs = { 171 - meta = ./shared/meta.nix; 172 - base = { 173 - sshKeys = ./shared/ssh-keys.nix; 174 - hostsFile = ./shared/hosts-file.nix; 175 - systemd = ./shared/systemd.nix; 176 - networking = ./shared/networking.nix; 177 - locale = ./shared/locale.nix; 178 - gnupg = ./shared/gnupg.nix; 179 - metaConfigs = ./shared/meta-configs.nix; 180 - shells = { 181 - bash = ./shared/shells/bash.nix; 182 - customPrompts = ./shared/shells/custom-prompts.nix; 173 + # This is for external users who want to reproduce my configs as needed 174 + exportedConfigs = { 175 + meta = ./shared/meta.nix; 176 + base = { 177 + sshKeys = ./shared/ssh-keys.nix; 178 + hostsFile = ./shared/hosts-file.nix; 179 + systemd = ./shared/systemd.nix; 180 + networking = ./shared/networking.nix; 181 + locale = ./shared/locale.nix; 182 + gnupg = ./shared/gnupg.nix; 183 + metaConfigs = ./shared/meta-configs.nix; 184 + shells = { 185 + bash = ./shared/shells/bash.nix; 186 + customPrompts = ./shared/shells/custom-prompts.nix; 187 + }; 188 + }; 189 + desktop = { 190 + kdePlasma = ./shared/desktop/kde-plasma.nix; 191 + base = ./shared/desktop/base.nix; 192 + flatpak = ./shared/desktop/flatpak.nix; 193 + _1password = ./shared/desktop/1password.nix; 183 194 }; 184 - }; 185 - desktop = { 186 - kdePlasma = ./shared/desktop/kde-plasma.nix; 187 - base = ./shared/desktop/base.nix; 188 - flatpak = ./shared/desktop/flatpak.nix; 189 - _1password = ./shared/desktop/1password.nix; 190 - }; 191 - server = { 192 - devenv = ./shared/server/devenv.nix; 193 - ssh = ./shared/server/ssh.nix; 194 - firewall = ./shared/server/firewall.nix; 195 - tailscale = ./shared/server/tailscale.nix; 196 - cockpit = ./shared/server/cockpit.nix; 195 + server = { 196 + devenv = ./shared/server/devenv.nix; 197 + ssh = ./shared/server/ssh.nix; 198 + firewall = ./shared/server/firewall.nix; 199 + tailscale = ./shared/server/tailscale.nix; 200 + cockpit = ./shared/server/cockpit.nix; 201 + }; 197 202 }; 198 203 }; 199 - }; 200 204 }
+20 -3
shared/1password.nix
··· 1 - { config, lib, pkgs, ... }: 1 + { 2 + config, 3 + lib, 4 + pkgs, 5 + ... 6 + }: 2 7 { 3 8 programs._1password.enable = true; 4 9 programs._1password-gui = { 5 10 enable = true; 6 11 # Certain features, including CLI integration and system authentication support, 7 12 # require enabling PolKit integration on some desktop environments (e.g. Plasma). 8 - polkitPolicyOwners = [ "gildedguy" "ajhalili2006" ]; 13 + polkitPolicyOwners = [ 14 + "gildedguy" 15 + "ajhalili2006" 16 + ]; 9 17 }; 10 18 19 + # HACK: Allow zen-browser to be used with 1Password 20 + environment.etc = { 21 + "1password/custom_allowed_browsers" = { 22 + text = '' 23 + zen 24 + ''; 25 + mode = "0755"; 26 + }; 27 + }; 11 28 system.nixos.tags = [ "1password" ]; 12 - } 29 + }
+14 -10
shared/desktop/firefox.nix
··· 1 - { pkgs, ... }: 1 + { pkgs, zen-browser, ... }: 2 2 3 3 { 4 - programs.firefox = { 5 - enable = true; 6 - nativeMessagingHosts.packages = with pkgs; [ 7 - firefoxpwa 8 - # _1password-gui 9 - # gnupg 10 - ]; 11 - package = pkgs.firefox; 12 - }; 4 + programs.firefox = { 5 + enable = true; 6 + nativeMessagingHosts.packages = with pkgs; [ 7 + firefoxpwa 8 + # _1password-gui 9 + # gnupg 10 + ]; 11 + package = pkgs.firefox; 12 + }; 13 + 14 + environment.systemPackages = [ 15 + zen-browser.packages.${pkgs.system}.default 16 + ]; 13 17 }