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"; repo = "deploy-rs";
}; };
devenv = {
flake = true;
type = "github";
owner = "cachix";
repo = "devenv";
};
devshell = { devshell = {
flake = true; flake = true;
type = "github"; type = "github";
@ -78,6 +85,13 @@
repo = "freesmlauncher"; repo = "freesmlauncher";
}; };
git-hooks-nix = {
flake = true;
type = "github";
owner = "cachix";
repo = "git-hooks.nix";
};
home-manager = { home-manager = {
flake = true; flake = true;
type = "github"; type = "github";
@ -197,6 +211,13 @@
repo = "nixos-anywhere"; repo = "nixos-anywhere";
}; };
nixos-cli = {
flake = true;
type = "github";
owner = "nix-community";
repo = "nixos-cli";
};
nixos-generators = { nixos-generators = {
flake = true; flake = true;
type = "github"; type = "github";
@ -210,6 +231,14 @@
}; };
}; };
nixos-wsl = {
flake = true;
type = "github";
owner = "nix-community";
repo = "nixos-wsl";
ref = "main";
};
nixpkgs = { nixpkgs = {
flake = true; flake = true;
type = "github"; type = "github";
@ -238,7 +267,7 @@
quickshell = { quickshell = {
flake = true; flake = true;
type = "git"; type = "git";
url = "https://git.outfoxxed.me/outfoxxed/quickshell"; url = "https://git.outfoxxed.me/quickshell/quickshell";
inputs = { inputs = {
nixpkgs = { nixpkgs = {
@ -300,19 +329,6 @@
owner = "nix-community"; owner = "nix-community";
repo = "nixos-vscode-server"; repo = "nixos-vscode-server";
}; };
zen-browser = {
flake = true;
type = "github";
owner = "youwen5";
repo = "zen-browser-flake";
inputs = {
nixpkgs = {
follows = "nixpkgs";
};
};
};
}; };
outputs = inputs @ { outputs = inputs @ {
@ -326,6 +342,8 @@
self self
; ;
} { } {
debug = false;
systems = [ systems = [
"x86_64-linux" "x86_64-linux"
"aarch64-linux" "aarch64-linux"
@ -333,16 +351,24 @@
imports = [ imports = [
# modules # modules
inputs.agenix-rekey.flakeModule
inputs.disko.flakeModules.default
inputs.devshell.flakeModule inputs.devshell.flakeModule
inputs.treefmt-nix.flakeModule inputs.treefmt-nix.flakeModule
inputs.home-manager.flakeModules.home-manager 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 = { flake = {
# home-manager, sorta broken when standalone
homeConfigurations = { homeConfigurations = {
"hand7s" = inputs.home-manager.lib.homeManagerConfiguration { "hand7s" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { extraSpecialArgs = {
osConfig.networking.hostName = "";
inherit inherit
inputs inputs
self self
@ -358,10 +384,12 @@
inputs.nix-index-database.homeModules.nix-index inputs.nix-index-database.homeModules.nix-index
inputs.noctalia.homeModules.default inputs.noctalia.homeModules.default
inputs.stylix.homeModules.stylix
]; ];
}; };
}; };
# nixos hosts
nixosConfigurations = { nixosConfigurations = {
"s0mePC-nix" = inputs.nixpkgs.lib.nixosSystem { "s0mePC-nix" = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@ -445,48 +473,7 @@
}; };
}; };
nixOnDroidConfigurations = { # deploy-rs
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 = { deploy = {
user = "hand7s"; user = "hand7s";
interactiveSudo = true; interactiveSudo = true;
@ -500,7 +487,17 @@
nodes = { nodes = {
"s0mev1rtn0de-nix" = { "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 = { profiles = {
main = { main = {
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.s0mev1rtn0de-nix; 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 = { treefmt = {
flakeFormatter = true; flakeFormatter = true;
flakeCheck = false; flakeCheck = true;
enableDefaultExcludes = true;
programs = { programs = {
alejandra = {
enable = true;
priority = 1;
includes = [
"*.nix"
];
};
statix = { statix = {
enable = true; enable = true;
priority = 1; priority = 1;
@ -533,7 +542,7 @@
deadnix = { deadnix = {
enable = true; enable = true;
priority = 2; priority = 1;
includes = [ includes = [
"*.nix" "*.nix"
]; ];
@ -542,7 +551,7 @@
settings = { settings = {
global = { global = {
on-unmatched = "fatal"; on-unmatched = "warn";
excludes = [ excludes = [
"secrets/*" "secrets/*"
".sops.yaml" ".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 = { home = {
gui = { gui = {
enable = lib.mkIf ( enable =
lib.mkIf (
osConfig.networking.hostName == "s0mePC-nix" || osConfig.networking.hostName == "s0melapt0p-nix" osConfig.networking.hostName == "s0mePC-nix" || osConfig.networking.hostName == "s0melapt0p-nix"
) )
true; true;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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