disko flash script, new hosts, and other things
This commit is contained in:
@@ -50,7 +50,7 @@ in {
|
|||||||
settings = rec {
|
settings = rec {
|
||||||
initial_session = {
|
initial_session = {
|
||||||
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway";
|
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway";
|
||||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd ${pkgs.writeScriptBin "run-sway" ''
|
command = "${pkgs.writeScriptBin "run-sway" ''
|
||||||
export WLR_RENDERER_ALLOW_SOFTWARE=1
|
export WLR_RENDERER_ALLOW_SOFTWARE=1
|
||||||
export SDL_VIDEODRIVER=wayland
|
export SDL_VIDEODRIVER=wayland
|
||||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
@@ -506,14 +506,14 @@ in {
|
|||||||
bindsym $mod+m mode ChangeWorkroom
|
bindsym $mod+m mode ChangeWorkroom
|
||||||
|
|
||||||
############################# Fx stuff:
|
############################# Fx stuff:
|
||||||
blur disable
|
#blur disable
|
||||||
blur_passes 0
|
#blur_passes 0
|
||||||
blur_radius 1
|
#blur_radius 1
|
||||||
blur_noise 0
|
#blur_noise 0
|
||||||
blur_brightness 1
|
#blur_brightness 1
|
||||||
|
|
||||||
corner_radius 12
|
#corner_radius 12
|
||||||
default_dim_inactive 0.15
|
#default_dim_inactive 0.15
|
||||||
|
|
||||||
# Layout stuff:
|
# Layout stuff:
|
||||||
gaps inner 2
|
gaps inner 2
|
||||||
@@ -524,7 +524,7 @@ in {
|
|||||||
#smart_gaps on
|
#smart_gaps on
|
||||||
|
|
||||||
default_border pixel 2
|
default_border pixel 2
|
||||||
corner_radius 0
|
#corner_radius 0
|
||||||
# disable_titlebar yes
|
# disable_titlebar yes
|
||||||
floating_modifier $mod normal
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,9 @@
|
|||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
${builtins.readFile "${self}/misc/my-hosts"}
|
${builtins.readFile "${self}/misc/my-hosts"}
|
||||||
${builtins.readFile "${self}/misc/my-hosts-me"}
|
${builtins.readFile "${self}/misc/my-hosts-me"}
|
||||||
|
${builtins.readFile "${self}/misc/my-hosts-t"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
environment.etc.current_hosts.text = builtins.readFile "${self}/misc/my-hosts-me";
|
environment.etc.current_hosts.text = builtins.readFile "${self}/misc/my-hosts-me";
|
||||||
environment.etc.current_hosts.mode = "rw";
|
environment.etc.current_hosts.mode = "rw";
|
||||||
}
|
}
|
||||||
|
|||||||
254
flake.lock
generated
254
flake.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
"flake-utils": "flake-utils_5",
|
"flake-utils": "flake-utils_5",
|
||||||
"nixpkgs": "nixpkgs_8"
|
"nixpkgs": "nixpkgs_9"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638562808,
|
"lastModified": 1638562808,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell_2",
|
"devshell": "devshell_2",
|
||||||
"flake-utils": "flake-utils_12",
|
"flake-utils": "flake-utils_12",
|
||||||
"nixpkgs": "nixpkgs_15"
|
"nixpkgs": "nixpkgs_16"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638562808,
|
"lastModified": 1638562808,
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell_3",
|
"devshell": "devshell_3",
|
||||||
"flake-utils": "flake-utils_19",
|
"flake-utils": "flake-utils_19",
|
||||||
"nixpkgs": "nixpkgs_22"
|
"nixpkgs": "nixpkgs_23"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638562808,
|
"lastModified": 1638562808,
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell_4",
|
"devshell": "devshell_4",
|
||||||
"flake-utils": "flake-utils_26",
|
"flake-utils": "flake-utils_26",
|
||||||
"nixpkgs": "nixpkgs_30"
|
"nixpkgs": "nixpkgs_31"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638562808,
|
"lastModified": 1638562808,
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
"nix-wsl": "nix-wsl_2",
|
"nix-wsl": "nix-wsl_2",
|
||||||
"nixos-generators": "nixos-generators_2",
|
"nixos-generators": "nixos-generators_2",
|
||||||
"nixos-hardware": "nixos-hardware_2",
|
"nixos-hardware": "nixos-hardware_2",
|
||||||
"nixpkgs": "nixpkgs_13",
|
"nixpkgs": "nixpkgs_14",
|
||||||
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_4",
|
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_4",
|
||||||
"nixpkgs-old": "nixpkgs-old_2",
|
"nixpkgs-old": "nixpkgs-old_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
"nix-wsl": "nix-wsl_3",
|
"nix-wsl": "nix-wsl_3",
|
||||||
"nixos-generators": "nixos-generators_3",
|
"nixos-generators": "nixos-generators_3",
|
||||||
"nixos-hardware": "nixos-hardware_3",
|
"nixos-hardware": "nixos-hardware_3",
|
||||||
"nixpkgs": "nixpkgs_20",
|
"nixpkgs": "nixpkgs_21",
|
||||||
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_6",
|
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_6",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable_3",
|
"nixpkgs-unstable": "nixpkgs-unstable_3",
|
||||||
"nur": "nur_3",
|
"nur": "nur_3",
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
"nix-wsl": "nix-wsl_4",
|
"nix-wsl": "nix-wsl_4",
|
||||||
"nixos-generators": "nixos-generators_4",
|
"nixos-generators": "nixos-generators_4",
|
||||||
"nixos-hardware": "nixos-hardware_4",
|
"nixos-hardware": "nixos-hardware_4",
|
||||||
"nixpkgs": "nixpkgs_28",
|
"nixpkgs": "nixpkgs_29",
|
||||||
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_8",
|
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_8",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable_4",
|
"nixpkgs-unstable": "nixpkgs-unstable_4",
|
||||||
"podman": "podman_4",
|
"podman": "podman_4",
|
||||||
@@ -343,6 +343,25 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"disko": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746728054,
|
||||||
|
"narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"rev": "ff442f5d1425feb86344c028298548024f21256d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "latest",
|
||||||
|
"repo": "disko",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"doom-emacs": {
|
"doom-emacs": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -977,7 +996,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"lib-aggregate": "lib-aggregate",
|
"lib-aggregate": "lib-aggregate",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752151250,
|
"lastModified": 1752151250,
|
||||||
@@ -1102,7 +1121,7 @@
|
|||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_4",
|
||||||
"lib-aggregate": "lib-aggregate_2",
|
"lib-aggregate": "lib-aggregate_2",
|
||||||
"mozilla": "mozilla",
|
"mozilla": "mozilla",
|
||||||
"nixpkgs": "nixpkgs_10"
|
"nixpkgs": "nixpkgs_11"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729272011,
|
"lastModified": 1729272011,
|
||||||
@@ -1124,7 +1143,7 @@
|
|||||||
"flake-compat": "flake-compat_7",
|
"flake-compat": "flake-compat_7",
|
||||||
"lib-aggregate": "lib-aggregate_3",
|
"lib-aggregate": "lib-aggregate_3",
|
||||||
"mozilla": "mozilla_2",
|
"mozilla": "mozilla_2",
|
||||||
"nixpkgs": "nixpkgs_17"
|
"nixpkgs": "nixpkgs_18"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714587578,
|
"lastModified": 1714587578,
|
||||||
@@ -1146,7 +1165,7 @@
|
|||||||
"flake-compat": "flake-compat_10",
|
"flake-compat": "flake-compat_10",
|
||||||
"lib-aggregate": "lib-aggregate_4",
|
"lib-aggregate": "lib-aggregate_4",
|
||||||
"mozilla": "mozilla_3",
|
"mozilla": "mozilla_3",
|
||||||
"nixpkgs": "nixpkgs_24"
|
"nixpkgs": "nixpkgs_25"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714047754,
|
"lastModified": 1714047754,
|
||||||
@@ -2122,7 +2141,7 @@
|
|||||||
},
|
},
|
||||||
"lan-mouse": {
|
"lan-mouse": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -2296,7 +2315,7 @@
|
|||||||
},
|
},
|
||||||
"my-log": {
|
"my-log": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_25"
|
"nixpkgs": "nixpkgs_26"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712193044,
|
"lastModified": 1712193044,
|
||||||
@@ -2384,7 +2403,7 @@
|
|||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"format-all": "format-all",
|
"format-all": "format-all",
|
||||||
"nix-straight": "nix-straight",
|
"nix-straight": "nix-straight",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nose": "nose",
|
"nose": "nose",
|
||||||
"ob-racket": "ob-racket",
|
"ob-racket": "ob-racket",
|
||||||
"org": "org",
|
"org": "org",
|
||||||
@@ -2426,7 +2445,7 @@
|
|||||||
"flake-utils": "flake-utils_9",
|
"flake-utils": "flake-utils_9",
|
||||||
"format-all": "format-all_2",
|
"format-all": "format-all_2",
|
||||||
"nix-straight": "nix-straight_2",
|
"nix-straight": "nix-straight_2",
|
||||||
"nixpkgs": "nixpkgs_11",
|
"nixpkgs": "nixpkgs_12",
|
||||||
"nose": "nose_2",
|
"nose": "nose_2",
|
||||||
"ob-racket": "ob-racket_2",
|
"ob-racket": "ob-racket_2",
|
||||||
"org": "org_2",
|
"org": "org_2",
|
||||||
@@ -2468,7 +2487,7 @@
|
|||||||
"flake-utils": "flake-utils_16",
|
"flake-utils": "flake-utils_16",
|
||||||
"format-all": "format-all_3",
|
"format-all": "format-all_3",
|
||||||
"nix-straight": "nix-straight_3",
|
"nix-straight": "nix-straight_3",
|
||||||
"nixpkgs": "nixpkgs_18",
|
"nixpkgs": "nixpkgs_19",
|
||||||
"nose": "nose_3",
|
"nose": "nose_3",
|
||||||
"ob-racket": "ob-racket_3",
|
"ob-racket": "ob-racket_3",
|
||||||
"org": "org_3",
|
"org": "org_3",
|
||||||
@@ -2510,7 +2529,7 @@
|
|||||||
"flake-utils": "flake-utils_23",
|
"flake-utils": "flake-utils_23",
|
||||||
"format-all": "format-all_4",
|
"format-all": "format-all_4",
|
||||||
"nix-straight": "nix-straight_4",
|
"nix-straight": "nix-straight_4",
|
||||||
"nixpkgs": "nixpkgs_26",
|
"nixpkgs": "nixpkgs_27",
|
||||||
"nose": "nose_4",
|
"nose": "nose_4",
|
||||||
"ob-racket": "ob-racket_4",
|
"ob-racket": "ob-racket_4",
|
||||||
"org": "org_4",
|
"org": "org_4",
|
||||||
@@ -2977,7 +2996,7 @@
|
|||||||
"nix-wsl": {
|
"nix-wsl": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_3",
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752138162,
|
"lastModified": 1752138162,
|
||||||
@@ -2997,7 +3016,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_6",
|
"flake-compat": "flake-compat_6",
|
||||||
"flake-utils": "flake-utils_10",
|
"flake-utils": "flake-utils_10",
|
||||||
"nixpkgs": "nixpkgs_12"
|
"nixpkgs": "nixpkgs_13"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729203674,
|
"lastModified": 1729203674,
|
||||||
@@ -3017,7 +3036,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_9",
|
"flake-compat": "flake-compat_9",
|
||||||
"flake-utils": "flake-utils_17",
|
"flake-utils": "flake-utils_17",
|
||||||
"nixpkgs": "nixpkgs_19"
|
"nixpkgs": "nixpkgs_20"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714355896,
|
"lastModified": 1714355896,
|
||||||
@@ -3037,7 +3056,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_12",
|
"flake-compat": "flake-compat_12",
|
||||||
"flake-utils": "flake-utils_24",
|
"flake-utils": "flake-utils_24",
|
||||||
"nixpkgs": "nixpkgs_27"
|
"nixpkgs": "nixpkgs_28"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713947658,
|
"lastModified": 1713947658,
|
||||||
@@ -3271,16 +3290,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752124863,
|
"lastModified": 1757034884,
|
||||||
"narHash": "sha256-5rWuf6RAlMDp/CAEuyYEz7ryxzgjxOCgUDhWEef864c=",
|
"narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "40de82b434526744da778ed53c742c1282d9e75e",
|
"rev": "ca77296380960cd497a765102eeb1356eb80fed0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable-small",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -3658,6 +3677,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_10": {
|
"nixpkgs_10": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1638371214,
|
||||||
|
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a640d8394f34714578f3e6335fc767d0755d78f9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-21.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_11": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728888510,
|
"lastModified": 1728888510,
|
||||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||||
@@ -3673,7 +3708,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_11": {
|
"nixpkgs_12": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695806987,
|
"lastModified": 1695806987,
|
||||||
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
||||||
@@ -3688,7 +3723,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_12": {
|
"nixpkgs_13": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728740863,
|
"lastModified": 1728740863,
|
||||||
"narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=",
|
"narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=",
|
||||||
@@ -3704,7 +3739,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_13": {
|
"nixpkgs_14": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741892592,
|
"lastModified": 1741892592,
|
||||||
"narHash": "sha256-ai0XSujeUYInQtp1u6TQfrTx9Vtv9bAOkK63lWcttzk=",
|
"narHash": "sha256-ai0XSujeUYInQtp1u6TQfrTx9Vtv9bAOkK63lWcttzk=",
|
||||||
@@ -3720,7 +3755,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_14": {
|
"nixpkgs_15": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1613434981,
|
"lastModified": 1613434981,
|
||||||
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
||||||
@@ -3734,7 +3769,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_15": {
|
"nixpkgs_16": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1637841632,
|
"lastModified": 1637841632,
|
||||||
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
||||||
@@ -3750,7 +3785,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_16": {
|
"nixpkgs_17": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638371214,
|
"lastModified": 1638371214,
|
||||||
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
||||||
@@ -3766,7 +3801,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_17": {
|
"nixpkgs_18": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714253743,
|
"lastModified": 1714253743,
|
||||||
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
|
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
|
||||||
@@ -3782,7 +3817,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_18": {
|
"nixpkgs_19": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695806987,
|
"lastModified": 1695806987,
|
||||||
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
||||||
@@ -3797,7 +3832,23 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_19": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752124863,
|
||||||
|
"narHash": "sha256-5rWuf6RAlMDp/CAEuyYEz7ryxzgjxOCgUDhWEef864c=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "40de82b434526744da778ed53c742c1282d9e75e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable-small",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_20": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714272655,
|
"lastModified": 1714272655,
|
||||||
"narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=",
|
"narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=",
|
||||||
@@ -3813,23 +3864,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_21": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1740560979,
|
|
||||||
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "5135c59491985879812717f4c9fea69604e7f26f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_20": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714564312,
|
"lastModified": 1714564312,
|
||||||
"narHash": "sha256-+Pu+QmY5u33E+PMulmvLiyAgZDi2bgbV5LEtiVXa0c4=",
|
"narHash": "sha256-+Pu+QmY5u33E+PMulmvLiyAgZDi2bgbV5LEtiVXa0c4=",
|
||||||
@@ -3845,7 +3880,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_21": {
|
"nixpkgs_22": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1613434981,
|
"lastModified": 1613434981,
|
||||||
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
||||||
@@ -3859,7 +3894,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_22": {
|
"nixpkgs_23": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1637841632,
|
"lastModified": 1637841632,
|
||||||
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
||||||
@@ -3875,7 +3910,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_23": {
|
"nixpkgs_24": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638371214,
|
"lastModified": 1638371214,
|
||||||
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
||||||
@@ -3891,7 +3926,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_24": {
|
"nixpkgs_25": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713895582,
|
"lastModified": 1713895582,
|
||||||
"narHash": "sha256-cfh1hi+6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U=",
|
"narHash": "sha256-cfh1hi+6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U=",
|
||||||
@@ -3907,7 +3942,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_25": {
|
"nixpkgs_26": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702830618,
|
"lastModified": 1702830618,
|
||||||
"narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=",
|
"narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=",
|
||||||
@@ -3923,7 +3958,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_26": {
|
"nixpkgs_27": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695806987,
|
"lastModified": 1695806987,
|
||||||
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
||||||
@@ -3938,7 +3973,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_27": {
|
"nixpkgs_28": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713013257,
|
"lastModified": 1713013257,
|
||||||
"narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=",
|
"narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=",
|
||||||
@@ -3954,7 +3989,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_28": {
|
"nixpkgs_29": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714082080,
|
"lastModified": 1714082080,
|
||||||
"narHash": "sha256-ntuxg7lSDr6HNZ9/3fVf6qFy/FNGvEAHYM0lXgyrW5w=",
|
"narHash": "sha256-ntuxg7lSDr6HNZ9/3fVf6qFy/FNGvEAHYM0lXgyrW5w=",
|
||||||
@@ -3970,7 +4005,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_29": {
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740560979,
|
||||||
|
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "5135c59491985879812717f4c9fea69604e7f26f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_30": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1613434981,
|
"lastModified": 1613434981,
|
||||||
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
||||||
@@ -3984,22 +4035,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_31": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1695806987,
|
|
||||||
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_30": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1637841632,
|
"lastModified": 1637841632,
|
||||||
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
||||||
@@ -4015,7 +4051,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_31": {
|
"nixpkgs_32": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638371214,
|
"lastModified": 1638371214,
|
||||||
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
||||||
@@ -4032,6 +4068,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695806987,
|
||||||
|
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751792365,
|
"lastModified": 1751792365,
|
||||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||||
@@ -4047,7 +4098,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752162966,
|
"lastModified": 1752162966,
|
||||||
"narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=",
|
"narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=",
|
||||||
@@ -4063,7 +4114,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751984180,
|
"lastModified": 1751984180,
|
||||||
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
|
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
|
||||||
@@ -4079,7 +4130,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1613434981,
|
"lastModified": 1613434981,
|
||||||
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
"narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=",
|
||||||
@@ -4093,7 +4144,7 @@
|
|||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_9": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1637841632,
|
"lastModified": 1637841632,
|
||||||
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
"narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=",
|
||||||
@@ -4109,22 +4160,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1638371214,
|
|
||||||
"narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a640d8394f34714578f3e6335fc767d0755d78f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-21.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nmd": {
|
"nmd": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -4384,7 +4419,7 @@
|
|||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752169447,
|
"lastModified": 1752169447,
|
||||||
@@ -4753,7 +4788,7 @@
|
|||||||
"podman": {
|
"podman": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1661906180,
|
"lastModified": 1661906180,
|
||||||
@@ -4772,7 +4807,7 @@
|
|||||||
"podman_2": {
|
"podman_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_11",
|
"flake-utils": "flake-utils_11",
|
||||||
"nixpkgs": "nixpkgs_14"
|
"nixpkgs": "nixpkgs_15"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1661906180,
|
"lastModified": 1661906180,
|
||||||
@@ -4791,7 +4826,7 @@
|
|||||||
"podman_3": {
|
"podman_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_18",
|
"flake-utils": "flake-utils_18",
|
||||||
"nixpkgs": "nixpkgs_21"
|
"nixpkgs": "nixpkgs_22"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1661906180,
|
"lastModified": 1661906180,
|
||||||
@@ -4810,7 +4845,7 @@
|
|||||||
"podman_4": {
|
"podman_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_25",
|
"flake-utils": "flake-utils_25",
|
||||||
"nixpkgs": "nixpkgs_29"
|
"nixpkgs": "nixpkgs_30"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1661906180,
|
"lastModified": 1661906180,
|
||||||
@@ -4940,7 +4975,7 @@
|
|||||||
"robotnix": {
|
"robotnix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"androidPkgs": "androidPkgs",
|
"androidPkgs": "androidPkgs",
|
||||||
"nixpkgs": "nixpkgs_9",
|
"nixpkgs": "nixpkgs_10",
|
||||||
"nixpkgsUnstable": "nixpkgsUnstable"
|
"nixpkgsUnstable": "nixpkgsUnstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -4960,7 +4995,7 @@
|
|||||||
"robotnix_2": {
|
"robotnix_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"androidPkgs": "androidPkgs_2",
|
"androidPkgs": "androidPkgs_2",
|
||||||
"nixpkgs": "nixpkgs_16",
|
"nixpkgs": "nixpkgs_17",
|
||||||
"nixpkgsUnstable": "nixpkgsUnstable_2"
|
"nixpkgsUnstable": "nixpkgsUnstable_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -4980,7 +5015,7 @@
|
|||||||
"robotnix_3": {
|
"robotnix_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"androidPkgs": "androidPkgs_3",
|
"androidPkgs": "androidPkgs_3",
|
||||||
"nixpkgs": "nixpkgs_23",
|
"nixpkgs": "nixpkgs_24",
|
||||||
"nixpkgsUnstable": "nixpkgsUnstable_3"
|
"nixpkgsUnstable": "nixpkgsUnstable_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -5000,7 +5035,7 @@
|
|||||||
"robotnix_4": {
|
"robotnix_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"androidPkgs": "androidPkgs_4",
|
"androidPkgs": "androidPkgs_4",
|
||||||
"nixpkgs": "nixpkgs_31",
|
"nixpkgs": "nixpkgs_32",
|
||||||
"nixpkgsUnstable": "nixpkgsUnstable_4"
|
"nixpkgsUnstable": "nixpkgsUnstable_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -5019,6 +5054,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"disko": "disko",
|
||||||
"firefox": "firefox",
|
"firefox": "firefox",
|
||||||
"firefox-addons": "firefox-addons",
|
"firefox-addons": "firefox-addons",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
@@ -5032,7 +5068,7 @@
|
|||||||
"nix-wsl": "nix-wsl",
|
"nix-wsl": "nix-wsl",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_2",
|
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_2",
|
||||||
"nixpkgs-old": "nixpkgs-old",
|
"nixpkgs-old": "nixpkgs-old",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
|||||||
147
flake.nix
147
flake.nix
@@ -46,6 +46,11 @@
|
|||||||
|
|
||||||
lan-mouse.url = "github:feschber/lan-mouse";
|
lan-mouse.url = "github:feschber/lan-mouse";
|
||||||
|
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko/latest";
|
||||||
|
#inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
robotnix = {
|
robotnix = {
|
||||||
#url = "github:nix-community/robotnix";
|
#url = "github:nix-community/robotnix";
|
||||||
url = "github:c2vi/robotnix";
|
url = "github:c2vi/robotnix";
|
||||||
@@ -235,6 +240,109 @@
|
|||||||
|
|
||||||
############ apps ################
|
############ apps ################
|
||||||
apps = {
|
apps = {
|
||||||
|
flash = let
|
||||||
|
|
||||||
|
# echo the disks which will be flashed...
|
||||||
|
diskListing = hostname: let
|
||||||
|
list = mypkgs.lib.attrsets.mapAttrsToList (name: value: "echo flashing disk ${name} onto device ${value.device}") self.nixosConfigurations.${hostname}.config.disko.devices.disk;
|
||||||
|
string = mypkgs.lib.strings.concatStringsSep "\n" list;
|
||||||
|
in string;
|
||||||
|
|
||||||
|
diskDefinitionsList = hostname: let
|
||||||
|
list = mypkgs.lib.attrsets.mapAttrsToList (name: value: "diskDefinitions[${name}]=${value.device}") self.nixosConfigurations.${hostname}.config.disko.devices.disk;
|
||||||
|
string = mypkgs.lib.strings.concatStringsSep "\n" list;
|
||||||
|
in string;
|
||||||
|
|
||||||
|
createFlashScript = hostname: {
|
||||||
|
type = "app";
|
||||||
|
program = "${mypkgs.writeShellScriptBin "flash-te" ''
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
echo flashing for host ${hostname}
|
||||||
|
${diskListing hostname}
|
||||||
|
|
||||||
|
declare -A diskDefinitions
|
||||||
|
${diskDefinitionsList hostname}
|
||||||
|
|
||||||
|
|
||||||
|
# default value if no --mode provided
|
||||||
|
MODE="default"
|
||||||
|
ARGS=()
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
--) # end of options; take remaining args as-is
|
||||||
|
shift
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
ARGS+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
--mode=*) # --mode=VALUE
|
||||||
|
MODE="''${1#*=}"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--mode) # --mode VALUE
|
||||||
|
if [[ $# -lt 2 ]]; then
|
||||||
|
echo "Error: --mode requires a value" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
MODE="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--do-flash)
|
||||||
|
DO_FLASH=yes
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
--disk) # --mode VALUE
|
||||||
|
if [[ $# -lt 3 ]]; then
|
||||||
|
echo "Error: --disk requires two values" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
diskname="$2"
|
||||||
|
diskval="$3"
|
||||||
|
diskDefinitions["$diskname"]="$diskval"
|
||||||
|
shift 3
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ARGS+=("$1") # all other args preserved
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# generate arg string from diskDefinitions
|
||||||
|
diskDefinitionString=""
|
||||||
|
for i in "''${!diskDefinitions[@]}"
|
||||||
|
do
|
||||||
|
diskDefinitionString="$diskDefinitionString --disk $i ''${diskDefinitions[$i]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
echo would run: sudo -E ${inputs.disko.packages.x86_64-linux.disko-install}/bin/disko-install --mode $MODE --flake ${self}#${hostname} $diskDefinitionString ''${ARGS[@]}
|
||||||
|
|
||||||
|
|
||||||
|
if [[ $DO_FLASH != "yes" ]]
|
||||||
|
then
|
||||||
|
echo type yes to continue...
|
||||||
|
read acc
|
||||||
|
if [[ "$acc" != "yes" ]]
|
||||||
|
then
|
||||||
|
echo aborting...
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo flashing...
|
||||||
|
sudo -E ${inputs.disko.packages.x86_64-linux.disko-install}/bin/disko-install --mode $MODE --flake ${self}#${hostname} $diskDefinitionString ''${ARGS[@]}
|
||||||
|
''}/bin/flash-te";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
te = createFlashScript "te";
|
||||||
|
ki = createFlashScript "ki";
|
||||||
|
};
|
||||||
test = inputs.nix-on-droid.outputs.apps.x86_64-linux.deploy;
|
test = inputs.nix-on-droid.outputs.apps.x86_64-linux.deploy;
|
||||||
|
|
||||||
wsl = {
|
wsl = {
|
||||||
@@ -365,11 +473,46 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
"fes" = nixpkgs.lib.nixosSystem {
|
#fesu my second server to fusu
|
||||||
|
"fe" = nixpkgs.lib.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/fes.nix
|
./hosts/fe.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# lesh... seccond raspi
|
||||||
|
"le" = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
system = "aarch64-linux";
|
||||||
|
modules = [
|
||||||
|
./hosts/le.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"te" = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./hosts/te.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"ki" = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./hosts/ki.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# my asus tinker board
|
||||||
|
"ti" = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit specialArgs;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./hosts/ti.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-label/FES-BOOT";
|
device = "/dev/disk/by-label/FES-BOOT";
|
||||||
fsType = "fat32";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
address = "192.168.1.1";
|
address = "192.168.1.1";
|
||||||
interface = "br0";
|
interface = "br0";
|
||||||
};
|
};
|
||||||
hostName = "fes";
|
hostName = "fe";
|
||||||
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
324
hosts/ki.nix
Normal file
324
hosts/ki.nix
Normal file
@@ -0,0 +1,324 @@
|
|||||||
|
{ lib, secretsDir, pkgs, inputs, unstable, ... }: let
|
||||||
|
|
||||||
|
myobs = pkgs.wrapOBS {
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
obs-ndi
|
||||||
|
obs-teleport
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../common/all.nix
|
||||||
|
../common/nixos.nix
|
||||||
|
../common/building.nix
|
||||||
|
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.networkmanager.nixosModules.networkmanager
|
||||||
|
inputs.disko.nixosModules.disko
|
||||||
|
../users/me/gui.nix
|
||||||
|
../users/root/default.nix
|
||||||
|
../common/nixos-wayland.nix
|
||||||
|
];
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = "mac";
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns = true;
|
||||||
|
publish = {
|
||||||
|
enable = true;
|
||||||
|
addresses = true;
|
||||||
|
domain = true;
|
||||||
|
hinfo = true;
|
||||||
|
userServices = true;
|
||||||
|
workstation = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
8888 # for general usage
|
||||||
|
9999 # for general usage
|
||||||
|
6000 # Xserver
|
||||||
|
6666 # vnc sway
|
||||||
|
5900 # vnc for win VM
|
||||||
|
5901 # vnc
|
||||||
|
5902 # vnc
|
||||||
|
4400 # rdp win VM
|
||||||
|
4401 # ssh for mandroid
|
||||||
|
4402 # random
|
||||||
|
4403 # random
|
||||||
|
4404 # random
|
||||||
|
4405 # clipboard sync
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
48899 # GoodWe inverter discovery
|
||||||
|
4410 # lan-mouse
|
||||||
|
];
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/swapfile"; } ];
|
||||||
|
|
||||||
|
boot.kernelModules = [ "usbip_core" ];
|
||||||
|
boot.extraModprobeConfig = "options kvm_intel nested=1";
|
||||||
|
|
||||||
|
# to build rpi images
|
||||||
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemuOvmf = true;
|
||||||
|
qemuSwtpm = true;
|
||||||
|
#qemuOvmfPackage = pkgs.OVMFFull;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
linuxPackages.usbip
|
||||||
|
helvum
|
||||||
|
passt
|
||||||
|
mount
|
||||||
|
pkgs.hicolor-icon-theme
|
||||||
|
efibootmgr
|
||||||
|
tcpdump
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
# require public key authentication for better security
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
settings.KbdInteractiveAuthentication = false;
|
||||||
|
settings.PermitRootLogin = "no";
|
||||||
|
|
||||||
|
settings.X11Forwarding = true;
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
X11UseLocalhost no
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
services.greetd = lib.mkForce {
|
||||||
|
enable = true;
|
||||||
|
settings = rec {
|
||||||
|
terminal.vt = 1;
|
||||||
|
initial_session = let
|
||||||
|
|
||||||
|
newerUnstableSrc = builtins.getFlake "nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1";
|
||||||
|
newerUnstable = import newerUnstableSrc.outPath {};
|
||||||
|
|
||||||
|
mySway = newerUnstable.sway.override {
|
||||||
|
sway-unwrapped = (newerUnstable.sway-unwrapped.overrideAttrs (prev: {
|
||||||
|
/*
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "WillPower3309";
|
||||||
|
repo = "swayfx";
|
||||||
|
rev = "";
|
||||||
|
hash = "";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "swaywm";
|
||||||
|
repo = "sway";
|
||||||
|
rev = "73c244fb4807a29c6599d42c15e8a8759225b2d6";
|
||||||
|
hash = "sha256-P2w1oRVUNBWajt8jZOxPXvBE29urbrhtORy+lfYqnF8=";
|
||||||
|
};
|
||||||
|
})).override {
|
||||||
|
wlroots = newerUnstable.wlroots.overrideAttrs (prev: {
|
||||||
|
version = "master";
|
||||||
|
src = pkgs.fetchFromGitLab {
|
||||||
|
domain = "gitlab.freedesktop.org";
|
||||||
|
owner = "wlroots";
|
||||||
|
repo = "wlroots";
|
||||||
|
rev = "master";
|
||||||
|
sha256 = "sha256-2FK6FGRpgf/YYqwJST0LVA/pnNRSUDrfrrp6mSwA0Fk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway";
|
||||||
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd ${pkgs.writeScriptBin "run-sway" ''
|
||||||
|
export WLR_RENDERER_ALLOW_SOFTWARE=1
|
||||||
|
export SDL_VIDEODRIVER=wayland
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
export QT_QPA_PLATFORM=wayland
|
||||||
|
export XDG_CURRENT_DESKTOP=sway
|
||||||
|
export XDG_SESSION_DESKTOP=sway
|
||||||
|
exec ${pkgs.lib.getExe mySway}
|
||||||
|
''}/bin/run-sway";
|
||||||
|
user = "me";
|
||||||
|
};
|
||||||
|
default_session = initial_session;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
systemd.extraConfig = "DefaultLimitNOFILE=2048";
|
||||||
|
|
||||||
|
###################################################### the kiosk stuff
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
|
||||||
|
fonts.enableDefaultPackages = true;
|
||||||
|
xdg.icons.enable = true;
|
||||||
|
gtk.iconCache.enable = true;
|
||||||
|
|
||||||
|
services.udisks2.enable = false;
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
systemd.defaultUnit = "graphical.target";
|
||||||
|
|
||||||
|
|
||||||
|
############################# networkmanager
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
networking.networkmanager.profiles = {
|
||||||
|
pw = {
|
||||||
|
connection = {
|
||||||
|
id = "pw";
|
||||||
|
uuid = "e0103dac-7da0-4e32-a01b-487b8c4c813c";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlp2s0";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi = {
|
||||||
|
hidden = "true";
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = builtins.readFile "${secretsDir}/wifi-ssid";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
#address1 = "192.168.20.11/24";
|
||||||
|
dns = "1.1.1.1;8.8.8.8;";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hot = {
|
||||||
|
connection = {
|
||||||
|
id = "hot";
|
||||||
|
uuid = "ab51de8a-9742-465a-928b-be54a83ab6a3";
|
||||||
|
type = "wifi";
|
||||||
|
autoconnect = false;
|
||||||
|
interface-name = "wlp3s0";
|
||||||
|
};
|
||||||
|
wifi = {
|
||||||
|
mode = "ap";
|
||||||
|
ssid = "c2vi-mac";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
method = "shared";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
share = {
|
||||||
|
connection = {
|
||||||
|
id = "share";
|
||||||
|
uuid = "f55f34e3-4595-4642-b1f6-df3185bc0a04";
|
||||||
|
type = "ethernet";
|
||||||
|
autoconnect = false;
|
||||||
|
interface-name = "enp2s0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "C8:2A:14:0B:7F:3D";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.4.1/24";
|
||||||
|
method = "shared";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv6 = {
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dhcp = {
|
||||||
|
connection = {
|
||||||
|
id = "dhcp";
|
||||||
|
uuid = "c006389a-1697-4f77-91c3-95b466f85f13";
|
||||||
|
type = "ethernet";
|
||||||
|
autoconnect = true;
|
||||||
|
interface-name = "enp2s0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "C8:2A:14:0B:7F:3D";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
method = "auto";
|
||||||
|
address1 = "192.168.1.33/24,192.168.1.1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
############### disk config
|
||||||
|
boot.plymouth.enable = false;
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.efiSupport = true;
|
||||||
|
boot.loader.grub.efiInstallAsRemovable = true;
|
||||||
|
boot.loader.grub.devices = [ "nodev" ];
|
||||||
|
boot.loader.grub.extraConfig = ''
|
||||||
|
set timeout=2
|
||||||
|
'';
|
||||||
|
|
||||||
|
# the flash drive in use for te
|
||||||
|
#disko.devices.disk.root.device = "/dev/disk/by-id/usb-Generic_Flash_Disk_FF830E8F-0:0";
|
||||||
|
disko.devices.disk.root.device = "/dev/disk/by-id/ata-SSD_HB202408140276168";
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
root = {
|
||||||
|
type = "disk";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
|
||||||
|
ESP = {
|
||||||
|
size = "1G";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [ "umask=0077" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
root = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
324
hosts/le.nix
Normal file
324
hosts/le.nix
Normal file
@@ -0,0 +1,324 @@
|
|||||||
|
{ lib, pkgs, inputs, secretsDir, config, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
#system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
|
||||||
|
#inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
|
inputs.networkmanager.nixosModules.networkmanager
|
||||||
|
|
||||||
|
../common/all.nix
|
||||||
|
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
../users/me/headless.nix
|
||||||
|
|
||||||
|
##### project modules #####
|
||||||
|
|
||||||
|
# the module for the zwave setup
|
||||||
|
#"${workDir}/htl/labor/hackl/zwave.nix"
|
||||||
|
|
||||||
|
# labor nas project
|
||||||
|
# with this moduel it does not boot, it waits for /dev/disk/by-label/nas-storage
|
||||||
|
# "${workDir}/htl/labor/nas/nixos/lush-module.nix"
|
||||||
|
];
|
||||||
|
|
||||||
|
# fix bluetooth
|
||||||
|
hardware = {
|
||||||
|
bluetooth = {
|
||||||
|
package = pkgs.bluez;
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# get usbip working
|
||||||
|
boot.extraModulePackages = [
|
||||||
|
config.boot.kernelPackages.usbip
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
boot.kernelParams = lib.mkForce ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0" "nohibernate" "loglevel=7" ];
|
||||||
|
# hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# home-manager.users.me = import ../users/me/home-headless.nix;
|
||||||
|
|
||||||
|
|
||||||
|
/* for cross compiling
|
||||||
|
#nixpkgs.hostPlatform.system = "aarch64-linux";
|
||||||
|
#nixpkgs.buildPlatform.system = "x86_64-linux";
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
|
||||||
|
(outerFinal: outerPrev: {
|
||||||
|
#https://github.com/adrienverge/openfortivpn/issues/446
|
||||||
|
#https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/tools/networking/openfortivpn/default.nix#L47
|
||||||
|
openfortivpn = outerPrev.openfortivpn.overrideAttrs (final: prev: {
|
||||||
|
configureFlags = prev.configureFlags or [] ++ [
|
||||||
|
"--disable-proc"
|
||||||
|
"--with-rt_dst=yes"
|
||||||
|
"--with-pppd=/usr/sbin/pppd"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
*/
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
linuxPackages.usbip
|
||||||
|
vim
|
||||||
|
bluez
|
||||||
|
git
|
||||||
|
];
|
||||||
|
|
||||||
|
# "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" creates a
|
||||||
|
# disk with this label on first boot. Therefore, we need to keep it. It is the
|
||||||
|
# only information from the installer image that we need to keep persistent
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-label/NIXOS_SD";
|
||||||
|
noCheck = true;
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
#kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
|
||||||
|
loader = {
|
||||||
|
generic-extlinux-compatible.enable = lib.mkDefault true;
|
||||||
|
grub.enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
########################### ssh ############################
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
ports = [ 22 ];
|
||||||
|
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
settings.KbdInteractiveAuthentication = false;
|
||||||
|
settings.PermitRootLogin = "no";
|
||||||
|
settings.X11Forwarding = true;
|
||||||
|
extraConfig = ''
|
||||||
|
X11UseLocalhost no
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
####################################### networking ##########################
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
3702 # wsdd
|
||||||
|
51820 # wireguard
|
||||||
|
67 # allow DHCP traffic
|
||||||
|
53 # allow dns
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
8888 # general use
|
||||||
|
9999 # general use
|
||||||
|
3240 # usbip
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "lush";
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
networking.networkmanager.profiles = {
|
||||||
|
pw = {
|
||||||
|
connection = {
|
||||||
|
id = "pw";
|
||||||
|
uuid = "e0103dac-7da0-4e32-a01b-487b8c4c813c";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlan0";
|
||||||
|
autoconnect = true;
|
||||||
|
autoconnect-priority = "-200";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi = {
|
||||||
|
hidden = "true";
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = builtins.readFile "${secretsDir}/wifi-ssid";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.20.21/24";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hh40 = {
|
||||||
|
connection = {
|
||||||
|
id = "hh40";
|
||||||
|
uuid = "73a61cef-8f7b-4f42-ab3f-0066e0295bbc";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlan0";
|
||||||
|
autoconnect = true;
|
||||||
|
autoconnect-priority = "-999";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi = {
|
||||||
|
hidden = "false";
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = builtins.readFile "${secretsDir}/home-wifi-ssid";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/home-wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
method = "auto";
|
||||||
|
address1 = "192.168.1.37/24";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dhcp = {
|
||||||
|
connection = {
|
||||||
|
id = "dhcp";
|
||||||
|
uuid = "c006389a-1697-4f77-91c3-95b466f85f13";
|
||||||
|
type = "ethernet";
|
||||||
|
autoconnect = "true";
|
||||||
|
interface-name = "end0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "DC:A6:32:CB:4D:5E";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.1.44/24,192.168.1.1";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
share = {
|
||||||
|
connection = {
|
||||||
|
id = "share";
|
||||||
|
uuid = "f55f34e3-4595-4642-b1f6-df3185bc0a04";
|
||||||
|
type = "ethernet";
|
||||||
|
autoconnect = false;
|
||||||
|
interface-name = "end0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "DC:A6:32:CB:4D:5E";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.4.1/24";
|
||||||
|
method = "shared";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv6 = {
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pt = {
|
||||||
|
connection = {
|
||||||
|
id = "pt";
|
||||||
|
uuid = "f028117e-9eef-47c1-8483-574f7ee798a4";
|
||||||
|
type = "bluetooth";
|
||||||
|
autoconnect = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bluetooth = {
|
||||||
|
bdaddr = "E8:78:29:C4:BA:7C";
|
||||||
|
type = "panu";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.44.22/24";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
me = {
|
||||||
|
connection = {
|
||||||
|
id = "me";
|
||||||
|
uuid = "fe45d3bc-21c6-41ff-bc06-c936017c6e02";
|
||||||
|
type = "wireguard";
|
||||||
|
autoconnect = "true";
|
||||||
|
interface-name = "me0";
|
||||||
|
};
|
||||||
|
wireguard = {
|
||||||
|
listen-port = "51820";
|
||||||
|
private-key = builtins.readFile "${secretsDir}/wg-private-lush";
|
||||||
|
};
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "10.1.1.4/24";
|
||||||
|
method = "manual";
|
||||||
|
};
|
||||||
|
} // (import ../common/wg-peers.nix { inherit secretsDir; });
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
systemd.services.iwd.serviceConfig.Restart = "always";
|
||||||
|
/*
|
||||||
|
networking = {
|
||||||
|
interfaces."wlan0".useDHCP = true;
|
||||||
|
|
||||||
|
interfaces."eth0" = {
|
||||||
|
#name = "eth0";
|
||||||
|
ipv4.addresses = [
|
||||||
|
{ address = "192.168.5.5"; prefixLength = 24;}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
wireless = {
|
||||||
|
interfaces = [ "wlan0" ];
|
||||||
|
enable = true;
|
||||||
|
networks = {
|
||||||
|
seb-phone.psk = "hellogello";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
####################################### wireguard ##########################
|
||||||
|
/*
|
||||||
|
systemd.network.netdevs.me0 = {
|
||||||
|
enable = true;
|
||||||
|
wireguardPeers = import ../common/wg-peers.nix { inherit secretsDir; };
|
||||||
|
wireguardConfig = {
|
||||||
|
ListenPort = 51820;
|
||||||
|
PrivateKeyFile = "/etc/wireguard/secret.key";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
networking.wireguard.interfaces = {
|
||||||
|
me = {
|
||||||
|
ips = [ "10.1.1.11/24" ];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxKernel.packages.linux_rpi4;
|
||||||
|
initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" ];
|
||||||
|
loader = {
|
||||||
|
grub.enable = false;
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
@@ -213,6 +213,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway";
|
#command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway";
|
||||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd ${pkgs.writeScriptBin "run-sway" ''
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd ${pkgs.writeScriptBin "run-sway" ''
|
||||||
|
|||||||
366
hosts/te.nix
Normal file
366
hosts/te.nix
Normal file
@@ -0,0 +1,366 @@
|
|||||||
|
{ lib, secretsDir, pkgs, inputs, unstable, ... }: let
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
#users.users.me.password = builtins.readFile "${secretsDir}/te-password";
|
||||||
|
#users.users.root.password = builtins.readFile "${secretsDir}/te-password";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../common/all.nix
|
||||||
|
../common/nixos.nix
|
||||||
|
../common/building.nix
|
||||||
|
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.networkmanager.nixosModules.networkmanager
|
||||||
|
inputs.disko.nixosModules.disko
|
||||||
|
../users/me/gui.nix
|
||||||
|
../users/root/default.nix
|
||||||
|
../common/nixos-wayland.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = "te";
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns = true;
|
||||||
|
publish = {
|
||||||
|
enable = true;
|
||||||
|
addresses = true;
|
||||||
|
domain = true;
|
||||||
|
hinfo = true;
|
||||||
|
userServices = true;
|
||||||
|
workstation = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
8888 # for general usage
|
||||||
|
9999 # for general usage
|
||||||
|
6000 # Xserver
|
||||||
|
6666 # vnc sway
|
||||||
|
5900 # vnc for win VM
|
||||||
|
5901 # vnc
|
||||||
|
5902 # vnc
|
||||||
|
4400 # rdp win VM
|
||||||
|
4401 # ssh for mandroid
|
||||||
|
4402 # random
|
||||||
|
4403 # random
|
||||||
|
4404 # random
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
48899 # GoodWe inverter discovery
|
||||||
|
4410 # lan-mouse
|
||||||
|
];
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/swapfile";
|
||||||
|
size = 4 * 1024;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.kernelModules = [ "usbip_core" ];
|
||||||
|
boot.extraModprobeConfig = "options kvm_intel nested=1";
|
||||||
|
|
||||||
|
# to build rpi images
|
||||||
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemuOvmf = true;
|
||||||
|
qemuSwtpm = true;
|
||||||
|
#qemuOvmfPackage = pkgs.OVMFFull;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
linuxPackages.usbip
|
||||||
|
mount
|
||||||
|
efibootmgr
|
||||||
|
tcpdump
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
# require public key authentication for better security
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
settings.KbdInteractiveAuthentication = false;
|
||||||
|
settings.PermitRootLogin = "no";
|
||||||
|
|
||||||
|
settings.X11Forwarding = true;
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
X11UseLocalhost no
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."sway@" = let
|
||||||
|
mySway = unstable.sway.overrideAttrs (prev: {
|
||||||
|
/*
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "WillPower3309";
|
||||||
|
repo = "swayfx";
|
||||||
|
rev = "";
|
||||||
|
hash = "";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "swaywm";
|
||||||
|
repo = "sway";
|
||||||
|
rev = "73c244fb4807a29c6599d42c15e8a8759225b2d6";
|
||||||
|
hash = "sha256-P2w1oRVUNBWajt8jZOxPXvBE29urbrhtORy+lfYqnF8=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
enable = false;
|
||||||
|
after = [ "systemd-user-sessions.service" "dbus.socket" "systemd-logind.service" "getty@%i.service" "plymouth-deactivate.service" "plymouth-quit.service" ];
|
||||||
|
before = [ "graphical.target" ];
|
||||||
|
wants = [ "dbus.socket" "systemd-logind.service" "plymouth-deactivate.service" ];
|
||||||
|
wantedBy = [ "graphical.target" ];
|
||||||
|
conflicts = [ "getty@%i.service" ]; # "plymouth-quit.service" "plymouth-quit-wait.service"
|
||||||
|
|
||||||
|
restartIfChanged = false;
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${lib.getExe mySway}";
|
||||||
|
User = "me";
|
||||||
|
|
||||||
|
# ConditionPathExists = "/dev/tty0";
|
||||||
|
IgnoreSIGPIPE = "no";
|
||||||
|
|
||||||
|
# Log this user with utmp, letting it show up with commands 'w' and
|
||||||
|
# 'who'. This is needed since we replace (a)getty.
|
||||||
|
UtmpIdentifier = "%I";
|
||||||
|
UtmpMode = "user";
|
||||||
|
# A virtual terminal is needed.
|
||||||
|
TTYPath = "/dev/%I";
|
||||||
|
TTYReset = "yes";
|
||||||
|
TTYVHangup = "yes";
|
||||||
|
TTYVTDisallocate = "yes";
|
||||||
|
# Fail to start if not controlling the virtual terminal.
|
||||||
|
#StandardInput = "tty-fail";
|
||||||
|
#StandardOutput = "syslog";
|
||||||
|
#StandardError = "syslog";
|
||||||
|
# Set up a full (custom) user session for the user, required by Cage.
|
||||||
|
PAMName = "cage";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.extraConfig = "DefaultLimitNOFILE=2048";
|
||||||
|
|
||||||
|
###################################################### the kiosk stuff
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
|
||||||
|
fonts.enableDefaultPackages = true;
|
||||||
|
xdg.icons.enable = true;
|
||||||
|
gtk.iconCache.enable = true;
|
||||||
|
|
||||||
|
services.udisks2.enable = false;
|
||||||
|
hardware.opengl.enable = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
systemd.defaultUnit = "graphical.target";
|
||||||
|
|
||||||
|
|
||||||
|
############################# networkmanager
|
||||||
|
|
||||||
|
# update name of wifi-interface
|
||||||
|
systemd.services.update-wifi-iface = {
|
||||||
|
description = "Update Wi-Fi interface name in network manager";
|
||||||
|
path = with pkgs; [
|
||||||
|
networkmanager # for nmcli
|
||||||
|
iproute2 # for ip
|
||||||
|
gawk # for awk
|
||||||
|
];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.writeShellScriptBin "run" ''
|
||||||
|
name=$(ip link | awk -F: '/^[0-9]+: wl/ {print $2}' | sed 's/^ //')
|
||||||
|
nmcli connection modify pw connection.interface-name $name
|
||||||
|
''}/bin/run";
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "Networkmanager.service" "network.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
networking.networkmanager.profiles = {
|
||||||
|
pw = {
|
||||||
|
connection = {
|
||||||
|
id = "pw";
|
||||||
|
uuid = "e0103dac-7da0-4e32-a01b-487b8c4c813c";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlp3s0";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi = {
|
||||||
|
hidden = "true";
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = builtins.readFile "${secretsDir}/wifi-ssid";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
#address1 = "192.168.20.11/24";
|
||||||
|
dns = "1.1.1.1;8.8.8.8;";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pt = {
|
||||||
|
connection = {
|
||||||
|
id = "pt";
|
||||||
|
uuid = "f028117e-9eef-47c1-8483-574f7ee798a4";
|
||||||
|
type = "bluetooth";
|
||||||
|
autoconnect = "false";
|
||||||
|
};
|
||||||
|
|
||||||
|
bluetooth = {
|
||||||
|
bdaddr = "E8:78:29:C4:BA:7C";
|
||||||
|
type = "panu";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.44.11/24";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hot = {
|
||||||
|
connection = {
|
||||||
|
id = "hot";
|
||||||
|
uuid = "ab51de8a-9742-465a-928b-be54a83ab6a3";
|
||||||
|
type = "wifi";
|
||||||
|
autoconnect = false;
|
||||||
|
interface-name = "wlp3s0";
|
||||||
|
};
|
||||||
|
wifi = {
|
||||||
|
mode = "ap";
|
||||||
|
ssid = "c2vi-te";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
method = "shared";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
share = {
|
||||||
|
connection = {
|
||||||
|
id = "share";
|
||||||
|
uuid = "f55f34e3-4595-4642-b1f6-df3185bc0a04";
|
||||||
|
type = "ethernet";
|
||||||
|
interface-name = "enp2s0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "C8:2A:14:0B:7F:3D";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.4.1/24";
|
||||||
|
method = "shared";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv6 = {
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
############ boot stuff
|
||||||
|
boot.plymouth.enable = false;
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.efiSupport = true;
|
||||||
|
boot.loader.grub.efiInstallAsRemovable = true;
|
||||||
|
boot.loader.grub.devices = [ "nodev" ];
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ehci_pci"
|
||||||
|
"uhci_hcd"
|
||||||
|
"ohci_hcd"
|
||||||
|
"usb_storage"
|
||||||
|
"uas"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
"scsi_mod"
|
||||||
|
];
|
||||||
|
boot.loader.grub.extraConfig = ''
|
||||||
|
set timeout=2
|
||||||
|
'';
|
||||||
|
|
||||||
|
############### disk config
|
||||||
|
# the flash drive in use for te
|
||||||
|
#disko.devices.disk.root.device = "/dev/disk/by-id/usb-Generic_Flash_Disk_FF830E8F-0:0";
|
||||||
|
disko.devices.disk.root.device = "/dev/disk/by-id/ata-KBG40ZNV512G_KIOXIA_70GPGA85QBV1";
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
root = {
|
||||||
|
type = "disk";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
|
||||||
|
ESP = {
|
||||||
|
size = "1G";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [ "umask=0077" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
biosboot = {
|
||||||
|
size = "2M";
|
||||||
|
type = "21686148-6449-6E6F-744E-656564454649"; # BIOS boot
|
||||||
|
};
|
||||||
|
|
||||||
|
root = {
|
||||||
|
size = "240G";
|
||||||
|
content = {
|
||||||
|
# LUKS passphrase will be prompted interactively only
|
||||||
|
type = "luks";
|
||||||
|
name = "crypted";
|
||||||
|
settings = {
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pub = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/pub";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
324
hosts/ti.nix
Normal file
324
hosts/ti.nix
Normal file
@@ -0,0 +1,324 @@
|
|||||||
|
{ lib, pkgs, inputs, secretsDir, config, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
#system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
|
||||||
|
#inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
|
inputs.networkmanager.nixosModules.networkmanager
|
||||||
|
|
||||||
|
../common/all.nix
|
||||||
|
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
../users/me/headless.nix
|
||||||
|
|
||||||
|
##### project modules #####
|
||||||
|
|
||||||
|
# the module for the zwave setup
|
||||||
|
#"${workDir}/htl/labor/hackl/zwave.nix"
|
||||||
|
|
||||||
|
# labor nas project
|
||||||
|
# with this moduel it does not boot, it waits for /dev/disk/by-label/nas-storage
|
||||||
|
# "${workDir}/htl/labor/nas/nixos/lush-module.nix"
|
||||||
|
];
|
||||||
|
|
||||||
|
# fix bluetooth
|
||||||
|
hardware = {
|
||||||
|
bluetooth = {
|
||||||
|
package = pkgs.bluez;
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# get usbip working
|
||||||
|
boot.extraModulePackages = [
|
||||||
|
config.boot.kernelPackages.usbip
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
boot.kernelParams = lib.mkForce ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0" "nohibernate" "loglevel=7" ];
|
||||||
|
# hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# home-manager.users.me = import ../users/me/home-headless.nix;
|
||||||
|
|
||||||
|
|
||||||
|
/* for cross compiling
|
||||||
|
#nixpkgs.hostPlatform.system = "aarch64-linux";
|
||||||
|
#nixpkgs.buildPlatform.system = "x86_64-linux";
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
|
||||||
|
(outerFinal: outerPrev: {
|
||||||
|
#https://github.com/adrienverge/openfortivpn/issues/446
|
||||||
|
#https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/tools/networking/openfortivpn/default.nix#L47
|
||||||
|
openfortivpn = outerPrev.openfortivpn.overrideAttrs (final: prev: {
|
||||||
|
configureFlags = prev.configureFlags or [] ++ [
|
||||||
|
"--disable-proc"
|
||||||
|
"--with-rt_dst=yes"
|
||||||
|
"--with-pppd=/usr/sbin/pppd"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
*/
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
linuxPackages.usbip
|
||||||
|
vim
|
||||||
|
bluez
|
||||||
|
git
|
||||||
|
];
|
||||||
|
|
||||||
|
# "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" creates a
|
||||||
|
# disk with this label on first boot. Therefore, we need to keep it. It is the
|
||||||
|
# only information from the installer image that we need to keep persistent
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-label/NIXOS_SD";
|
||||||
|
noCheck = true;
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
#kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
|
||||||
|
loader = {
|
||||||
|
generic-extlinux-compatible.enable = lib.mkDefault true;
|
||||||
|
grub.enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
########################### ssh ############################
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
ports = [ 22 ];
|
||||||
|
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
settings.KbdInteractiveAuthentication = false;
|
||||||
|
settings.PermitRootLogin = "no";
|
||||||
|
settings.X11Forwarding = true;
|
||||||
|
extraConfig = ''
|
||||||
|
X11UseLocalhost no
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
####################################### networking ##########################
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
3702 # wsdd
|
||||||
|
51820 # wireguard
|
||||||
|
67 # allow DHCP traffic
|
||||||
|
53 # allow dns
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
8888 # general use
|
||||||
|
9999 # general use
|
||||||
|
3240 # usbip
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "lush";
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
networking.networkmanager.profiles = {
|
||||||
|
pw = {
|
||||||
|
connection = {
|
||||||
|
id = "pw";
|
||||||
|
uuid = "e0103dac-7da0-4e32-a01b-487b8c4c813c";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlan0";
|
||||||
|
autoconnect = true;
|
||||||
|
autoconnect-priority = "-200";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi = {
|
||||||
|
hidden = "true";
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = builtins.readFile "${secretsDir}/wifi-ssid";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.20.21/24";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hh40 = {
|
||||||
|
connection = {
|
||||||
|
id = "hh40";
|
||||||
|
uuid = "73a61cef-8f7b-4f42-ab3f-0066e0295bbc";
|
||||||
|
type = "wifi";
|
||||||
|
interface-name = "wlan0";
|
||||||
|
autoconnect = true;
|
||||||
|
autoconnect-priority = "-999";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi = {
|
||||||
|
hidden = "false";
|
||||||
|
mode = "infrastructure";
|
||||||
|
ssid = builtins.readFile "${secretsDir}/home-wifi-ssid";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = builtins.readFile "${secretsDir}/home-wifi-password";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
method = "auto";
|
||||||
|
address1 = "192.168.1.37/24";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dhcp = {
|
||||||
|
connection = {
|
||||||
|
id = "dhcp";
|
||||||
|
uuid = "c006389a-1697-4f77-91c3-95b466f85f13";
|
||||||
|
type = "ethernet";
|
||||||
|
autoconnect = "true";
|
||||||
|
interface-name = "end0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "DC:A6:32:CB:4D:5E";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.1.44/24,192.168.1.1";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
share = {
|
||||||
|
connection = {
|
||||||
|
id = "share";
|
||||||
|
uuid = "f55f34e3-4595-4642-b1f6-df3185bc0a04";
|
||||||
|
type = "ethernet";
|
||||||
|
autoconnect = false;
|
||||||
|
interface-name = "end0";
|
||||||
|
};
|
||||||
|
|
||||||
|
ethernet = {
|
||||||
|
mac-address = "DC:A6:32:CB:4D:5E";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.4.1/24";
|
||||||
|
method = "shared";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv6 = {
|
||||||
|
addr-gen-mode = "stable-privacy";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pt = {
|
||||||
|
connection = {
|
||||||
|
id = "pt";
|
||||||
|
uuid = "f028117e-9eef-47c1-8483-574f7ee798a4";
|
||||||
|
type = "bluetooth";
|
||||||
|
autoconnect = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bluetooth = {
|
||||||
|
bdaddr = "E8:78:29:C4:BA:7C";
|
||||||
|
type = "panu";
|
||||||
|
};
|
||||||
|
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "192.168.44.22/24";
|
||||||
|
method = "auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
me = {
|
||||||
|
connection = {
|
||||||
|
id = "me";
|
||||||
|
uuid = "fe45d3bc-21c6-41ff-bc06-c936017c6e02";
|
||||||
|
type = "wireguard";
|
||||||
|
autoconnect = "true";
|
||||||
|
interface-name = "me0";
|
||||||
|
};
|
||||||
|
wireguard = {
|
||||||
|
listen-port = "51820";
|
||||||
|
private-key = builtins.readFile "${secretsDir}/wg-private-lush";
|
||||||
|
};
|
||||||
|
ipv4 = {
|
||||||
|
address1 = "10.1.1.4/24";
|
||||||
|
method = "manual";
|
||||||
|
};
|
||||||
|
} // (import ../common/wg-peers.nix { inherit secretsDir; });
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
systemd.services.iwd.serviceConfig.Restart = "always";
|
||||||
|
/*
|
||||||
|
networking = {
|
||||||
|
interfaces."wlan0".useDHCP = true;
|
||||||
|
|
||||||
|
interfaces."eth0" = {
|
||||||
|
#name = "eth0";
|
||||||
|
ipv4.addresses = [
|
||||||
|
{ address = "192.168.5.5"; prefixLength = 24;}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
wireless = {
|
||||||
|
interfaces = [ "wlan0" ];
|
||||||
|
enable = true;
|
||||||
|
networks = {
|
||||||
|
seb-phone.psk = "hellogello";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
####################################### wireguard ##########################
|
||||||
|
/*
|
||||||
|
systemd.network.netdevs.me0 = {
|
||||||
|
enable = true;
|
||||||
|
wireguardPeers = import ../common/wg-peers.nix { inherit secretsDir; };
|
||||||
|
wireguardConfig = {
|
||||||
|
ListenPort = 51820;
|
||||||
|
PrivateKeyFile = "/etc/wireguard/secret.key";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
networking.wireguard.interfaces = {
|
||||||
|
me = {
|
||||||
|
ips = [ "10.1.1.11/24" ];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxKernel.packages.linux_rpi4;
|
||||||
|
initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" ];
|
||||||
|
loader = {
|
||||||
|
grub.enable = false;
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,2 @@
|
|||||||
192.168.122.194 uwu
|
|
||||||
192.168.122.126 lako
|
|
||||||
127.0.0.1 localhost
|
127.0.0.1 localhost
|
||||||
100.70.54.18 obsidian.c2vi.dev
|
|
||||||
192.168.1.2 mc.ppc.social
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
192.168.1.6 hpm
|
192.168.1.6 hpm
|
||||||
|
192.168.1.4 fe
|
||||||
192.168.1.2 fusu
|
192.168.1.2 fusu
|
||||||
192.168.1.2 files
|
192.168.1.2 files
|
||||||
192.168.1.5 acern
|
192.168.1.5 acern
|
||||||
|
|||||||
@@ -5,3 +5,4 @@
|
|||||||
100.76.146.119 tab
|
100.76.146.119 tab
|
||||||
100.70.39.65 waydroid
|
100.70.39.65 waydroid
|
||||||
100.78.105.36 mac
|
100.78.105.36 mac
|
||||||
|
100.107.67.76 te
|
||||||
|
|||||||
@@ -78,6 +78,18 @@
|
|||||||
user = "me";
|
user = "me";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fe = {
|
||||||
|
port = 22;
|
||||||
|
hostname = "fe";
|
||||||
|
user = "me";
|
||||||
|
};
|
||||||
|
|
||||||
|
fes = {
|
||||||
|
port = 22;
|
||||||
|
hostname = "fe";
|
||||||
|
user = "server";
|
||||||
|
};
|
||||||
|
|
||||||
fusus = {
|
fusus = {
|
||||||
port = 49388;
|
port = 49388;
|
||||||
hostname = "fusu";
|
hostname = "fusu";
|
||||||
|
|||||||
Reference in New Issue
Block a user