big staging update

Signed-off-by: s0me1newithhand7s <git+me@hand7s.org>
This commit is contained in:
s0me1newithhand7s 2025-12-29 16:42:07 +03:00
parent 0bf4c9cfca
commit 2939b08891
324 changed files with 6897 additions and 6797 deletions

1
.pre-commit-config.yaml Symbolic link
View file

@ -0,0 +1 @@
/nix/store/0nibh6zrkxhh7qc1q6kkq5810iqd0059-pre-commit-config.json

214
flake.nix
View file

@ -44,6 +44,13 @@
repo = "deploy-rs";
};
devenv = {
flake = true;
type = "github";
owner = "cachix";
repo = "devenv";
};
devshell = {
flake = true;
type = "github";
@ -78,6 +85,13 @@
repo = "freesmlauncher";
};
git-hooks-nix = {
flake = true;
type = "github";
owner = "cachix";
repo = "git-hooks.nix";
};
home-manager = {
flake = true;
type = "github";
@ -197,6 +211,13 @@
repo = "nixos-anywhere";
};
nixos-cli = {
flake = true;
type = "github";
owner = "nix-community";
repo = "nixos-cli";
};
nixos-generators = {
flake = true;
type = "github";
@ -210,6 +231,14 @@
};
};
nixos-wsl = {
flake = true;
type = "github";
owner = "nix-community";
repo = "nixos-wsl";
ref = "main";
};
nixpkgs = {
flake = true;
type = "github";
@ -238,7 +267,7 @@
quickshell = {
flake = true;
type = "git";
url = "https://git.outfoxxed.me/outfoxxed/quickshell";
url = "https://git.outfoxxed.me/quickshell/quickshell";
inputs = {
nixpkgs = {
@ -300,19 +329,6 @@
owner = "nix-community";
repo = "nixos-vscode-server";
};
zen-browser = {
flake = true;
type = "github";
owner = "youwen5";
repo = "zen-browser-flake";
inputs = {
nixpkgs = {
follows = "nixpkgs";
};
};
};
};
outputs = inputs @ {
@ -326,6 +342,8 @@
self
;
} {
debug = false;
systems = [
"x86_64-linux"
"aarch64-linux"
@ -333,16 +351,24 @@
imports = [
# modules
inputs.agenix-rekey.flakeModule
inputs.disko.flakeModules.default
inputs.devshell.flakeModule
inputs.treefmt-nix.flakeModule
inputs.home-manager.flakeModules.home-manager
inputs.git-hooks-nix.flakeModule
inputs.devenv.flakeModule
# i can't really deside between devenv, devshells and devShells they are equally good for me
# for now, at least, i'm using numtide/devshells
];
flake = {
# home-manager, sorta broken when standalone
homeConfigurations = {
"hand7s" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {
osConfig.networking.hostName = "";
inherit
inputs
self
@ -358,10 +384,12 @@
inputs.nix-index-database.homeModules.nix-index
inputs.noctalia.homeModules.default
inputs.stylix.homeModules.stylix
];
};
};
# nixos hosts
nixosConfigurations = {
"s0mePC-nix" = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
@ -445,48 +473,7 @@
};
};
nixOnDroidConfigurations = {
n0thing-3a = inputs.nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = import inputs.nixpkgs {
system = "aarch64-linux";
overlays = [
inputs.nix-on-droid.overlays.default
];
};
extraSpecialArgs = {
inherit
inputs
self
;
};
modules = [
inputs.home-manager.nixOnDroidModules.default
];
};
};
systemConfigs = {
s0mePC = inputs.system-manager.lib.makeSystemConfig {
extraSpecialArgs = {
inherit
inputs
self
;
};
modules = [
# "${self}/s0mePC/"
inputs.home-manager.nixosModules.default
{
nixpkgs.hostPlatform = "x86_64-linux";
}
];
};
};
# deploy-rs
deploy = {
user = "hand7s";
interactiveSudo = true;
@ -500,7 +487,17 @@
nodes = {
"s0mev1rtn0de-nix" = {
hostname = "90.156.226.152";
hostname = "100.109.213.170";
profiles = {
main = {
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.s0mev1rtn0de-nix;
profilePath = "/nix/var/nix/profiles/system";
};
};
};
"s0meMiniPC-nix" = {
hostname = "100.109.71.194";
profiles = {
main = {
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.s0mev1rtn0de-nix;
@ -512,13 +509,25 @@
};
};
perSystem = {...}: {
perSystem = {
config,
pkgs,
...
}: {
# numtide/treefmt-nix, treefmt integrated into nix
treefmt = {
flakeFormatter = true;
flakeCheck = false;
enableDefaultExcludes = true;
flakeCheck = true;
programs = {
alejandra = {
enable = true;
priority = 1;
includes = [
"*.nix"
];
};
statix = {
enable = true;
priority = 1;
@ -533,7 +542,7 @@
deadnix = {
enable = true;
priority = 2;
priority = 1;
includes = [
"*.nix"
];
@ -542,7 +551,7 @@
settings = {
global = {
on-unmatched = "fatal";
on-unmatched = "warn";
excludes = [
"secrets/*"
".sops.yaml"
@ -551,6 +560,87 @@
};
};
};
# cachix/git-hooks-nix, pre-commit-hooks integrated into nix
pre-commit = {
check = {
enable = true;
};
settings = {
enable = true;
package = pkgs.prek;
gitPackage = pkgs.git;
hooks = {
alejandra = {
enable = true;
settings = {
check = true;
};
};
deadnix = {
enable = true;
settings = {
edit = false;
};
};
statix = {
enable = true;
settings = {
config = "${pkgs.writeText ''statix.toml'' ''
disabled = [
"empty_pattern"
]
''}";
};
};
};
};
};
# numtide/devshells, basically a devShells but better
devshells = {
"default" = {
name = "default";
commands = [
{
name = "pre";
category = "[tools]";
command = "prek run -a";
help = ''
pre-commit-hook is a tool to execute linters / formatters before `git commit` to verify that code is meeting standarts of code setted up in projects;
'';
}
{
name = "fmt";
category = "[formatters]";
command = "nix fmt";
help = ''
nix fmt is built-in formatting solution for nix pacakage manager;
'';
}
];
devshell = {
startup = {
"git-hooks-nix" = {
text = config.pre-commit.shellHook;
};
};
};
packages = with pkgs;
[
just
]
++ config.pre-commit.settings.enabledPackages;
};
};
};
};
}

View file

@ -5,7 +5,8 @@
}: {
home = {
gui = {
enable = lib.mkIf (
enable =
lib.mkIf (
osConfig.networking.hostName == "s0mePC-nix" || osConfig.networking.hostName == "s0melapt0p-nix"
)
true;

View file

@ -5,7 +5,8 @@
}: {
programs = {
hyprlock = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Hyprland"
)
true;

View file

@ -6,7 +6,8 @@
}: {
programs = {
obs-studio = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Hyprland"
)
true;

View file

@ -5,7 +5,8 @@
}: {
programs = {
swaylock = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Sway"
)
true;

View file

@ -6,7 +6,8 @@
}: {
services = {
hypridle = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Hyprland"
)
true;

View file

@ -6,7 +6,8 @@
}: {
services = {
swayidle = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Sway"
)
true;

View file

@ -8,7 +8,8 @@
wayland = {
windowManager = {
hyprland = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Hyprland"
)
true;

View file

@ -7,7 +7,8 @@
wayland = {
windowManager = {
river = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "River"
)
true;

View file

@ -7,7 +7,8 @@
wayland = {
windowManager = {
sway = {
enable = lib.mkIf (
enable =
lib.mkIf (
config.home.gui.sessionType == "Sway"
)
true;

View file

@ -1,77 +1,77 @@
{self, ...}: {
imports = [
./disko/disk.nix
./disko/lvm_vg.nix
"${self}/s0melapt0p-nix/disko/disk.nix"
"${self}/s0melapt0p-nix/disko/lvm_vg.nix"
./boot/loader/systemd-boot.nix
./boot/lanzaboote.nix
./boot/initrd.nix
./boot/kernel.nix
./boot/plymouth.nix
./boot/tmp.nix
"${self}/s0melapt0p-nix/boot/loader/system-boot.nix"
"${self}/s0melapt0p-nix/boot/lanzaboote.nix"
"${self}/s0melapt0p-nix/boot/initrd.nix"
"${self}/s0melapt0p-nix/boot/kernel.nix"
"${self}/s0melapt0p-nix/boot/plymouth.nix"
"${self}/s0melapt0p-nix/boot/tmp.nix"
./console/console.nix
"${self}/s0melapt0p-nix/console/console.nix"
./environment/systemPackages.nix
./environment/variables.nix
"${self}/s0melapt0p-nix/environment/systemPackages.nix"
"${self}/s0melapt0p-nix/environment/variables.nix"
./hardware/cpu.nix
./hardware/graphics.nix
./hardware/qmk.nix
./hardware/zram.nix
"${self}/s0melapt0p-nix/hardware/cpu.nix"
"${self}/s0melapt0p-nix/hardware/graphics.nix"
"${self}/s0melapt0p-nix/hardware/qmk.nix"
"${self}/s0melapt0p-nix/hardware/zram.nix"
./home-manager/users.nix
"${self}/s0melapt0p-nix/home-manager/users.nix"
./i18n/locales.nix
"${self}/s0melapt0p-nix/i18n/locales.nix"
./networking/dhcp.nix
./networking/firewall.nix
./networking/hostname.nix
./networking/networkmanager.nix
./networking/wireguard.nix
./networking/nameservers.nix
./networking/hosts.nix
./networking/hostId.nix
"${self}/s0melapt0p-nix/networking/dhcp.nix"
"${self}/s0melapt0p-nix/networking/firewall.nix"
"${self}/s0melapt0p-nix/networking/hostname.nix"
"${self}/s0melapt0p-nix/networking/networkmanager.nix"
"${self}/s0melapt0p-nix/networking/wireguard.nix"
"${self}/s0melapt0p-nix/networking/nameservers.nix"
"${self}/s0melapt0p-nix/networking/hosts.nix"
"${self}/s0melapt0p-nix/networking/hostId.nix"
./nix/package.nix
./nix/settings/allowed-users.nix
./nix/settings/experimental-features.nix
./nix/settings/substituters.nix
./nix/settings/trusted-public-keys.nix
./nix/settings/trusted-users.nix
"${self}/s0melapt0p-nix/nix/package.nix"
"${self}/s0melapt0p-nix/nix/settings/allowed-users.nix"
"${self}/s0melapt0p-nix/nix/settings/experimental-features.nix"
"${self}/s0melapt0p-nix/nix/settings/substituters.nix"
"${self}/s0melapt0p-nix/nix/settings/trusted-public-keys.nix"
"${self}/s0melapt0p-nix/nix/settings/trusted-users.nix"
./nixpkgs/config.nix
./nixpkgs/system.nix
"${self}/s0melapt0p-nix/nixpkgs/config.nix"
"${self}/s0melapt0p-nix/nixpkgs/system.nix"
./programs/gamemode.nix
./programs/nh.nix
./programs/steam.nix
./programs/ssh.nix
./programs/yubikey-touch-detector.nix
"${self}/s0melapt0p-nix/programs/gamemode.nix"
"${self}/s0melapt0p-nix/programs/nh.nix"
"${self}/s0melapt0p-nix/programs/steam.nix"
"${self}/s0melapt0p-nix/programs/ssh.nix"
"${self}/s0melapt0p-nix/programs/yubikey-touch-detector.nix"
./security/polkit.nix
./security/rtkit.nix
./security/sudo.nix
./security/sudo-rs.nix
./security/pam/services.nix
"${self}/s0melapt0p-nix/security/polkit.nix"
"${self}/s0melapt0p-nix/security/rtkit.nix"
"${self}/s0melapt0p-nix/security/sudo.nix"
"${self}/s0melapt0p-nix/security/sudo-rs.nix"
"${self}/s0melapt0p-nix/security/pam/services.nix"
./services/fprintd.nix
./services/greetd.nix
./services/libinput.nix
./services/openssh.nix
./services/pipewire.nix
./services/qmk.nix
./services/thinkfan.nix
./services/usbmuxd.nix
./services/xserver.nix
./services/zapret.nix
./services/zerotier.nix
./services/yggdrasil.nix
./services/netbird.nix
./services/yubikey-agent.nix
"${self}/s0melapt0p-nix/services/fprintd.nix"
"${self}/s0melapt0p-nix/services/greetd.nix"
"${self}/s0melapt0p-nix/services/libinput.nix"
"${self}/s0melapt0p-nix/services/openssh.nix"
"${self}/s0melapt0p-nix/services/pipewire.nix"
"${self}/s0melapt0p-nix/services/qmk.nix"
"${self}/s0melapt0p-nix/services/thinkfan.nix"
"${self}/s0melapt0p-nix/services/usbmuxd.nix"
"${self}/s0melapt0p-nix/services/xserver.nix"
"${self}/s0melapt0p-nix/services/zapret.nix"
"${self}/s0melapt0p-nix/services/zerotier.nix"
"${self}/s0melapt0p-nix/services/yggdrasil.nix"
"${self}/s0melapt0p-nix/services/netbird.nix"
"${self}/s0melapt0p-nix/services/yubikey-agent.nix"
./sops/defaults.nix
./sops/secrets.nix
"${self}/s0melapt0p-nix/sops/defaults.nix"
"${self}/s0melapt0p-nix/sops/secrets.nix"
"${self}/hand7s/stylix/base16Scheme.nix"
"${self}/hand7s/stylix/cursor.nix"
@ -79,21 +79,21 @@
"${self}/hand7s/stylix/fonts.nix"
"${self}/hand7s/stylix/image.nix"
./system/name.nix
./system/stateVersion.nix
"${self}/s0melapt0p-nix/system/name.nix"
"${self}/s0melapt0p-nix/system/stateVersion.nix"
./systemd/oomd.nix
"${self}/s0melapt0p-nix/systemd/oomd.nix"
./time/timeZone.nix
"${self}/s0melapt0p-nix/time/timeZone.nix"
./users/users/hand7s.nix
./users/users/root.nix
./users/mutableUsers.nix
"${self}/s0melapt0p-nix/users/users/hand7s.nix"
"${self}/s0melapt0p-nix/users/users/root.nix"
"${self}/s0melapt0p-nix/users/mutableUsers.nix"
./virtualisation/docker.nix
"${self}/s0melapt0p-nix/virtualisation/docker.nix"
./xdg/icons.nix
./xdg/mime.nix
./xdg/portal.nix
"${self}/s0melapt0p-nix/xdg/icons.nix"
"${self}/s0melapt0p-nix/xdg/mime.nix"
"${self}/s0melapt0p-nix/xdg/portal.nix"
];
}

View file

@ -1,58 +1,58 @@
{...}: {
imports = [
./disko/disk.nix
./disko/lvm_vg.nix
"${self}/s0mev1rtn0de/disko/disk.nix"
"${self}/s0mev1rtn0de/disko/lvm_vg.nix"
./boot/initrd/availableKernelModules.nix
./boot/initrd/kernelModules.nix
./boot/loader/grub.nix
./boot/kernel.nix
./boot/tmp.nix
"${self}/s0mev1rtn0de/boot/initrd/availableKernelModules.nix"
"${self}/s0mev1rtn0de/boot/initrd/kernelModules.nix"
"${self}/s0mev1rtn0de/boot/loader/grub.nix"
"${self}/s0mev1rtn0de/boot/kernel.nix"
"${self}/s0mev1rtn0de/boot/tmp.nix"
./environment/systemPackages.nix
"${self}/s0mev1rtn0de/environment/systemPackages.nix"
./hardware/zram.nix
"${self}/s0mev1rtn0de/hardware/zram.nix"
./networking/firewall/ens3.nix
./networking/firewall/wt0.nix
./networking/firewall.nix
./networking/hostname.nix
./networking/dns.nix
./networking/nftables.nix
./networking/wireguard.nix
./networking/wg-quick.nix
./networking/nat.nix
"${self}/s0mev1rtn0de/networking/firewall/ens3.nix"
"${self}/s0mev1rtn0de/networking/firewall/wt0.nix"
"${self}/s0mev1rtn0de/networking/firewall.nix"
"${self}/s0mev1rtn0de/networking/hostname.nix"
"${self}/s0mev1rtn0de/networking/dns.nix"
"${self}/s0mev1rtn0de/networking/nftables.nix"
"${self}/s0mev1rtn0de/networking/wireguard.nix"
"${self}/s0mev1rtn0de/networking/wg-quick.nix"
"${self}/s0mev1rtn0de/networking/nat.nix"
./nix/settings/allowed-users.nix
./nix/settings/experimental-features.nix
./nix/settings/substituters.nix
./nix/settings/trusted-public-keys.nix
./nix/settings/trusted-users.nix
./nix/settings/auto-optimise-store.nix
"${self}/s0mev1rtn0de/nix/settings/allowed-users.nix"
"${self}/s0mev1rtn0de/nix/settings/experimental-features.nix"
"${self}/s0mev1rtn0de/nix/settings/substituters.nix"
"${self}/s0mev1rtn0de/nix/settings/trusted-public-keys.nix"
"${self}/s0mev1rtn0de/nix/settings/trusted-users.nix"
"${self}/s0mev1rtn0de/nix/settings/auto-optimise-store.nix"
./nixpkgs/config.nix
./nixpkgs/platform.nix
"${self}/s0mev1rtn0de/nixpkgs/config.nix"
"${self}/s0mev1rtn0de/nixpkgs/platform.nix"
./programs/nh.nix
"${self}/s0mev1rtn0de/programs/nh.nix"
./services/openssh.nix
./services/fail2ban.nix
./services/netbird.nix
./services/qemuGuest.nix
./services/caddy.nix
./services/sing-box.nix
"${self}/s0mev1rtn0de/services/openssh.nix"
"${self}/s0mev1rtn0de/services/fail2ban.nix"
"${self}/s0mev1rtn0de/services/netbird.nix"
"${self}/s0mev1rtn0de/services/qemuGuest.nix"
"${self}/s0mev1rtn0de/services/caddy.nix"
"${self}/s0mev1rtn0de/services/sing-box.nix"
./sops/age.nix
./sops/defaults.nix
./sops/secrets.nix
"${self}/s0mev1rtn0de/sops/age.nix"
"${self}/s0mev1rtn0de/sops/defaults.nix"
"${self}/s0mev1rtn0de/sops/secrets.nix"
./system/stateVersion.nix
"${self}/s0mev1rtn0de/system/stateVersion.nix"
./users/users.nix
./users/users/askhat.nix
./users/users/hand7s.nix
./users/users/root.nix
"${self}/s0mev1rtn0de/users/users.nix"
"${self}/s0mev1rtn0de/users/users/askhat.nix"
"${self}/s0mev1rtn0de/users/users/hand7s.nix"
"${self}/s0mev1rtn0de/users/users/root.nix"
./virtualisation/docker.nix
"${self}/s0mev1rtn0de/virtualisation/docker.nix"
];
}