localModules -> local

moved keys to their own module

updated nix

switching pinning method
This commit is contained in:
Gerg-L 2023-07-02 00:33:46 -04:00
parent 2057ff5d17
commit 160a5c3ffe
24 changed files with 187 additions and 109 deletions

View file

@ -3,16 +3,16 @@ keys:
- &moms-laptop age1vxx3qdsucv2v2slag67c4f0kwd8jtta4tue6m8d9xfl4ryrqvyusxgwl68 - &moms-laptop age1vxx3qdsucv2v2slag67c4f0kwd8jtta4tue6m8d9xfl4ryrqvyusxgwl68
- &game-laptop age1egxes320renph0uevtmnsz4d5aw0z794c5nwrk2z6249wv2yevgqx9cf90 - &game-laptop age1egxes320renph0uevtmnsz4d5aw0z794c5nwrk2z6249wv2yevgqx9cf90
creation_rules: creation_rules:
- path_regex: systems/gerg-desktop/secrets.yaml$ - path_regex: hosts/gerg-desktop/secrets.yaml$
key_groups: key_groups:
- age: - age:
- *gerg-desktop - *gerg-desktop
- path_regex: systems/moms-laptop/secrets.yaml$ - path_regex: hosts/moms-laptop/secrets.yaml$
key_groups: key_groups:
- age: - age:
- *moms-laptop - *moms-laptop
- *gerg-desktop - *gerg-desktop
- path_regex: systems/game-laptop/secrets.yaml$ - path_regex: hosts/game-laptop/secrets.yaml$
key_groups: key_groups:
- age: - age:
- *game-laptop - *game-laptop

