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

Configure Feed

Select the types of activity you want to include in your feed.

chore: do even more nixery related hell

Pulled GitHub Copilot on the web for even more help instead of
using Copilot Chat on VS Code, alongside some bts updates for my nix.user.conf file and VSC workspace settings.

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

+61 -52
+1
.taplo.toml
··· 1 + include = ["misc/nix/*.conf", ".git/config"]
+6 -1
.vscode/settings.json
··· 9 9 "nix.serverSettings": { 10 10 "flake": {"autoArchive": true, "nixpkgsInputName": "nixpkgs"} 11 11 }, 12 - "markdown.validate.enabled": true 12 + "markdown.validate.enabled": true, 13 + "evenBetterToml.schema.associations": { 14 + "misc/nix/nix.user.conf": "https://raw.githubusercontent.com/nix-community/nixd/main/nixd/docs/nixd-schema.json", 15 + "misc/nix/nix.custom.conf": "https://raw.githubusercontent.com/nix-community/nixd/main/nixd/docs/nixd-schema.json" 16 + }, 17 + "evenBetterToml.taplo.configFile.path": ".taplo.toml" 13 18 }
+36 -23
flake.nix
··· 89 89 ); 90 90 91 91 overlays.default = final: prev: { 92 - detect-vscode-for-git = self.packages.${prev.system}.detect-vscode-for-git; 93 - ssh-agent-loader = self.packages.${prev.system}.ssh-agent-loader; 92 + detect-vscode-for-git = prev.callPackage ./pkgs/detect-vscode-for-git.nix { }; 93 + ssh-agent-loader = prev.callPackage ./pkgs/ssh-agent-loader.nix { }; 94 94 }; 95 95 96 96 nixosConfigurations = { 97 97 recoverykit-amd64 = nixpkgs.lib.nixosSystem { 98 98 system = "x86_64-linux"; 99 99 modules = [ 100 - { nixpkgs.overlays = [ self.overlays.default ]; } 100 + ./shared/meta.nix 101 101 ./hosts/recoverykit/configuration.nix 102 102 "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" 103 103 ]; ··· 106 106 portable-amd64-256gb = nixpkgs.lib.nixosSystem { 107 107 system = "x86_64-linux"; 108 108 modules = [ 109 + ./shared/meta.nix 109 110 { nixpkgs.overlays = [ self.overlays.default ]; } 110 111 ./hosts/portable/amd64/configuration.nix 111 112 ··· 127 128 lairland = nixpkgs.lib.nixosSystem { 128 129 system = "x86_64-linux"; 129 130 modules = [ 130 - # Override bat-extras with the patched version 131 - { 132 - nixpkgs.overlays = [ 133 - self.overlays.default 134 - (final: prev: { 135 - #bat-extras = nixpkgs-bat-extras-pr.legacyPackages.${prev.system}.bat-extras; 136 - }) 137 - ]; 138 - } 139 - 131 + ./shared/meta.nix 140 132 ./hosts/lairland/configuration.nix 141 133 # load Determinate Nix and the rest 142 134 determinate.nixosModules.default ··· 150 142 ]; 151 143 152 144 specialArgs = { 145 + inherit self; 153 146 zen-browser = zen-browser; 154 147 dev-pkgs = dev-pkgs; 155 148 }; ··· 160 153 # otherwise, it fails to build with some missing dependencies 161 154 system = "x86_64-linux"; 162 155 modules = [ 163 - { nixpkgs.overlays = [ self.overlays.default ]; } 156 + ./shared/meta.nix 164 157 ./hosts/stellapent-cier/configuration.nix 165 158 166 159 # load Determinate Nix and the rest ··· 173 166 ./shared/vscode/server.nix 174 167 ]; 175 168 specialArgs = { 169 + inherit self; 176 170 zen-browser = zen-browser; 177 171 dev-pkgs = dev-pkgs; 178 172 }; ··· 193 187 inherit zen-browser; 194 188 }; 195 189 modules = [ 196 - { nixpkgs.overlays = [ self.overlays.default ]; } 190 + { 191 + nixpkgs = { 192 + overlays = [ self.overlays.default ]; 193 + config = { 194 + allowUnfree = true; 195 + # https://github.com/nix-community/home-manager/issues/2942 196 + allowUnfreePredicate = (_: true); 197 + }; 198 + }; 199 + } 197 200 ./shared/home-manager/main.nix 198 201 { 199 202 home = { ··· 217 220 inherit zen-browser; 218 221 }; 219 222 modules = [ 220 - # Override bat-extras with the patched version 221 223 { 222 - nixpkgs.overlays = [ 223 - self.overlays.default 224 - (final: prev: { 225 - #bat-extras = nixpkgs-bat-extras-pr.legacyPackages.${prev.system}.bat-extras; 226 - }) 227 - ]; 224 + nixpkgs = { 225 + overlays = [ self.overlays.default ]; 226 + config = { 227 + allowUnfree = true; 228 + # https://github.com/nix-community/home-manager/issues/2942 229 + allowUnfreePredicate = (_: true); 230 + }; 231 + }; 228 232 } 229 233 230 234 ./shared/home-manager/main.nix ··· 248 252 inherit zen-browser; 249 253 }; 250 254 modules = [ 251 - { nixpkgs.overlays = [ self.overlays.default ]; } 255 + { 256 + nixpkgs = { 257 + overlays = [ self.overlays.default ]; 258 + config = { 259 + allowUnfree = true; 260 + # https://github.com/nix-community/home-manager/issues/2942 261 + allowUnfreePredicate = (_: true); 262 + }; 263 + }; 264 + } 252 265 ./shared/home-manager/nogui.nix 253 266 { 254 267 home.username = "ajhalili2006";
-1
hosts/lairland/configuration.nix
··· 34 34 imports = 35 35 [ # Include the results of the hardware scan. 36 36 ./hardware-configuration.nix 37 - ../../shared/meta.nix 38 37 ../../shared/desktop/base.nix 39 38 ../../shared/desktop/kde-plasma.nix 40 39 ../../shared/server/ssh.nix
-5
hosts/stellapent-cier/configuration.nix
··· 35 35 imports = [ 36 36 ./hardware-configuration.nix 37 37 ./broadcom.nix 38 - ../../shared/meta.nix 39 38 ../../shared/desktop/base.nix 40 39 ../../shared/desktop/kde-plasma.nix 41 40 ../../shared/server/ssh.nix ··· 108 107 109 108 # Enable touchpad support (enabled default in most desktopManager). 110 109 # services.xserver.libinput.enable = true; 111 - 112 - # home-manager specifics 113 - home-manager.useUserPackages = true; 114 - #home-manager.useGlobalPkgs = true; 115 110 116 111 # Define a user account. Don't forget to set a password with ‘passwd’. 117 112 # Might be obvious to some since I'm technically roleplaying on my
+1 -3
misc/nix/nix.user.conf
··· 1 1 # Technically shared/meta-configs.nix but as a user-wise config, to be used on home-manager. 2 - experimental-features = nix-command flakes auto-allocate-uids ca-derivations cgroups configurable-impure-env daemon-trust-override dynamic-derivations fetch-closure fetch-tree git-hashing impure-derivations local-overlay-store mounted-ssh-store no-url-literals parse-toml-timestamps read-only-local-store recursive-nix verified-fetches 3 - 4 - # probably just list every arch we're using here for cross-host compat 2 + extra-experimental-features = nix-command flakes auto-allocate-uids blake3-hashes ca-derivations cgroups configurable-impure-env dynamic-derivations external-builders fetch-closure fetch-tree git-hashing impure-derivations local-overlay-store mounted-ssh-store no-url-literals pipe-operators read-only-local-store verified-fetches 5 3 extra-platforms = aarch64-linux x86_64-linux 6 4 7 5 # adjust based on CPU cores
-9
shared/home-manager/main.nix
··· 20 20 ./fonts.nix 21 21 ]; 22 22 23 - # https://fnordig.de/til/nix/home-manager-allow-unfree.html 24 - nixpkgs = { 25 - config = { 26 - allowUnfree = true; 27 - # https://github.com/nix-community/home-manager/issues/2942 28 - allowUnfreePredicate = (_: true); 29 - }; 30 - }; 31 - 32 23 # This value determines the Home Manager release that your configuration is 33 24 # compatible with. This helps avoid breakage when a new Home Manager release 34 25 # introduces backwards incompatible changes.
+13 -9
shared/meta-configs.nix shared/nix.nix
··· 12 12 # https://github.com/nix-community/home-manager/issues/2942 13 13 allowUnfreePredicate = (_: true); 14 14 }; 15 + overlays = [ self.overlays.default ]; 15 16 }; 16 17 17 18 nix = { ··· 23 24 # See https://nix.dev/manual/nix/latest/development/experimental-features 24 25 # for latest supported feature flags. 25 26 experimental-features = [ 27 + "nix-command" 28 + "flakes" 29 + 26 30 "auto-allocate-uids" 31 + "blake3-hashes" 27 32 "ca-derivations" 28 33 "cgroups" 29 34 "configurable-impure-env" 30 - "daemon-trust-override" 35 + #"daemon-trust-override" 31 36 "dynamic-derivations" 37 + "external-builders" 32 38 "fetch-closure" 33 39 "fetch-tree" 34 - "flakes" 35 40 "git-hashing" 36 41 "impure-derivations" 37 42 "local-overlay-store" 38 43 "mounted-ssh-store" 39 - "nix-command" 40 44 "no-url-literals" 41 - "parse-toml-timestamps" 42 45 "pipe-operators" 43 46 "read-only-local-store" 44 - "recursive-nix" 47 + #"recursive-nix" 45 48 "verified-fetches" 46 49 ]; 47 50 ··· 105 108 }; 106 109 107 110 # Needed since Determinate Nix manages the main config file for system. 108 - environment.etc."nix/nix.custom.conf" = { 109 - source = ../misc/nix/nix.custom.conf; 110 - mode = "0644"; 111 - }; 111 + # Commented out for a while to test if it's really needed. 112 + #environment.etc."nix/nix.custom.conf" = { 113 + # source = ../misc/nix/nix.custom.conf; 114 + # mode = "0644"; 115 + #}; 112 116 113 117 # This value determines the NixOS release from which the default 114 118 # settings for stateful data, like file locations and database versions
+4 -1
shared/meta.nix
··· 6 6 # import configs first 7 7 imports = [ 8 8 ./1password.nix 9 - ./meta-configs.nix 9 + ./nix.nix 10 10 ./flatpak.nix 11 11 ./appimages.nix 12 12 ./gnupg.nix ··· 42 42 starship 43 43 oh-my-posh # as backup lol 44 44 ]; 45 + 46 + home-manager.useGlobalPkgs = true; 47 + home-manager.useUserPackages = true; 45 48 }