Compare commits
29 Commits
router/hom
...
feature/se
| Author | SHA1 | Date | |
|---|---|---|---|
|
d9937916bb
|
|||
|
4c7142dcda
|
|||
|
923f3f0ffc
|
|||
|
578f18bc2d
|
|||
|
91727dd2df
|
|||
|
4e08c64ce5
|
|||
|
d61c23f8e7
|
|||
|
07d3706a14
|
|||
|
1f647856ab
|
|||
|
05a20f830f
|
|||
|
35bb5e411e
|
|||
|
5353ad048c
|
|||
|
9bb5b596b7
|
|||
|
ce9bcb785a
|
|||
|
178626a193
|
|||
|
3074b81b45
|
|||
|
e7ebaf371b
|
|||
|
bd44812337
|
|||
|
d7ee1f6434
|
|||
|
8880ac8158
|
|||
|
57d47def99
|
|||
|
8762c5b555
|
|||
|
eee8fd5ece
|
|||
|
e09bca0feb
|
|||
|
f9b152cd52
|
|||
|
2de9229027
|
|||
|
00bc6f8de3
|
|||
|
21a058f5ea
|
|||
|
574ba8a951
|
178
flake.lock
generated
178
flake.lock
generated
@@ -1,5 +1,79 @@
|
||||
{
|
||||
"nodes": {
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1754269165,
|
||||
"narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "444e81206df3f7d92780680e45858e31d2f07a08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754091436,
|
||||
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"pre-commit-hooks-nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -7,11 +81,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750650909,
|
||||
"narHash": "sha256-HRNJuqo15PRKezyBjhNf2Tjj05EcSJ8q6xJyDDbmDXE=",
|
||||
"lastModified": 1764034279,
|
||||
"narHash": "sha256-hZH6EHQYFifVg0bmSBYT8Art5BWhXBXE307uPLnexY0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "520fc4b50af1b365014c3748c126d3f52edb2f3b",
|
||||
"rev": "381f4f8a3a5f773cb80d2b7eb8f8d733b8861434",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -20,6 +94,32 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lanzaboote": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762205063,
|
||||
"narHash": "sha256-If6vQ+KvtKs3ARBO9G3l+4wFSCYtRBrwX1z+I+B61wQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lanzaboote",
|
||||
"rev": "88b8a563ff5704f4e8d8e5118fb911fa2110ca05",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "v0.4.3",
|
||||
"repo": "lanzaboote",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixlib": {
|
||||
"locked": {
|
||||
"lastModified": 1736643958,
|
||||
@@ -43,11 +143,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747663185,
|
||||
"narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=",
|
||||
"lastModified": 1751903740,
|
||||
"narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-generators",
|
||||
"rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc",
|
||||
"rev": "032decf9db65efed428afd2fa39d80f7089085eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -58,11 +158,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1750506804,
|
||||
"narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=",
|
||||
"lastModified": 1763835633,
|
||||
"narHash": "sha256-HzxeGVID5MChuCPESuC0dlQL1/scDKu+MmzoVBJxulM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4206c4cb56751df534751b058295ea61357bbbaa",
|
||||
"rev": "050e09e091117c3d7328c7b2b7b577492c43c134",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -82,11 +182,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748196248,
|
||||
"narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=",
|
||||
"lastModified": 1763909441,
|
||||
"narHash": "sha256-56LwV51TX/FhgX+5LCG6akQ5KrOWuKgcJa+eUsRMxsc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "b7697abe89967839b273a863a3805345ea54ab56",
|
||||
"rev": "b24ed4b272256dfc1cc2291f89a9821d5f9e14b4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -95,15 +195,63 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"lanzaboote",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750779888,
|
||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"nixos-generators": "nixos-generators",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"secrix": "secrix"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"lanzaboote",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761791894,
|
||||
"narHash": "sha256-myRIDh+PxaREz+z9LzbqBJF+SnTFJwkthKDX9zMyddY=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "59c45eb69d9222a4362673141e00ff77842cd219",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"secrix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -111,11 +259,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746643487,
|
||||
"narHash": "sha256-dcB/DArJObCvqE/ZEdQSDW2BZMeDyF83Se5KPfJvz60=",
|
||||
"lastModified": 1763929380,
|
||||
"narHash": "sha256-Yc7gZME/lcHoJH6bMPCG7CyjKWhOLJPqLI8MXtyKPHo=",
|
||||
"owner": "Platonic-Systems",
|
||||
"repo": "secrix",
|
||||
"rev": "4c64203fa5b377953b1fb6d5388187df8b60c6d5",
|
||||
"rev": "c6e3ca7af47c329dcf442a3d017ae171eee5612f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -22,16 +22,20 @@
|
||||
url = "github:Platonic-Systems/secrix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.3";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, plasma-manager, nixos-generators, secrix }:
|
||||
outputs = { self, nixpkgs, home-manager, plasma-manager, nixos-generators, secrix, lanzaboote }:
|
||||
let
|
||||
hmModule = file: {
|
||||
imports = [ home-manager.nixosModules.home-manager ];
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
|
||||
home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ];
|
||||
|
||||
home-manager.users.cazzzer = import file;
|
||||
# Optionally, use home-manager.extraSpecialArgs to pass
|
||||
@@ -70,6 +74,7 @@
|
||||
Yura-TPX13 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
./modules
|
||||
./hosts/common.nix
|
||||
./hosts/common-desktop.nix
|
||||
|
||||
@@ -8,21 +8,23 @@ in
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
userName = name;
|
||||
userEmail = email;
|
||||
|
||||
signing = {
|
||||
key = signingKey;
|
||||
signByDefault = true;
|
||||
format = "ssh";
|
||||
};
|
||||
|
||||
aliases = {
|
||||
settings = {
|
||||
user = {
|
||||
name = name;
|
||||
email = email;
|
||||
};
|
||||
|
||||
alias = {
|
||||
co = "checkout";
|
||||
s = "switch";
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
url = {
|
||||
"https://gitea.cazzzer.com/" = {
|
||||
insteadOf = "caztea:";
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
activities-icons."809dc779-bf5b-49e6-8e3f-cbe283cb05b6" = "keyboard";
|
||||
activities-icons."b34a506d-ac4f-4797-8c08-6ef45bc49341" = "preferences-desktop-gaming";
|
||||
};
|
||||
baloofilerc.General."exclude folders".persistent = true;
|
||||
systemsettingsrc.systemsettings_sidebar_mode.HighlightNonDefaultSettings=true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -18,6 +18,11 @@
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{ device = "zroot/data/nix";
|
||||
fsType = "zfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/970C-6A15";
|
||||
fsType = "vfat";
|
||||
|
||||
@@ -11,10 +11,17 @@
|
||||
"sysrq_always_enabled=1"
|
||||
];
|
||||
|
||||
boot.lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/var/lib/sbctl";
|
||||
};
|
||||
|
||||
networking.hostName = "Yura-TPX13"; # Define your hostname.
|
||||
networking.hostId = "8425e349"; # Required for ZFS.
|
||||
|
||||
services.fprintd.enable = true;
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
|
||||
|
||||
# Install firefox.
|
||||
programs.firefox.enable = true;
|
||||
|
||||
@@ -7,14 +7,11 @@
|
||||
"sysrq_always_enabled=1"
|
||||
];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_14;
|
||||
boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_17;
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 3;
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 5;
|
||||
};
|
||||
systemd-boot.enable = !config.boot.lanzaboote.enable;
|
||||
};
|
||||
|
||||
# https://nixos.wiki/wiki/Accelerated_Video_Playback
|
||||
@@ -24,6 +21,9 @@
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
networking.networkmanager.plugins = [
|
||||
pkgs.networkmanager-openvpn
|
||||
];
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
@@ -58,7 +58,7 @@
|
||||
programs.git.enable = true;
|
||||
programs.git.lfs.enable = true;
|
||||
# https://nixos.wiki/wiki/Git
|
||||
programs.git.package = pkgs.git.override { withLibsecret = true; };
|
||||
programs.git.package = pkgs.git.override { withLibsecret = true; doInstallCheck = false; };
|
||||
programs.lazygit.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
programs.wireshark.enable = true;
|
||||
@@ -79,7 +79,7 @@
|
||||
fantasque-sans-mono
|
||||
nerd-fonts.fantasque-sans-mono
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
jetbrains-mono
|
||||
@@ -107,6 +107,7 @@
|
||||
jq
|
||||
ldns
|
||||
mediainfo
|
||||
powertop
|
||||
rbw
|
||||
restic
|
||||
resticprofile
|
||||
@@ -120,14 +121,20 @@
|
||||
bitwarden-desktop
|
||||
darkman
|
||||
host-spawn # for flatpaks
|
||||
jellyfin-mpv-shim
|
||||
kdePackages.filelight
|
||||
kdePackages.flatpak-kcm
|
||||
kdePackages.kate
|
||||
kdePackages.yakuake
|
||||
mpv
|
||||
(mpv.override {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
mpris
|
||||
videoclip
|
||||
];
|
||||
})
|
||||
nextcloud-client
|
||||
lxqt.pavucontrol-qt
|
||||
pinentry
|
||||
pinentry-all
|
||||
tela-circle-icon-theme
|
||||
virt-viewer
|
||||
waypipe
|
||||
@@ -141,7 +148,12 @@
|
||||
android-studio
|
||||
rustup
|
||||
zed-editor
|
||||
package-version-server # for zed
|
||||
] ++ [
|
||||
# C
|
||||
gcc
|
||||
valgrind
|
||||
|
||||
# Python
|
||||
python3
|
||||
poetry
|
||||
@@ -163,5 +175,11 @@
|
||||
# Gleam
|
||||
gleam
|
||||
beamMinimal26Packages.erlang
|
||||
|
||||
# Racket
|
||||
racket
|
||||
|
||||
# Ruby
|
||||
ruby
|
||||
];
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ in {
|
||||
enable = true;
|
||||
type = "fcitx5";
|
||||
fcitx5.waylandFrontend = true;
|
||||
fcitx5.plasma6Support = true;
|
||||
# fcitx5.plasma6Support = true;
|
||||
fcitx5.addons = [ pkgs.fcitx5-mozc ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -76,6 +76,7 @@ in
|
||||
starship
|
||||
tealdeer
|
||||
transcrypt
|
||||
wakeonlan
|
||||
waypipe
|
||||
whois
|
||||
wireguard-tools
|
||||
|
||||
@@ -28,6 +28,8 @@ let
|
||||
"|woodpecker."
|
||||
"||pgrok."
|
||||
"|sync."
|
||||
"|minecruft."
|
||||
"|n8n."
|
||||
];
|
||||
in
|
||||
{
|
||||
@@ -80,11 +82,14 @@ in
|
||||
"|etappi.${sysdomain}^$dnsrewrite=${ifs.lan.p4}.12"
|
||||
"|etappi.${sysdomain}^$dnsrewrite=${ifs.lan.ulaPrefix}::12:1"
|
||||
|
||||
"|hass.${domain}^$dnsrewrite=${ifs.lan.ulaAddr}"
|
||||
|
||||
# Lab DNS rewrites
|
||||
"||lab.${domain}^$dnsrewrite=etappi.${sysdomain}"
|
||||
|
||||
# Allowed exceptions
|
||||
"@@||googleads.g.doubleclick.net"
|
||||
"@@||stats.grafana.org"
|
||||
]
|
||||
# Alpina DNS rewrites
|
||||
++ map (host: "${host}${domain}^$dnsrewrite=debbi.${sysdomain}") alpinaDomains;
|
||||
|
||||
@@ -56,6 +56,12 @@ in
|
||||
udp . 45608 : ${vars.extra.opnsense.addr4} . 45608,
|
||||
udp . 35848 : ${vars.extra.opnsense.addr4} . 35848,
|
||||
udp . 48425 : ${vars.extra.opnsense.addr4} . 48425,
|
||||
# Amnezia VPN server
|
||||
udp . 37138 : ${vars.extra.amnezia.addr4} . 37138,
|
||||
# Minecruft server
|
||||
tcp . 25565 : ${vars.extra.minecruft.addr4} . 25565,
|
||||
udp . 25565 : ${vars.extra.minecruft.addr4} . 25565,
|
||||
udp . 24454 : ${vars.extra.minecruft.addr4} . 24454,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
@@ -58,14 +58,17 @@ in
|
||||
enable = true;
|
||||
package = pkgs.caddy.withPlugins {
|
||||
plugins = [ "github.com/caddy-dns/cloudflare@v0.2.1" ];
|
||||
hash = "sha256-2D7dnG50CwtCho+U+iHmSj2w14zllQXPjmTHr6lJZ/A=";
|
||||
hash = "sha256-aRMg7R0dBAy+LJeGCMPg6HKppM6NPX2NPwtc0CeSQLg=";
|
||||
};
|
||||
virtualHosts."grouter.${domain}".extraConfig = ''
|
||||
virtualHosts."*.${domain}".extraConfig = ''
|
||||
encode
|
||||
tls {
|
||||
dns cloudflare {env.CF_API_KEY}
|
||||
resolvers 1.1.1.1
|
||||
}
|
||||
|
||||
@grouter host grouter.${domain}
|
||||
handle @grouter {
|
||||
@grafana path /grafana /grafana/*
|
||||
handle @grafana {
|
||||
reverse_proxy localhost:${toString config.services.grafana.settings.server.http_port}
|
||||
@@ -80,6 +83,12 @@ in
|
||||
handle /* {
|
||||
reverse_proxy localhost:${toString config.services.glance.settings.server.port}
|
||||
}
|
||||
}
|
||||
|
||||
@hass host hass.${domain}
|
||||
handle @hass {
|
||||
reverse_proxy homeassistant.4.lab.l.cazzzer.com:8123
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -135,5 +135,7 @@ rec {
|
||||
}
|
||||
];
|
||||
};
|
||||
amnezia.addr4 = "${ifs.lan10.p4}.31";
|
||||
minecruft.addr4 = "${ifs.lan.p4}.11";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ in {
|
||||
inherit
|
||||
(pkgs)
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user