79
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1687747614, "lastModified": 1687968164,
"narHash": "sha256-KXspKgtdO2YRL12Jv0sUgkwOwHrAFwdIG/90pDx8Ydg=", "narHash": "sha256-L9jr2zCB6NIaBE3towusjGBigsnE2pMID8wBGkYbTS4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "fef67a1ddc293b595d62a660f57deabbcb70ff95", "rev": "8002e7cb899bc2a02a2ebfb7f999fcd7c18b92a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -27,11 +27,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1687390847, "lastModified": 1688267694,
"narHash": "sha256-T75KT5XFPMvmHOdxuoWotI+vCIM2cM5192QxLxenudU=", "narHash": "sha256-dU20pHcJkr08p9kJij4vLWGLahmXC09Fl22ywO24quQ=",
"owner": "gerg-L", "owner": "gerg-L",
"repo": "fetch-rs", "repo": "fetch-rs",
"rev": "a571c0c6768db9c643cc81735a1a12799d09ed4e", "rev": "45b0a9038ac0b73b2f37e16d83143f5d869595a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -74,11 +74,11 @@
}, },
"master": { "master": {
"locked": { "locked": {
"lastModified": 1687829807, "lastModified": 1688270854,
"narHash": "sha256-3frHlJgnHai4BCR67iAn8rpOpVMYGGsxXP/RD9CJeug=", "narHash": "sha256-GLH4R4BseIDNrs6TukaXgzjKgFT0mSrYwS2bc+WZ0lM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "71a84fc822c1d8f41d6b70ce31c600dd45dc7ac3", "rev": "3454e7a9c8c78ee815bd2d5d3ff8a977f4d419f3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -90,16 +90,17 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1686422003, "lastModified": 1688085369,
"narHash": "sha256-Ekqqm2/FigfyhuCfx1BkePPsABdTwm7PJdiTaHPXems=", "narHash": "sha256-g/2k/heQXYN38xutKf3JoeAe3bpmLswR/F8oupPzxdM=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "302d3cfb96d7f0c856262e1a4252d058e3300c8b", "rev": "d7bb19e0138c7363ed40c142972c07e4e1912785",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "d7bb19e0138c7363ed40c142972c07e4e1912785",
"type": "github" "type": "github"
} }
}, },
@ -111,17 +112,17 @@
"nixpkgs-regression": "nixpkgs-regression" "nixpkgs-regression": "nixpkgs-regression"
}, },
"locked": { "locked": {
"lastModified": 1686310844, "lastModified": 1688234932,
"narHash": "sha256-QS9/9v+bPTKb7HtB9a5zb4a6+IErwpfhHaqwi0PN0K8=", "narHash": "sha256-X0Tus1uP+tSBySLCUKlmV/Nv7Vfj4ljBL/ptsS0DQ6s=",
"owner": "nixos", "owner": "nixos",
"repo": "nix", "repo": "nix",
"rev": "03f9ff6ea59d21c6d7b29c64a03d5041bd621261", "rev": "7b39a388b382e7912de3c5951faad42fe2d72f48",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"repo": "nix", "repo": "nix",
"rev": "03f9ff6ea59d21c6d7b29c64a03d5041bd621261", "rev": "7b39a388b382e7912de3c5951faad42fe2d72f48",
"type": "github" "type": "github"
} }
}, },
@ -148,11 +149,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1687743756, "lastModified": 1688003049,
"narHash": "sha256-WhDERdaMGX73CBxpDfoauKU2Z4NC10+/4khdBbpXjWs=", "narHash": "sha256-5oSxbv8OVSg2dOvycJ9eisacxF8e52N0PVUFryWWJmE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "844ce2ab9a0ba819b30df1fff2c48c9b2b2344be", "rev": "bde0bc291c95b710dd63d5e5c422e47f760a1406",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -195,11 +196,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1687031877, "lastModified": 1688256355,
"narHash": "sha256-yMFcVeI+kZ6KD2QBrFPNsvBrLq2Gt//D0baHByMrjFY=", "narHash": "sha256-/E+OSabu4ii5+ccWff2k4vxDsXYhpc4hwnm0s6JOz7Y=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e2e2059d19668dab1744301b8b0e821e3aae9c99", "rev": "f553c016a31277246f8d3724d3b1eee5e8c0842c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -217,11 +218,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686447176, "lastModified": 1688269212,
"narHash": "sha256-d+chVhxA6k7uYyj9Ig+HL5TTiy62AUhp80n7r4b0CAI=", "narHash": "sha256-psck0cUFcbmAadVbSqEkYqUDk6mFVBBnGEaNmLm1cFQ=",
"owner": "gerg-L", "owner": "gerg-L",
"repo": "nvim-flake", "repo": "nvim-flake",
"rev": "8327aa444b285b7e4d042c609c118e4eb38d8376", "rev": "32f337f1dda040aa2d1b2126ba5a16ff5cfe5502",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -270,11 +271,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1687398569, "lastModified": 1688268466,
"narHash": "sha256-e/umuIKFcFtZtWeX369Hbdt9r+GQ48moDmlTcyHWL28=", "narHash": "sha256-fArazqgYyEFiNcqa136zVYXihuqzRHNOOeVICayU2Yg=",
"owner": "mic92", "owner": "mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "2ff6973350682f8d16371f8c071a304b8067f192", "rev": "5ed3c22c1fa0515e037e36956a67fe7e32c92957",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -290,8 +291,8 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1687749665, "lastModified": 1688271042,
"narHash": "sha256-wvpL4zqF5DoqkKuEkNVuvwXPBz7pnxc2c0z/a5FgndU=", "narHash": "sha256-jO2i5SAX87yh7MJtZ2kmlWwFBC90TyeBWjCzcs6Z2Jk=",
"path": "/home/gerg/Projects/spicetify-nix", "path": "/home/gerg/Projects/spicetify-nix",
"type": "path" "type": "path"
}, },
@ -302,11 +303,11 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1687729501, "lastModified": 1688109178,
"narHash": "sha256-mTLkMePoHUWvTCf3NuKbeYEea/tsikSIKBWwb9OfRr4=", "narHash": "sha256-BSdeYp331G4b1yc7GIRgAnfUyaktW2nl7k0C577Tttk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "35130d4b4f0b8c50ed2aceb909a538c66c91d4a0", "rev": "b72aa95f7f096382bff3aea5f8fde645bca07422",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -323,11 +324,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686447653, "lastModified": 1688270082,
"narHash": "sha256-SjCdEjI6h3y5279VM6MV6Xhmtx9Rmms9MNZw9D/l4jY=", "narHash": "sha256-lx053lNJZy16NqeFe3Gqn/ePIiEVrU+TjBwLhMxxhmw=",
"owner": "gerg-L", "owner": "gerg-L",
"repo": "suckless", "repo": "suckless",
"rev": "3e7fb0d693fce7a1592abe692c315b213630222e", "rev": "99103d012b56965005aabb9619c73e5a802b4284",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -338,11 +339,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1687681650, "lastModified": 1688049487,
"narHash": "sha256-M2If+gRcfpmaJy/XbfSsRzLlPpoU4nr0NHnKKl50fd8=", "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1c9db9710cb23d60570ad4d7ab829c2d34403de3", "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -6,7 +6,7 @@
stable.url = "github:nixos/nixpkgs/nixos-23.05"; stable.url = "github:nixos/nixpkgs/nixos-23.05";
pipewire_fix.url = "github:nixos/nixpkgs/45a55711fe12d0aada3aa04746082cf1b83dfbf3"; pipewire_fix.url = "github:nixos/nixpkgs/45a55711fe12d0aada3aa04746082cf1b83dfbf3";
#nix 2.17 #nix 2.17
nix.url = "github:nixos/nix/03f9ff6ea59d21c6d7b29c64a03d5041bd621261"; nix.url = "github:nixos/nix/7b39a388b382e7912de3c5951faad42fe2d72f48";
nixos-generators = { nixos-generators = {
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";

View file

@ -3,7 +3,7 @@ _: {
config, config,
... ...
}: { }: {
localModules = { local = {
remoteBuild.enable = true; remoteBuild.enable = true;
DE.gnome.enable = true; DE.gnome.enable = true;
DM = { DM = {
@ -62,9 +62,9 @@ _: {
uid = 0; uid = 0;
home = "/root"; home = "/root";
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAuO/3IF+AjH8QjW4DAUV7mjlp2Mryd+1UnpAUofS2yA gerg@gerg-phone" config.local.keys.gerg_gerg-phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpYY2uw0OH1Re+3BkYFlxn0O/D8ryqByJB/ljefooNc gerg@gerg-windows" config.local.keys.gerg_gerg-windows
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJWbwkFJmRBgyWyWU+w3ksZ+KuFw9uXJN3PwqqE7Z/i8 gerg@gerg-desktop" config.local.keys.gerg_gerg-desktop
]; ];
passwordFile = config.sops.secrets.root.path; passwordFile = config.sops.secrets.root.path;
}; };

View file

@ -1,4 +1,4 @@
_:{ _: {
sops.secrets = { sops.secrets = {
"website/sql_gitea" = { "website/sql_gitea" = {
mode = "0444"; mode = "0444";
@ -63,11 +63,11 @@ _:{
gitea = { gitea = {
enable = true; enable = true;
appName = "Powered by NixOS"; appName = "Powered by NixOS";
domain = "git.gerg-l.com";
rootUrl = "https://git.gerg-l.com/";
httpPort = giteaPort;
settings = { settings = {
server = { server = {
DOMAIN = "git.gerg-l.com";
ROOT_URL = "https://git.gerg-l.com/";
HTTP_PORT = giteaPort;
LANDING_PAGE = "/explore/repos"; LANDING_PAGE = "/explore/repos";
}; };
ui = { ui = {
@ -84,7 +84,7 @@ _:{
}; };
nextcloud = { nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud26; package = pkgs.nextcloud27;
hostName = "next.gerg-l.com"; hostName = "next.gerg-l.com";
autoUpdateApps.enable = true; autoUpdateApps.enable = true;
enableBrokenCiphersForSSE = false; enableBrokenCiphersForSSE = false;

View file

@ -3,7 +3,7 @@
config, config,
... ...
}: { }: {
localModules = { local = {
remoteBuild.isBuilder = true; remoteBuild.isBuilder = true;
X11Programs = { X11Programs = {
sxhkd.enable = true; sxhkd.enable = true;
@ -62,6 +62,11 @@
}; };
}; };
services.udev.packages = [
pkgs.android-udev-rules
];
programs.adb.enable = true;
networking = { networking = {
useDHCP = false; useDHCP = false;
hostName = "gerg-desktop"; hostName = "gerg-desktop";
@ -100,10 +105,10 @@
useDefaultShell = true; useDefaultShell = true;
uid = 1000; uid = 1000;
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "audio"]; extraGroups = ["wheel" "audio" "adbusers"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAuO/3IF+AjH8QjW4DAUV7mjlp2Mryd+1UnpAUofS2yA gerg@gerg-phone" config.local.keys.gerg_gerg-phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpYY2uw0OH1Re+3BkYFlxn0O/D8ryqByJB/ljefooNc gerg@gerg-windows" config.local.keys.gerg_gerg-windows
]; ];
passwordFile = config.sops.secrets.gerg.path; passwordFile = config.sops.secrets.gerg.path;
}; };

View file

@ -1,5 +1,6 @@
discordenv: ENC[AES256_GCM,data:/A46urPOiqH2ejKmmzCIpR/g2hU6n/AUTNQPikAxvp1PikWgX8JX+NPrGSGgxpn82B70JlwGK9T+9Fe9gaFgswhMrUj19TQ1kERW8HWLJ1LptvJTOsX57rKihJZUwD0v7g/Xof75U68dKPzdSlH7z16r0iOVA6ET4/w=,iv:0HK+0eBMf3awgQrbwXAEsBniTsxqj+izmftoB/UEp64=,tag:EajyB09aJPnHpss3Jv5SaQ==,type:str] discordenv: ENC[AES256_GCM,data:/A46urPOiqH2ejKmmzCIpR/g2hU6n/AUTNQPikAxvp1PikWgX8JX+NPrGSGgxpn82B70JlwGK9T+9Fe9gaFgswhMrUj19TQ1kERW8HWLJ1LptvJTOsX57rKihJZUwD0v7g/Xof75U68dKPzdSlH7z16r0iOVA6ET4/w=,iv:0HK+0eBMf3awgQrbwXAEsBniTsxqj+izmftoB/UEp64=,tag:EajyB09aJPnHpss3Jv5SaQ==,type:str]
gerg: ENC[AES256_GCM,data:iSwWGIIxQenCPMd/Tith/eagjVINn0mgrO99IG85cP4UXtut6GF2R57XDMeD7SU18vW1ULod/lYuTo0SmmrkmX+wlDWgm4cODw==,iv:fHTcn4ZmjSqLC8jQkuualRbp+RwvgblS1ic6WPb2WEY=,tag:rkDuXhvleKekv3bVpdNNuw==,type:str] gerg: ENC[AES256_GCM,data:iSwWGIIxQenCPMd/Tith/eagjVINn0mgrO99IG85cP4UXtut6GF2R57XDMeD7SU18vW1ULod/lYuTo0SmmrkmX+wlDWgm4cODw==,iv:fHTcn4ZmjSqLC8jQkuualRbp+RwvgblS1ic6WPb2WEY=,tag:rkDuXhvleKekv3bVpdNNuw==,type:str]
store_key: ENC[AES256_GCM,data:/1wAHcMZl3loV2IR7mj1z51lwfKmaP24DgEjl2w8qwbrKHBIS09meLXrVTvsvQmFM4AvKig9ADs1aeYoVTTEa4QE9nKJ/LyRI5z8dHe7j7H5Y+UI+Syr0CUKN2I9UuqkOAyWrPM=,iv:5cLxhzNawFMTKn+MT5cHILTvggHmxteycL+2bxUPsoc=,tag:q8voriNRZUL4pYYfOvJT0A==,type:str]
website: website:
nextcloud: ENC[AES256_GCM,data:JoxSXYzBhXV+h4Ar,iv:jKlAwWfX58DpgGbGOqWBIwcnx8EdIxhFKOUzsDccr7w=,tag:L6UBHh1HU8Je+OczQCypXg==,type:str] nextcloud: ENC[AES256_GCM,data:JoxSXYzBhXV+h4Ar,iv:jKlAwWfX58DpgGbGOqWBIwcnx8EdIxhFKOUzsDccr7w=,tag:L6UBHh1HU8Je+OczQCypXg==,type:str]
sql_gitea: ENC[AES256_GCM,data:Usfd0QDm/4ntj7kzXXYa3O7H7/E=,iv:3xUD2KuQvJUQtai6C+qAnQ2RbkpN5VLK8BUJFiMpQkY=,tag:E6KNzFIZekgecJCBPlw4YA==,type:str] sql_gitea: ENC[AES256_GCM,data:Usfd0QDm/4ntj7kzXXYa3O7H7/E=,iv:3xUD2KuQvJUQtai6C+qAnQ2RbkpN5VLK8BUJFiMpQkY=,tag:E6KNzFIZekgecJCBPlw4YA==,type:str]
@ -21,8 +22,8 @@ sops:
dGhDRXRTWE9xSGtxQU80RVpuL1A5MkEKxAxC/wDkq+6hM8eXkWd/RBDNIUtGYnPy dGhDRXRTWE9xSGtxQU80RVpuL1A5MkEKxAxC/wDkq+6hM8eXkWd/RBDNIUtGYnPy
MvVxB6dkj+S11oRcMpdFqiM9jSzz/gYecB2tfuDgj+UX/VAzSkvPxA== MvVxB6dkj+S11oRcMpdFqiM9jSzz/gYecB2tfuDgj+UX/VAzSkvPxA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2023-05-19T00:33:35Z" lastmodified: "2023-07-02T03:02:17Z"
mac: ENC[AES256_GCM,data:YWGS3fxhEh6Xz/OohJkQdvGzfe9Do7IRN7MiuHo8URbidq6DLsuvN086QNlMQEnopR5BDJ2V+4inKS1xOM+G66e4Ta/uYH7VweamGSk/dGGqAnG5uylljIupSS9WDvI0tpv2PMWrbGV6oEps0SPC2HN7CvhI8EaSQdz3CvEYKgo=,iv:YDKgb90IvwEkfRFMwoy/Y1LREHe2Dzf3Dt97BT/wJuo=,tag:HSmmPdyhF5dr+5IvM+Xo6Q==,type:str] mac: ENC[AES256_GCM,data:iz4xGDiaMNvmNum2R7Bm5NmRBzUo8clhV60hLcHrIpjGwpbrRuWEnsQL6hvUu2O8zZDx7xH0MApig7dYvdNyPaloWiWob/DPT5AgWx++etr40z0Bbl3GHY+WQQdqU+E6l+x0LMQYGv3GQv4o166VsnFsCm5ParPeMmZa3+kaxBw=,iv:Q4JL2EtXRD3LKWx95q0Jo27UWHCHn2i6cM87Z/GhO28=,tag:rxwjRdK85znMzX6H/rx+9A==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.7.3 version: 3.7.3

View file

@ -7,6 +7,7 @@ _: {
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"L+ /etc/ssh/ssh_host_ed25519_key - - - - /persist/ssh/ssh_host_ed25519_key" "L+ /etc/ssh/ssh_host_ed25519_key - - - - /persist/ssh/ssh_host_ed25519_key"
"L+ /etc/ssh/ssh_host_ed25519_key.pub - - - - /persist/ssh/ssh_host_ed25519_key.pub" "L+ /etc/ssh/ssh_host_ed25519_key.pub - - - - /persist/ssh/ssh_host_ed25519_key.pub"
"L /etc/nixos/flake.nix - - - - /home/gerg/Projects/nixos/flake.nix"
]; ];
#create machine-id for spotify #create machine-id for spotify
environment.etc = { environment.etc = {

View file

@ -3,7 +3,7 @@ _: {
config, config,
... ...
}: { }: {
localModules = { local = {
remoteBuild.enable = true; remoteBuild.enable = true;
DM = { DM = {
lightdm.enable = true; lightdm.enable = true;
@ -49,9 +49,9 @@ _: {
uid = 0; uid = 0;
home = "/root"; home = "/root";
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAuO/3IF+AjH8QjW4DAUV7mjlp2Mryd+1UnpAUofS2yA gerg@gerg-phone" config.local.keys.gerg_gerg-phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpYY2uw0OH1Re+3BkYFlxn0O/D8ryqByJB/ljefooNc gerg@gerg-windows" config.local.keys.gerg_gerg-windows
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJWbwkFJmRBgyWyWU+w3ksZ+KuFw9uXJN3PwqqE7Z/i8 gerg@gerg-desktop" config.local.keys.gerg_gerg-desktop
]; ];
passwordFile = config.sops.secrets.root.path; passwordFile = config.sops.secrets.root.path;
}; };

View file

@ -8,9 +8,9 @@
lib, lib,
... ...
}: { }: {
options.localModules.DE.dwm.enable = lib.mkEnableOption ""; options.local.DE.dwm.enable = lib.mkEnableOption "";
config = lib.mkIf config.localModules.DE.dwm.enable { config = lib.mkIf config.local.DE.dwm.enable {
services.gvfs.enable = true; services.gvfs.enable = true;
services.xserver = { services.xserver = {
enable = true; enable = true;

View file

@ -4,9 +4,9 @@ _: {
pkgs, pkgs,
... ...
}: { }: {
options.localModules.DE.gnome.enable = lib.mkEnableOption ""; options.local.DE.gnome.enable = lib.mkEnableOption "";
config = lib.mkIf config.localModules.DE.gnome.enable { config = lib.mkIf config.local.DE.gnome.enable {
environment = { environment = {
systemPackages = [pkgs.gnome.gnome-calculator]; systemPackages = [pkgs.gnome.gnome-calculator];
gnome.excludePackages = builtins.attrValues { gnome.excludePackages = builtins.attrValues {

View file

@ -4,9 +4,9 @@ _: {
pkgs, pkgs,
... ...
}: { }: {
options.localModules.DE.xfce.enable = lib.mkEnableOption ""; options.local.DE.xfce.enable = lib.mkEnableOption "";
config = lib.mkIf config.localModules.DE.xfce.enable { config = lib.mkIf config.local.DE.xfce.enable {
environment.systemPackages = [pkgs.xfce.xfce4-whiskermenu-plugin]; environment.systemPackages = [pkgs.xfce.xfce4-whiskermenu-plugin];
services.xserver = { services.xserver = {
enable = true; enable = true;

View file

@ -3,7 +3,7 @@ _: {
lib, lib,
... ...
}: { }: {
options.localModules.DM = { options.local.DM = {
autoLogin = lib.mkEnableOption ""; autoLogin = lib.mkEnableOption "";
loginUser = lib.mkOption { loginUser = lib.mkOption {
type = lib.types.nullOr lib.types.str; type = lib.types.nullOr lib.types.str;
@ -11,11 +11,11 @@ _: {
}; };
}; };
config = lib.mkIf config.localModules.DM.autoLogin { config = lib.mkIf config.local.DM.autoLogin {
services.xserver.displayManager = { services.xserver.displayManager = {
autoLogin = { autoLogin = {
enable = true; enable = true;
user = config.localModules.DM.loginUser; user = config.local.DM.loginUser;
}; };
}; };
}; };

View file

@ -4,9 +4,9 @@
pkgs, pkgs,
... ...
}: { }: {
options.localModules.DM.lightdm.enable = lib.mkEnableOption ""; options.local.DM.lightdm.enable = lib.mkEnableOption "";
config = lib.mkIf config.localModules.DM.lightdm.enable { config = lib.mkIf config.local.DM.lightdm.enable {
services.xserver = { services.xserver = {
displayManager = { displayManager = {
lightdm = { lightdm = {
@ -15,7 +15,7 @@
extraConfig = "minimum-vt=1"; extraConfig = "minimum-vt=1";
greeters.mini = { greeters.mini = {
enable = true; enable = true;
user = config.localModules.DM.loginUser; user = config.local.DM.loginUser;
extraConfig = '' extraConfig = ''
[greeter] [greeter]
show-password-label = false show-password-label = false

View file

@ -4,9 +4,9 @@ _: {
lib, lib,
... ...
}: let }: let
cfg = config.localModules.X11Programs; cfg = config.local.X11Programs;
in { in {
options.localModules.X11Programs = { options.local.X11Programs = {
sxhkd.enable = lib.mkEnableOption ""; sxhkd.enable = lib.mkEnableOption "";
}; };
config = lib.mkMerge [ config = lib.mkMerge [

View file

@ -3,13 +3,13 @@ _: {
lib, lib,
... ...
}: { }: {
options.localModules.remoteBuild = { options.local.remoteBuild = {
enable = lib.mkEnableOption ""; enable = lib.mkEnableOption "";
isBuilder = lib.mkEnableOption ""; isBuilder = lib.mkEnableOption "";
}; };
config = lib.mkMerge [ config = lib.mkMerge [
( (
lib.mkIf config.localModules.remoteBuild.enable { lib.mkIf config.local.remoteBuild.enable {
nix = { nix = {
settings = { settings = {
keep-outputs = false; keep-outputs = false;
@ -18,7 +18,6 @@ _: {
max-jobs = 0; max-jobs = 0;
substituters = ["ssh-ng://nix-ssh@gerg-desktop" "https://cache.nixos.org/"]; substituters = ["ssh-ng://nix-ssh@gerg-desktop" "https://cache.nixos.org/"];
trusted-public-keys = ["gerg-desktop:6p1+h6jQnb1MOt3ra3PlQpfgEEF4zRrQWiEuAqcjBj8=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="]; trusted-public-keys = ["gerg-desktop:6p1+h6jQnb1MOt3ra3PlQpfgEEF4zRrQWiEuAqcjBj8=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="];
secret-key-files = "/persist/cache-keys/cache-priv-key.pem";
}; };
distributedBuilds = true; distributedBuilds = true;
buildMachines = [ buildMachines = [
@ -30,29 +29,24 @@ _: {
supportedFeatures = ["big-parallel" "nixos-test" "kvm" "benchmark"]; supportedFeatures = ["big-parallel" "nixos-test" "kvm" "benchmark"];
sshUser = "builder"; sshUser = "builder";
sshKey = "/etc/ssh/ssh_host_ed25519_key"; sshKey = "/etc/ssh/ssh_host_ed25519_key";
publicHostKey = "BQxvBOWsTw1gdNDR0KzrSRmbVhDrJdG05vYXkVmw8yA"; publicHostKey = config.local.keys.gerg-desktop_fingerprint;
} }
]; ];
}; };
programs.ssh.knownHosts = {
gerg-desktop = {
extraHostNames = ["gerg-desktop.lan"];
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIeHsGcmOdIMzV+SNe4WFcA3CPHCNb1aqxThkXtm7G/1";
};
};
} }
) )
( (
let let
keys = [ keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIq9YTf4jlVCKBKn44m4yJvj94C7pTOyaa4VjZFohNqD root@mom-laptop" config.local.keys.root_moms-laptop
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUKHZasYQUAmRBiqtx1drDxfq18/N4rKydCtPHx461I root@game-laptop" config.local.keys.root_game-laptop
]; ];
in in
lib.mkIf lib.mkIf
config.localModules.remoteBuild.isBuilder config.local.remoteBuild.isBuilder
{ {
sops.secrets.store_key = {};
users = { users = {
groups.builder = {}; groups.builder = {};
users.builder = { users.builder = {
@ -63,12 +57,22 @@ _: {
group = "builder"; group = "builder";
}; };
}; };
services.openssh.extraConfig = ''
Match User builder
AllowAgentForwarding no
AllowTcpForwarding no
PermitTTY no
PermitTunnel no
X11Forwarding no
Match All
'';
nix = { nix = {
settings = { settings = {
trusted-users = ["builder" "nix-ssh"]; trusted-users = ["builder" "nix-ssh"];
keep-outputs = true; keep-outputs = true;
keep-derivations = true; keep-derivations = true;
secret-key-files = config.sops.secrets.store_key.path;
}; };
sshServe = { sshServe = {
enable = true; enable = true;

View file

@ -5,11 +5,9 @@ _: {pkgs, ...}: {
DIRENV_LOG_FORMAT = ""; DIRENV_LOG_FORMAT = "";
DIRENV_CONFIG = "/etc/direnv"; DIRENV_CONFIG = "/etc/direnv";
}; };
#other direnv configuration goes here
etc."direnv/direnvrc".text = '' etc."direnv/direnvrc".text = ''
source ${pkgs.nix-direnv}/share/nix-direnv/direnvrc source ${pkgs.nix-direnv}/share/nix-direnv/direnvrc
if [ -e $HOME/.config/direnv/direnvrc ] ; then
source $HOME/.config/direnv/direnvrc
fi
''; '';
}; };
programs = { programs = {
@ -23,12 +21,14 @@ _: {pkgs, ...}: {
eval "$(direnv hook bash)" eval "$(direnv hook bash)"
fi fi
''; '';
# fish.enable = true; # doesn't work for some reason
# fish.interactiveShellInit = '' # fish.enable = true;
# if status --is-interactive; and not printenv PATH | grep -qc '/nix/store'; and [ -z "$IN_NIX_SHELL" ]; # fish.interactiveShellInit = ''
# direnv hook fish | source; # set -g direnv_fish_mode disable_arrow
# echo "loaded direnv"; # if status --is-interactive; and not printenv PATH | grep -qc '/nix/store'; and [ -z "$IN_NIX_SHELL" ];
# end # direnv hook fish | source;
# ''; # echo "loaded direnv";
# end
# '';
}; };
} }

View file

@ -4,12 +4,12 @@ _: {
lib, lib,
... ...
}: { }: {
options.localModules.git.disable = lib.mkOption { options.local.git.disable = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = false; default = false;
}; };
config = lib.mkIf (! config.localModules.git.disable) { config = lib.mkIf (! config.local.git.disable) {
programs.git = { programs.git = {
enable = true; enable = true;
package = pkgs.gitMinimal; package = pkgs.gitMinimal;

View file

@ -3,9 +3,9 @@ _: {
lib, lib,
... ...
}: let }: let
cfg = config.localModules.hardware; cfg = config.local.hardware;
in { in {
options.localModules.hardware = { options.local.hardware = {
gpuAcceleration = { gpuAcceleration = {
disable = lib.mkOption { disable = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;

18
modules/keys.nix Normal file
View file

@ -0,0 +1,18 @@
_: {lib, ...}: {
options = {
local.keys = lib.mkOption {
default = {};
};
};
config = {
local.keys = {
gerg_gerg-phone = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDU6BnoHIgMLgZVGuvi03J9l5Z1yP1P5Q8QPyjRHyi77 gerg@gerg-phone";
gerg_gerg-windows = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILpYY2uw0OH1Re+3BkYFlxn0O/D8ryqByJB/ljefooNc gerg@gerg-windows";
root_moms-laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIq9YTf4jlVCKBKn44m4yJvj94C7pTOyaa4VjZFohNqD root@moms-laptop";
root_game-laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUKHZasYQUAmRBiqtx1drDxfq18/N4rKydCtPHx461I root@game-laptop";
root_gerg-desktop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIeHsGcmOdIMzV+SNe4WFcA3CPHCNb1aqxThkXtm7G/1 root@gerg-desktop";
gerg-desktop_fingerprint = "BQxvBOWsTw1gdNDR0KzrSRmbVhDrJdG05vYXkVmw8yA";
gerg_gerg-desktop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJWbwkFJmRBgyWyWU+w3ksZ+KuFw9uXJN3PwqqE7Z/i8 gerg@gerg-desktop";
};
};
}

View file

@ -7,7 +7,6 @@ _: {
options = { options = {
dummyvalue = lib.mkOption { dummyvalue = lib.mkOption {
default = {}; default = {};
type = lib.configType;
}; };
nixpkgs.allowedUnfree = lib.mkOption { nixpkgs.allowedUnfree = lib.mkOption {
type = lib.types.listOf lib.types.string; type = lib.types.listOf lib.types.string;

View file

@ -4,8 +4,7 @@ in
lib.pipe alias [ lib.pipe alias [
(lib.filterAttrs (_: v: v._type == "flake")) (lib.filterAttrs (_: v: v._type == "flake"))
(lib.mapAttrsToList (n: input: { (lib.mapAttrsToList (n: input: {
environment.etc."nixpath/${n}".source = input.outPath; nix.nixPath = ["${n}=flake:${n}"];
nix.nixPath = ["${n}=/etc/nixpath/${n}"];
nix.registry.${n}.flake = input; nix.registry.${n}.flake = input;
})) }))
lib.mkMerge lib.mkMerge

View file

@ -66,17 +66,54 @@
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
histSize = 10000; histSize = 10000;
histFile = "$HOME/.cache/zsh_history"; histFile = "$HOME/.cache/zsh_history";
interactiveShellInit = ''
zle-line-init() {
emulate -L zsh
[[ $CONTEXT == start ]] || return 0
while true; do
zle .recursive-edit
local -i ret=$?
[[ $ret == 0 && $KEYS == $'\4' ]] || break
[[ -o ignore_eof ]] || exit 0
done
local saved_prompt=$PROMPT
local saved_rprompt=$RPROMPT
PROMPT='\$ '
RPROMPT='''
zle .reset-prompt
PROMPT=$saved_prompt
RPROMPT=$saved_rprompt
if (( ret )); then
zle .send-break
else
zle .accept-line
fi
return ret
}
zle -N zle-line-init
'';
}; };
#starship #starship
starship = { starship = {
enable = true; enable = true;
settings = { settings = {
add_newline = false; add_newline = false;
format = "$sudo$nix_shell\${custom.direnv}$cmd_duration\n$git_metrics$git_state$git_branch\n$directory$character"; format = "$cmd_duration$git_metrics$git_state$git_branch\n$status$directory$character";
right_format = "$sudo$nix_shell\${custom.direnv} $time";
continuation_prompt = " ";
character = { character = {
success_symbol = "[\\$](#9ece6a bold)"; success_symbol = "[\\$](#9ece6a bold)";
error_symbol = "[\\$](#db4b4b bold)"; error_symbol = "[\\$](#db4b4b bold)";
}; };
status = {
disabled = false;
format = "[$status]($style) ";
};
nix_shell = { nix_shell = {
format = "[󱄅 ](#74b2ff)"; format = "[󱄅 ](#74b2ff)";
heuristic = true; heuristic = true;
@ -104,6 +141,19 @@
style = "#36c692"; style = "#36c692";
when = "printenv DIRENV_FILE"; when = "printenv DIRENV_FILE";
}; };
time = {
format = "[$time]($style)\n";
time_format = "%I:%M %p";
disabled = false;
};
# username = {
# format = "[$user]($style)";
# show_always = true;
# };
# hostname = {
# ssh_only = false;
# format = "[$hostname]($style)";
# };
}; };
}; };
}; };

View file

@ -4,9 +4,9 @@ _: {
lib, lib,
... ...
}: let }: let
cfg = config.localModules.theming; cfg = config.local.theming;
in { in {
options.localModules.theming = { options.local.theming = {
enable = lib.mkEnableOption ""; enable = lib.mkEnableOption "";
kmscon.enable = lib.mkEnableOption ""; kmscon.enable = lib.mkEnableOption "";
}; };