diff --git a/ada/boot/initrd.nix b/ada/boot/initrd.nix index 98d1980..6924fac 100644 --- a/ada/boot/initrd.nix +++ b/ada/boot/initrd.nix @@ -1,4 +1,4 @@ -{lib, ...}: { +_: { boot = { initrd = { availableKernelModules = [ @@ -14,9 +14,9 @@ ]; supportedFilesystems = { + ntfs = true; vfat = true; btrfs = true; - zfs = lib.mkForce true; }; kernelModules = [ diff --git a/ada/boot/kernel.nix b/ada/boot/kernel.nix index 19888ed..c3a04ac 100644 --- a/ada/boot/kernel.nix +++ b/ada/boot/kernel.nix @@ -1,7 +1,6 @@ { config, pkgs, - lib, ... }: { boot = { @@ -17,7 +16,7 @@ }; }; - kernelPackages = pkgs.linuxPackages_cachyos-gcc; + kernelPackages = pkgs.linuxPackages_latest; extraModulePackages = with config.boot.kernelPackages; [ zenpower v4l2loopback @@ -32,7 +31,6 @@ ]; kernelParams = [ - "video=DP-1:2560x1440@165" "amd_pstate=guided" "udev.log_priority=3" "quiet" @@ -45,6 +43,7 @@ "page_alloc.shuffle=1" "page_poison=1" "slab_nomerge" + "zswap.enabled=0" "kernel.watchdog=0" "oops=panic" @@ -68,6 +67,7 @@ "hfs" "hpfs" "jfs" + "zfs" "minix" "nilfs2" "ntfs" @@ -81,9 +81,9 @@ ]; supportedFilesystems = { + ntfs = true; vfat = true; btrfs = true; - zfs = lib.mkForce true; }; consoleLogLevel = 0; diff --git a/ada/boot/lanzaboote.nix b/ada/boot/lanzaboote.nix index 08d07df..8036b8a 100644 --- a/ada/boot/lanzaboote.nix +++ b/ada/boot/lanzaboote.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { lanzaboote = { enable = true; diff --git a/ada/boot/loader/systemd-boot.nix b/ada/boot/loader/systemd-boot.nix index 8e2989c..d8ebe95 100644 --- a/ada/boot/loader/systemd-boot.nix +++ b/ada/boot/loader/systemd-boot.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { loader = { systemd-boot = { diff --git a/ada/boot/tmp.nix b/ada/boot/tmp.nix index ac46b34..904e141 100644 --- a/ada/boot/tmp.nix +++ b/ada/boot/tmp.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { tmp = { useTmpfs = true; diff --git a/ada/boot/zfs.nix b/ada/boot/zfs.nix deleted file mode 100644 index 58db7ab..0000000 --- a/ada/boot/zfs.nix +++ /dev/null @@ -1,9 +0,0 @@ -{pkgs, ...}: { - boot = { - zfs = { - package = pkgs.zfs_cachyos; - allowHibernation = false; - removeLinuxDRM = false; - }; - }; -} diff --git a/ada/console/console.nix b/ada/console/console.nix index 1e60d13..e3a24c9 100644 --- a/ada/console/console.nix +++ b/ada/console/console.nix @@ -1,4 +1,4 @@ -{...}: { +_: { console = { useXkbConfig = true; }; diff --git a/ada/default.nix b/ada/default.nix index 27db235..483d476 100644 --- a/ada/default.nix +++ b/ada/default.nix @@ -6,7 +6,6 @@ "${self}/ada/boot/plymouth.nix" "${self}/ada/boot/tmp.nix" "${self}/ada/boot/loader/systemd-boot.nix" - "${self}/ada/boot/zfs.nix" "${self}/ada/disko/disk.nix" "${self}/ada/disko/lvm_vg.nix" @@ -19,9 +18,10 @@ "${self}/ada/hardware/amdgpu.nix" "${self}/ada/hardware/cpu.nix" "${self}/ada/hardware/graphics.nix" - "${self}/ada/hardware/openrazer.nix" "${self}/ada/hardware/qmk.nix" "${self}/ada/hardware/zram.nix" + "${self}/ada/hardware/bluetooth.nix" + "${self}/ada/hardware/" "${self}/ada/home-manager/users.nix" @@ -70,14 +70,12 @@ "${self}/ada/services/qmk.nix" "${self}/ada/services/scx.nix" "${self}/ada/services/xserver.nix" - "${self}/ada/services/zapret.nix" - "${self}/ada/services/zerotier.nix" - "${self}/ada/services/yggdrasil.nix" "${self}/ada/services/sunshine.nix" "${self}/ada/services/usbmuxd.nix" "${self}/ada/services/irqbalance.nix" "${self}/ada/services/yubikey-agent.nix" "${self}/ada/services/resolved.nix" + "${self}/ada/services/firewalld.nix" "${self}/ada/sops/defaults.nix" "${self}/ada/sops/secrets.nix" @@ -102,8 +100,6 @@ "${self}/ada/users/users/root.nix" "${self}/ada/users/mutableUsers.nix" - "${self}/ada/virtualisation/docker.nix" - "${self}/ada/xdg/icons.nix" "${self}/ada/xdg/mime.nix" "${self}/ada/xdg/portal.nix" diff --git a/ada/disko/disk.nix b/ada/disko/disk.nix index 63762ae..3152264 100644 --- a/ada/disko/disk.nix +++ b/ada/disko/disk.nix @@ -22,6 +22,7 @@ ]; }; }; + luks = { size = "100%"; content = { diff --git a/ada/environment/variables.nix b/ada/environment/variables.nix index 2cd14c2..9c47685 100644 --- a/ada/environment/variables.nix +++ b/ada/environment/variables.nix @@ -1,7 +1,7 @@ {config, ...}: { environment = { variables = { - AMD_VULKAN_ICD = "RADV"; + AMD_VULKAN_ICD = "AMDVLK"; HOSTNAME = config.networking.hostName; QT_QPA_PLATFORM = "wayland"; SDL_VIDEODRIVER = "wayland"; diff --git a/ada/hardware/amdgpu.nix b/ada/hardware/amdgpu.nix index dce6d88..3dd1d56 100644 --- a/ada/hardware/amdgpu.nix +++ b/ada/hardware/amdgpu.nix @@ -1,4 +1,4 @@ -{...}: { +_: { hardware = { amdgpu = { initrd = { diff --git a/ada/hardware/bluetooth.nix b/ada/hardware/bluetooth.nix new file mode 100644 index 0000000..d3576ae --- /dev/null +++ b/ada/hardware/bluetooth.nix @@ -0,0 +1,7 @@ +_: { + hardware = { + bluetooth = { + enable = true; + }; + }; +} diff --git a/ada/hardware/cpu.nix b/ada/hardware/cpu.nix index dc5fd00..abd6460 100644 --- a/ada/hardware/cpu.nix +++ b/ada/hardware/cpu.nix @@ -1,6 +1,5 @@ -{...}: { +_: { hardware = { - enableRedistributableFirmware = true; cpu = { amd = { updateMicrocode = true; diff --git a/ada/hardware/default.nix b/ada/hardware/default.nix new file mode 100644 index 0000000..9f37847 --- /dev/null +++ b/ada/hardware/default.nix @@ -0,0 +1,8 @@ +_: { + hardware = { + enableAllFirmware = true; + enableAllHardware = true; + enableRedistributableFirmware = true; + firmwareCompression = "zstd"; + }; +} diff --git a/ada/hardware/graphics.nix b/ada/hardware/graphics.nix index f81ccb7..76c79bf 100644 --- a/ada/hardware/graphics.nix +++ b/ada/hardware/graphics.nix @@ -1,4 +1,4 @@ -{...}: { +_: { hardware = { graphics = { enable = true; diff --git a/ada/hardware/openrazer.nix b/ada/hardware/openrazer.nix deleted file mode 100644 index af74569..0000000 --- a/ada/hardware/openrazer.nix +++ /dev/null @@ -1,15 +0,0 @@ -{...}: { - hardware = { - openrazer = { - enable = false; - users = [ - "hand7s" - ]; - - batteryNotifier = { - enable = true; - percentage = 15; - }; - }; - }; -} diff --git a/ada/hardware/qmk.nix b/ada/hardware/qmk.nix index 543ece2..8742a19 100644 --- a/ada/hardware/qmk.nix +++ b/ada/hardware/qmk.nix @@ -1,4 +1,4 @@ -{...}: { +_: { hardware = { keyboard = { qmk = { diff --git a/ada/hardware/zram.nix b/ada/hardware/zram.nix index b973787..0d77537 100644 --- a/ada/hardware/zram.nix +++ b/ada/hardware/zram.nix @@ -1,4 +1,4 @@ -{...}: { +_: { zramSwap = { enable = true; algorithm = "zstd"; diff --git a/ada/home-manager/users.nix b/ada/home-manager/users.nix index be5338e..6590188 100644 --- a/ada/home-manager/users.nix +++ b/ada/home-manager/users.nix @@ -1,20 +1,17 @@ -{ - inputs, - self, - ... -}: { +{self, ...}: { home-manager = { users = { - hand7s = { + "hand7s" = { imports = [ "${self}/hand7s/" - inputs.spicetify-nix.homeManagerModules.default - inputs.hyprland.homeManagerModules.default - inputs.chaotic.homeManagerModules.default - inputs.sops-nix.homeManagerModules.sops + self.inputs.agenix.homeManagerModules.default + self.inputs.spicetify-nix.homeManagerModules.default + self.inputs.hyprland.homeManagerModules.default + self.inputs.chaotic.homeManagerModules.default + self.inputs.sops-nix.homeManagerModules.sops - inputs.nix-index-database.homeModules.nix-index - inputs.noctalia.homeModules.default + self.inputs.nix-index-database.homeModules.nix-index + self.inputs.noctalia.homeModules.default ]; }; }; @@ -23,7 +20,6 @@ extraSpecialArgs = { inherit - inputs self ; }; diff --git a/ada/i18n/locales.nix b/ada/i18n/locales.nix index 09234a5..f456740 100644 --- a/ada/i18n/locales.nix +++ b/ada/i18n/locales.nix @@ -1,4 +1,4 @@ -{...}: { +_: { i18n = { defaultLocale = "en_US.UTF-8"; supportedLocales = [ diff --git a/ada/networking/firewall.nix b/ada/networking/firewall.nix index 17f2917..b85bbd4 100644 --- a/ada/networking/firewall.nix +++ b/ada/networking/firewall.nix @@ -1,30 +1,14 @@ -{...}: { +_: { networking = { firewall = { allowPing = true; - enable = true; + enable = false; checkReversePath = false; + }; - interfaces = { - eno1 = rec { - allowedTCPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - - allowedUDPPortRanges = allowedTCPPortRanges; - }; - - salt-hand7s-pc = rec { - allowedTCPPorts = [ - 6567 - ]; - - allowedUDPPorts = allowedTCPPorts; - }; - }; + nftables = { + enable = true; + flattenRulesetFile = true; }; }; } diff --git a/ada/networking/hostId.nix b/ada/networking/hostId.nix index a771b6b..585868c 100644 --- a/ada/networking/hostId.nix +++ b/ada/networking/hostId.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { hostId = "5c79d468"; }; diff --git a/ada/networking/hostname.nix b/ada/networking/hostname.nix index 95bc424..f8b1373 100644 --- a/ada/networking/hostname.nix +++ b/ada/networking/hostname.nix @@ -1,5 +1,5 @@ -{...}: { +_: { networking = { - hostName = "s0mePC-nix"; + hostName = "ada"; }; } diff --git a/ada/networking/hosts.nix b/ada/networking/hosts.nix index 04747e5..e42e2b1 100644 --- a/ada/networking/hosts.nix +++ b/ada/networking/hosts.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { hosts = { # nope diff --git a/ada/networking/nameservers.nix b/ada/networking/nameservers.nix index a4d22c1..31726b9 100644 --- a/ada/networking/nameservers.nix +++ b/ada/networking/nameservers.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { nameservers = [ # cf dns diff --git a/ada/networking/networkmanager.nix b/ada/networking/networkmanager.nix index 3d66f30..474d212 100644 --- a/ada/networking/networkmanager.nix +++ b/ada/networking/networkmanager.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { networkmanager = { enable = false; diff --git a/ada/networking/timeServers.nix b/ada/networking/timeServers.nix index 88e14c4..9289ea6 100644 --- a/ada/networking/timeServers.nix +++ b/ada/networking/timeServers.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { timeServers = [ "0.nixos.pool.ntp.org" diff --git a/ada/networking/wireguard.nix b/ada/networking/wireguard.nix index 2ee5c02..bd2336c 100644 --- a/ada/networking/wireguard.nix +++ b/ada/networking/wireguard.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { wireguard = { enable = true; diff --git a/ada/nix/settings/allowed-users.nix b/ada/nix/settings/allowed-users.nix index d483d0c..0239519 100644 --- a/ada/nix/settings/allowed-users.nix +++ b/ada/nix/settings/allowed-users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { sandbox = true; diff --git a/ada/nix/settings/auto-optimise-store.nix b/ada/nix/settings/auto-optimise-store.nix index 14f13c5..cb7a22a 100644 --- a/ada/nix/settings/auto-optimise-store.nix +++ b/ada/nix/settings/auto-optimise-store.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { auto-optimise-store = true; diff --git a/ada/nix/settings/experimental-features.nix b/ada/nix/settings/experimental-features.nix index 7ce7e89..9c45bc4 100644 --- a/ada/nix/settings/experimental-features.nix +++ b/ada/nix/settings/experimental-features.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { experimental-features = [ diff --git a/ada/nix/settings/substituters.nix b/ada/nix/settings/substituters.nix index 762ec5c..da0035f 100644 --- a/ada/nix/settings/substituters.nix +++ b/ada/nix/settings/substituters.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { substituters = [ @@ -9,10 +9,10 @@ # cachix "https://nix-community.cachix.org/" "https://chaotic-nyx.cachix.org/" - "https://ags.cachix.org" "https://hyprland.cachix.org" "https://chaotic-nyx.cachix.org/" - "https://colmena.cachix.org" + # nix-community + "https://hydra.nix-community.org/" ]; }; }; diff --git a/ada/nix/settings/trusted-public-keys.nix b/ada/nix/settings/trusted-public-keys.nix index e8710cb..4a128cb 100644 --- a/ada/nix/settings/trusted-public-keys.nix +++ b/ada/nix/settings/trusted-public-keys.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-public-keys = [ diff --git a/ada/nix/settings/trusted-substituters.nix b/ada/nix/settings/trusted-substituters.nix index a5927a2..b5d0387 100644 --- a/ada/nix/settings/trusted-substituters.nix +++ b/ada/nix/settings/trusted-substituters.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-substituters = [ @@ -13,7 +13,6 @@ "https://ags.cachix.org" "https://hyprland.cachix.org" "https://chaotic-nyx.cachix.org/" - "https://colmena.cachix.org" ]; }; }; diff --git a/ada/nix/settings/trusted-users.nix b/ada/nix/settings/trusted-users.nix index e4a9dae..4eee825 100644 --- a/ada/nix/settings/trusted-users.nix +++ b/ada/nix/settings/trusted-users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-users = [ diff --git a/ada/nixpkgs/config.nix b/ada/nixpkgs/config.nix index 27b79b0..b93e4ef 100644 --- a/ada/nixpkgs/config.nix +++ b/ada/nixpkgs/config.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { config = { allowUnfree = true; diff --git a/ada/nixpkgs/overlays.nix b/ada/nixpkgs/overlays.nix index 2881eba..8db0844 100644 --- a/ada/nixpkgs/overlays.nix +++ b/ada/nixpkgs/overlays.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { overlays = [ ]; diff --git a/ada/nixpkgs/system.nix b/ada/nixpkgs/system.nix index 63fda3b..3cbe59a 100644 --- a/ada/nixpkgs/system.nix +++ b/ada/nixpkgs/system.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { system = "x86_64-linux"; hostPlatform = "x86_64-linux"; diff --git a/ada/programs/gamemode.nix b/ada/programs/gamemode.nix index 3a6acb9..4d197e1 100644 --- a/ada/programs/gamemode.nix +++ b/ada/programs/gamemode.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { gamemode = { enable = true; diff --git a/ada/programs/gamescope.nix b/ada/programs/gamescope.nix index 7e6c94c..44be34d 100644 --- a/ada/programs/gamescope.nix +++ b/ada/programs/gamescope.nix @@ -2,7 +2,7 @@ programs = { gamescope = { enable = true; - package = pkgs.gamescope_git; + package = pkgs.gamescope; args = [ "-e" ]; diff --git a/ada/programs/nekoray.nix b/ada/programs/nekoray.nix index b5cfb36..6eb2421 100644 --- a/ada/programs/nekoray.nix +++ b/ada/programs/nekoray.nix @@ -1,6 +1,6 @@ -{...}: { +_: { programs = { - nekoray = { + throne = { enable = true; tunMode = { enable = true; diff --git a/ada/programs/nh.nix b/ada/programs/nh.nix index f43fb06..6d9937d 100644 --- a/ada/programs/nh.nix +++ b/ada/programs/nh.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { nh = { enable = true; diff --git a/ada/programs/ssh.nix b/ada/programs/ssh.nix index 0f8bd7b..017f4c9 100644 --- a/ada/programs/ssh.nix +++ b/ada/programs/ssh.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { ssh = { startAgent = true; diff --git a/ada/programs/yubikey-touch-detector.nix b/ada/programs/yubikey-touch-detector.nix index c9815c5..92fe31f 100644 --- a/ada/programs/yubikey-touch-detector.nix +++ b/ada/programs/yubikey-touch-detector.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { yubikey-touch-detector = { enable = true; diff --git a/ada/security/pam/yubico.nix b/ada/security/pam/yubico.nix index a17999d..cd8a4a1 100644 --- a/ada/security/pam/yubico.nix +++ b/ada/security/pam/yubico.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { pam = { yubico = { diff --git a/ada/security/polkit.nix b/ada/security/polkit.nix index 7604e82..77e04d1 100644 --- a/ada/security/polkit.nix +++ b/ada/security/polkit.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { polkit = { enable = true; diff --git a/ada/security/rtkit.nix b/ada/security/rtkit.nix index d3604df..dd40f89 100644 --- a/ada/security/rtkit.nix +++ b/ada/security/rtkit.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { rtkit = { enable = true; diff --git a/ada/security/sudo-rs.nix b/ada/security/sudo-rs.nix index 772460d..4f270c9 100644 --- a/ada/security/sudo-rs.nix +++ b/ada/security/sudo-rs.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { sudo-rs = { enable = true; diff --git a/ada/services/firewalld.nix b/ada/services/firewalld.nix new file mode 100644 index 0000000..7cd83ae --- /dev/null +++ b/ada/services/firewalld.nix @@ -0,0 +1,15 @@ +{...}: { + services = { + firewalld = { + enable = true; + + settings = { + # nope + }; + + zones = { + # nope + }; + }; + }; +} diff --git a/ada/services/greetd.nix b/ada/services/greetd.nix index 812845d..83d2431 100644 --- a/ada/services/greetd.nix +++ b/ada/services/greetd.nix @@ -9,7 +9,7 @@ restart = false; settings = { default_session = { - command = "${lib.getExe pkgs.tuigreet} -r -t -c ${lib.getExe pkgs.hyprland} --greet-align center"; + command = "${lib.getExe pkgs.tuigreet} -r -t -c ${lib.getExe' pkgs.hyprland "start-hyprland"} --greet-align center"; user = "greeter"; }; }; diff --git a/ada/services/irqbalance.nix b/ada/services/irqbalance.nix index 2b3b1dd..ee8472e 100644 --- a/ada/services/irqbalance.nix +++ b/ada/services/irqbalance.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { irqbalance = { enable = true; diff --git a/ada/services/libinput.nix b/ada/services/libinput.nix index d859d7f..23c2953 100644 --- a/ada/services/libinput.nix +++ b/ada/services/libinput.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { libinput = { enable = true; diff --git a/ada/services/netbird.nix b/ada/services/netbird.nix index 071330a..f375f14 100644 --- a/ada/services/netbird.nix +++ b/ada/services/netbird.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { netbird = { enable = true; diff --git a/ada/services/openssh.nix b/ada/services/openssh.nix index eecdb2e..71ee4c2 100644 --- a/ada/services/openssh.nix +++ b/ada/services/openssh.nix @@ -5,7 +5,7 @@ allowSFTP = true; openFirewall = true; ports = [ - 45734 + 53864 ]; settings = { diff --git a/ada/services/pipewire.nix b/ada/services/pipewire.nix index c4bad1e..43a9f4e 100644 --- a/ada/services/pipewire.nix +++ b/ada/services/pipewire.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { pipewire = { enable = true; @@ -25,6 +25,7 @@ extraConfig = { pipewire = { + # PIPEWIRE_PROPS=node.force-rate=0 "92-low-latency" = { "context.properties" = { "default.clock.rate" = 48000; diff --git a/ada/services/resolved.nix b/ada/services/resolved.nix index 90df2ad..8c268e8 100644 --- a/ada/services/resolved.nix +++ b/ada/services/resolved.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { resolved = { enable = true; diff --git a/ada/services/scx.nix b/ada/services/scx.nix index 2500bba..2ab435e 100644 --- a/ada/services/scx.nix +++ b/ada/services/scx.nix @@ -1,8 +1,7 @@ -{...}: { +_: { services = { scx = { enable = true; - # package = pkgs.scx_git.full; scheduler = "scx_cosmos"; }; }; diff --git a/ada/services/sunshine.nix b/ada/services/sunshine.nix index ae9299a..25a9a56 100644 --- a/ada/services/sunshine.nix +++ b/ada/services/sunshine.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { sunshine = { enable = true; diff --git a/ada/services/yggdrasil.nix b/ada/services/yggdrasil.nix index c7fc99d..c24275b 100644 --- a/ada/services/yggdrasil.nix +++ b/ada/services/yggdrasil.nix @@ -1,63 +1,10 @@ -{...}: { +_: { services = { yggdrasil = { - enable = true; + enable = false; persistentKeys = false; settings = { - PrivateKey = "${yggKeyPC}"; - - Peers = [ - # Germany :Erm: - "tcp://s-fra-0.sergeysedoy97.ru:65533" - "tls://s-fra-0.sergeysedoy97.ru:65534" - "tcp://x-fra-0.sergeysedoy97.ru:65533" - "tls://x-fra-0.sergeysedoy97.ru:65534" - "quic://x-fra-0.sergeysedoy97.ru:65535" - "tls://helium.avevad.com:13378" - "tcp://bode.theender.net:42069" - "tls://bode.theender.net:42169?key=f91b909f43829f8b20732b3bcf80cbc4bb078dd47b41638379a078e35984c9a4" - - # Russia - "tcp://s-mow-0.sergeysedoy97.ru:65533" - "tls://s-mow-0.sergeysedoy97.ru:65534" - "tcp://x-mow-0.sergeysedoy97.ru:65533" - "tls://x-mow-0.sergeysedoy97.ru:65534" - "quic://x-mow-0.sergeysedoy97.ru:65535" - "tcp://s-mow-1.sergeysedoy97.ru:65533" - "tls://s-mow-1.sergeysedoy97.ru:65534" - "tcp://x-mow-1.sergeysedoy97.ru:65533" - "tls://x-mow-1.sergeysedoy97.ru:65534" - "quic://x-mow-1.sergeysedoy97.ru:65535" - "quic://kursk.cleverfox.org:15015" - "tls://kursk.cleverfox.org:15015" - "ws://kursk.cleverfox.org:15016" - "tcp://kzn1.neonxp.ru:7991" - "tls://kzn1.neonxp.ru:7992" - "ws://kzn1.neonxp.ru:7993" - "quic://kzn1.neonxp.ru:7994" - ]; - - Listen = [ - # - ]; - - MulticastInterfaces = [ - { - Regex = ".*"; - Beacon = true; - Listen = false; - Password = ""; - } - ]; - - AllowedPublicKeys = [ - # - ]; - - IfName = "auto"; - - IfMTU = 65535; - NodeInfoPrivacy = false; + # nope }; }; }; diff --git a/ada/services/zapret.nix b/ada/services/zapret.nix deleted file mode 100644 index ad671e1..0000000 --- a/ada/services/zapret.nix +++ /dev/null @@ -1,145 +0,0 @@ -{...}: { - services = { - zapret = { - enable = true; - configureFirewall = true; - qnum = 350; - params = [ - "--wssize 1:6" - - "--filter-tcp=80" - "--dpi-desync=multisplit" - "--dpi-desync-split-pos=10" - "--dpi-desync-repeats=6" - "--new" - - "--filter-tcp=443" - "--dpi-desync=multidisorder" - "--dpi-desync-split-pos=1,midsld" - "--new" - - "--filter-tcp=443" - "--dpi-desync=syndata" - "--dpi-desync-fake-syndata=0x00000000" - "--dpi-desync-ttl=10" - "--new" - - "--filter-udp=443" - "--dpi-desync=fake" - "--dpi-desync-repeats=6" - "--dpi-desync-fake-quic=0x00000000" - "--new" - - "--filter-udp=443" - "--dpi-desync=fake,udplen" - "--dpi-desync-udplen-increment=5" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-cutoff=n3" - "--dpi-desync-repeats=2" - "--new" - - "--filter-tcp=443" - "--dpi-desync=split" - "--dpi-desync-fooling=md5sig,badseq" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-pos=1" - "--dpi-desync-repeats=10" - "--new" - - "--filter-tcp=443" - "--dpi-desync=fake,split2" - "--dpi-desync-fooling=md5sig" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-seqovl=2" - "--dpi-desync-split-pos=2" - - "--dpi-desync-autottl" - "--new" - "--filter-tcp=443" - "--dpi-desync=fake,split2" - "--dpi-desync-fooling=md5sig" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-seqovl=2" - "--dpi-desync-split-pos=2" - "--dpi-desync-autottl" - "--new" - - "--filter-tcp=80" - "--dpi-desync=fake,split2" - "--dpi-desync-fooling=md5sig" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-autottl" - "--new" - - "--filter-tcp=80" - "--dpi-desync-ttl=1" - "--dpi-desync-autottl=2" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-pos=1" - "--dpi-desync=fake,split2" - "--dpi-desync-repeats=6" - "--dpi-desync-fooling=md5sig" - "--new" - ]; - - whitelist = [ - "googlevideo.com" - "youtu.be" - "youtube.com" - "youtubei.googleapis.com" - "googlevideo.com" - "youtu.be" - "youtube.com" - "youtubei.googleapis.com" - "youtubeembeddedplayer.googleapis.com" - "ytimg.l.google.com" - "ytimg.com" - "jnn-pa.googleapis.com" - "youtube-nocookie.com" - "youtube-ui.l.google.com" - "yt-video-upload.l.google.com" - "wide-youtube.l.google.com" - "youtubekids.com" - "ggpht.com" - "music.youtube.com" - "test.googlevideo.com" - "discord.com" - "gateway.discord.gg" - "cdn.discordapp.com" - "discordapp.net" - "discordapp.com" - "discord.gg" - "media.discordapp.net" - "images-ext-1.discordapp.net" - "discord.app" - "discord.media" - "discordcdn.com" - "discord.dev" - "discord.new" - "discord.gift" - "discordstatus.com" - "dis.gd" - "discord.co" - "discord-attachments-uploads-prd.storage.googleapis.com" - "7tv.app" - "7tv.io" - "10tv.app" - "x.com" - "t.co" - "ads-twitter.com" - "twimg.com" - "twitter.com" - "pscp.tv" - "twtrdns.net" - "twttr.com" - "periscope.tv" - "tweetdeck.com" - "twitpic.com" - "twitter.co" - "twitterinc.com" - "twitteroauth.com" - "twitterstat.us" - ]; - }; - }; -} diff --git a/ada/services/zerotier.nix b/ada/services/zerotier.nix index f58210f..b864ebf 100644 --- a/ada/services/zerotier.nix +++ b/ada/services/zerotier.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { zerotierone = { enable = true; diff --git a/ada/systemd/oomd.nix b/ada/systemd/oomd.nix index cbd28f2..bb9a200 100644 --- a/ada/systemd/oomd.nix +++ b/ada/systemd/oomd.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { oomd = { enable = true; diff --git a/ada/systemd/slices/root-slice.nix b/ada/systemd/slices/root-slice.nix index 118ca0b..6a386e9 100644 --- a/ada/systemd/slices/root-slice.nix +++ b/ada/systemd/slices/root-slice.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { slices = { root = { diff --git a/ada/systemd/slices/system-slice.nix b/ada/systemd/slices/system-slice.nix index 148f19b..4de4bba 100644 --- a/ada/systemd/slices/system-slice.nix +++ b/ada/systemd/slices/system-slice.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { slices = { system = { diff --git a/ada/systemd/slices/user-slice.nix b/ada/systemd/slices/user-slice.nix index 21d74d8..311e668 100644 --- a/ada/systemd/slices/user-slice.nix +++ b/ada/systemd/slices/user-slice.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { slices = { user = { diff --git a/ada/time/timeZone.nix b/ada/time/timeZone.nix index 57bca35..cef1656 100644 --- a/ada/time/timeZone.nix +++ b/ada/time/timeZone.nix @@ -1,4 +1,4 @@ -{...}: { +_: { time = { timeZone = "Europe/Moscow"; hardwareClockInLocalTime = true; diff --git a/ada/users/mutableUsers.nix b/ada/users/mutableUsers.nix index 54415f1..9bb56d0 100644 --- a/ada/users/mutableUsers.nix +++ b/ada/users/mutableUsers.nix @@ -1,4 +1,4 @@ -{...}: { +_: { users = { mutableUsers = false; }; diff --git a/ada/users/users/hand7s.nix b/ada/users/users/hand7s.nix index 8c0df47..39aed35 100644 --- a/ada/users/users/hand7s.nix +++ b/ada/users/users/hand7s.nix @@ -1,15 +1,13 @@ -{...}: { +_: { users = { users = { - hand7s = { + "hand7s" = { description = "me"; isSystemUser = false; isNormalUser = true; initialHashedPassword = "$6$ckgRhNWmJgSwOUpJ$kfeAdokd5fa76HWbTmWN2YXx4M/PQVOTJku1ODbqbBhEkUFiLftdaJFRnNXfIM3Jtz0ShoRMSVCB7mDkxDrdi/"; extraGroups = [ "wheel" - "networkmanager" - "docker" ]; }; }; diff --git a/ada/users/users/root.nix b/ada/users/users/root.nix index 595a6f6..faa89b7 100644 --- a/ada/users/users/root.nix +++ b/ada/users/users/root.nix @@ -1,7 +1,7 @@ -{...}: { +_: { users = { users = { - root = { + "root" = { initialHashedPassword = "$6$n4OLMvYHHStHvtmr$6OL0NV1dEM2b6oJRewkhuoFxM80lI67tfbJ6QkCg8WAA1gbeKrcwDAuJjm8zvpY4zcDR3Z5Zbo8uebfOi6XXF0"; }; }; diff --git a/ada/xdg/icons.nix b/ada/xdg/icons.nix index 53ccd0b..7c75adf 100644 --- a/ada/xdg/icons.nix +++ b/ada/xdg/icons.nix @@ -1,4 +1,4 @@ -{...}: { +_: { xdg = { icons = { enable = true; diff --git a/ada/xdg/mime.nix b/ada/xdg/mime.nix index 4b6af20..9197f59 100644 --- a/ada/xdg/mime.nix +++ b/ada/xdg/mime.nix @@ -1,4 +1,4 @@ -{...}: { +_: { xdg = { mime = { enable = true; diff --git a/ada/xdg/portal.nix b/ada/xdg/portal.nix index da6b70a..ff26e0a 100644 --- a/ada/xdg/portal.nix +++ b/ada/xdg/portal.nix @@ -5,12 +5,18 @@ config = { common = { + "org.freedesktop.impl.portal.FileChooser" = "termfilechooser"; + default = [ "gtk" ]; }; hyprland = { + "org.freedesktop.impl.portal.FileChooser" = [ + "termfilechooser" + ]; + preferred = [ "gtk" "hyprland" @@ -22,6 +28,7 @@ xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-hyprland + xdg-desktop-portal-termfilechooser ]; }; }; diff --git a/doc/screen.png b/doc/screen.png index bc9d4a6..9cdbd23 100644 Binary files a/doc/screen.png and b/doc/screen.png differ diff --git a/flake.lock b/flake.lock index d0f20c5..b72ccbb 100644 --- a/flake.lock +++ b/flake.lock @@ -90,11 +90,11 @@ ] }, "locked": { - "lastModified": 1765900596, - "narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=", + "lastModified": 1769428758, + "narHash": "sha256-0G/GzF7lkWs/yl82bXuisSqPn6sf8YGTnbEdFOXvOfU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace", + "rev": "def5e74c97370f15949a67c62e61f1459fcb0e15", "type": "github" }, "original": { @@ -109,11 +109,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1766923289, - "narHash": "sha256-t3ftHtsgAStn4hrihg3/dduLJHhA+0TJ4t7+eF6t3UI=", + "lastModified": 1770541009, + "narHash": "sha256-shdCixtW3QCxbobom3/4Hf8GBB1/IzIK9dlY0nxNd+c=", "owner": "ndfined-crp", "repo": "ayugram-desktop", - "rev": "5d5fa3d7791821cc5f46c8cde7fc89a378126caa", + "rev": "46ae102fac204575ceaa2280fe08d2a881d90abf", "type": "github" }, "original": { @@ -193,16 +193,16 @@ "brew-src": { "flake": false, "locked": { - "lastModified": 1763638478, - "narHash": "sha256-n/IMowE9S23ovmTkKX7KhxXC2Yq41EAVFR2FBIXPcT8=", + "lastModified": 1769363988, + "narHash": "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM=", "owner": "Homebrew", "repo": "brew", - "rev": "fbfdbaba008189499958a7aeb1e2c36ab10c067d", + "rev": "d01011cac6d72032c75fd2cd9489909e95d9faf2", "type": "github" }, "original": { "owner": "Homebrew", - "ref": "5.0.3", + "ref": "5.0.12", "repo": "brew", "type": "github" } @@ -355,11 +355,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1766051518, - "narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", + "lastModified": 1770019181, + "narHash": "sha256-hwsYgDnby50JNVpTRYlF3UR/Rrpt01OrxVuryF40CFY=", "owner": "serokell", "repo": "deploy-rs", - "rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", + "rev": "77c906c0ba56aabdbc72041bf9111b565cdd6171", "type": "github" }, "original": { @@ -375,14 +375,15 @@ "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", "nix": "nix", + "nixd": "nixd", "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1766921574, - "narHash": "sha256-dfKDsaBHJXrPOOJHnZlS7NJRNdl15nEiC0IS28m6caU=", + "lastModified": 1770574308, + "narHash": "sha256-PcOOe5ejQ26K79l8kOWjO5wO9XQuW1GoJMOyJ2t4Wro=", "owner": "cachix", "repo": "devenv", - "rev": "02c9dcf3e050400d8101057f9f00ec458af7c959", + "rev": "819a2f6ab5366c456984b3c2eec3190fa9638314", "type": "github" }, "original": { @@ -417,11 +418,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1764011051, - "narHash": "sha256-M7SZyPZiqZUR/EiiBJnmyUbOi5oE/03tCeFrTiUZchI=", + "lastModified": 1768818222, + "narHash": "sha256-460jc0+CZfyaO8+w8JNtlClB2n4ui1RbHfPTLkpwhU8=", "owner": "numtide", "repo": "devshell", - "rev": "17ed8d9744ebe70424659b0ef74ad6d41fc87071", + "rev": "255a2b1725a20d060f566e4755dbf571bbbb5f76", "type": "github" }, "original": { @@ -437,11 +438,11 @@ ] }, "locked": { - "lastModified": 1766150702, - "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=", + "lastModified": 1769524058, + "narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", "owner": "nix-community", "repo": "disko", - "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378", + "rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", "type": "github" }, "original": { @@ -458,11 +459,11 @@ ] }, "locked": { - "lastModified": 1749200714, - "narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=", + "lastModified": 1769524058, + "narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", "owner": "nix-community", "repo": "disko", - "rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6", + "rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", "type": "github" }, "original": { @@ -475,11 +476,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1764724327, - "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", + "lastModified": 1764873433, + "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", + "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92", "type": "github" }, "original": { @@ -507,11 +508,11 @@ "flake-compat_10": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "edolstra", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { @@ -539,11 +540,27 @@ "flake-compat_12": { "flake": false, "locked": { - "lastModified": 1765121682, - "narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "edolstra", "repo": "flake-compat", - "rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_13": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { @@ -587,11 +604,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1766661267, - "narHash": "sha256-QN1r/zNqvXHwWqlRAnRtFf4CQwIOJx58PtdExIzAw94=", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "edolstra", "repo": "flake-compat", - "rev": "f275e157c50c3a9a682b4c9b4aa4db7a4cd3b5f2", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { @@ -603,15 +620,15 @@ "flake-compat_5": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -619,15 +636,15 @@ "flake-compat_6": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -704,11 +721,11 @@ "nixpkgs-lib": "nixpkgs-lib_6" }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -725,11 +742,33 @@ ] }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1767609335, + "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "250481aafeb741edfe23d29195671c19b36b6dca", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_12": { + "inputs": { + "nixpkgs-lib": [ + "system-manager", + "userborn", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "type": "github" }, "original": { @@ -743,11 +782,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -782,11 +821,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -800,17 +839,16 @@ "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", - "type": "github" + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "revCount": 442, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.442%2Brev-57928607ea566b5db3ad13af0e57e921e6b12381/019c1cea-7090-7d32-9a74-9794d2b26381/source.tar.gz" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1" } }, "flake-parts_6": { @@ -878,11 +916,11 @@ ] }, "locked": { - "lastModified": 1748821116, - "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "type": "github" }, "original": { @@ -891,6 +929,21 @@ "type": "github" } }, + "flake-root": { + "locked": { + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", + "owner": "srid", + "repo": "flake-root", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, "flake-schemas": { "locked": { "lastModified": 1721999734, @@ -943,7 +996,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1681202837, @@ -967,11 +1020,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1766923174, - "narHash": "sha256-ou/w74yGjLwCyyC3au8H6AHzXNIGfS6UYwTcgHk2jlA=", + "lastModified": 1770541033, + "narHash": "sha256-dbbmFzMZWlRSaOt5KK+awtMDJB/nZOjwmMkIx8kJVuM=", "owner": "freesmteam", "repo": "freesmlauncher", - "rev": "8437e33318adf0d1c13a0f00b5865c4a2d45d273", + "rev": "77cf9c3efb5844e6e0926b908ff1e345cc3ebacb", "type": "github" }, "original": { @@ -1029,11 +1082,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1765911976, - "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", + "lastModified": 1769939035, + "narHash": "sha256-Fok2AmefgVA0+eprw2NDwqKkPGEI5wvR+twiZagBvrg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", + "rev": "a8ca480175326551d6c4121498316261cbb5b260", "type": "github" }, "original": { @@ -1048,11 +1101,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1763847365, - "narHash": "sha256-RVjSCZWzs1nn4k4jf3hj9lhoRKI8S2xc0xMXAz+gTQ8=", + "lastModified": 1770427665, + "narHash": "sha256-ybTs68n3nNNkZEFC9DCbuBux+ZJzRBV8E3Queo/6GuU=", "owner": "synapdeck", "repo": "github-actions-nix", - "rev": "e941d8dde765b1a860b757e68e814e73a4b1284c", + "rev": "dbd7b9ad1280d9ec984fd9de1ecfb663db08f78b", "type": "github" }, "original": { @@ -1170,15 +1223,38 @@ "type": "github" } }, + "gitignore_6": { + "inputs": { + "nixpkgs": [ + "system-manager", + "userborn", + "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" + } + }, "gnome-shell": { "flake": false, "locked": { "host": "gitlab.gnome.org", - "lastModified": 1764524476, - "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", + "lastModified": 1767737596, + "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", "type": "gitlab" }, "original": { @@ -1239,11 +1315,11 @@ ] }, "locked": { - "lastModified": 1766980997, - "narHash": "sha256-oegDNAvyQwaG3GqSi4U5jpKM7SYHGESGVIuKMRV/lbw=", + "lastModified": 1770491427, + "narHash": "sha256-8b+0vixdqGnIIcgsPhjdX7EGPdzcVQqYxF+ujjex654=", "owner": "nix-community", "repo": "home-manager", - "rev": "7a7b43c7231a439d248179ba8d561dd6cd81799b", + "rev": "cbd8a72e5fe6af19d40e2741dc440d9227836860", "type": "github" }, "original": { @@ -1271,11 +1347,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1767014651, - "narHash": "sha256-AE9W5hVXt173hrxRe7PPflBFKO91F/ECXxvJLGhqamE=", + "lastModified": 1770568800, + "narHash": "sha256-Y0pztyPec35mqZeIvR/lGwjMeQYYmJt2iiAOceZM6ks=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "c1cd7a67e525f5d899fd7b6331962c7d89bce5b4", + "rev": "b9bf9add2b33f31c26853ee3bd56dabd4068daf2", "type": "github" }, "original": { @@ -1287,11 +1363,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1767011689, - "narHash": "sha256-wHXQgi4PKfE0L4hX+SeNbSL9K5dVRviiFSL4NvAvRMA=", + "lastModified": 1770579340, + "narHash": "sha256-DXWgNZZPjrurB7ThnO7AlwaADrtWxjndqc+e6rJ5Qc0=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "013afd0970597dd92bb2862b2ef887ef983df546", + "rev": "2251e9e36df0fdd514bd9fed3ebfc145ed3a80ee", "type": "github" }, "original": { @@ -1345,11 +1421,11 @@ ] }, "locked": { - "lastModified": 1763733840, - "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", + "lastModified": 1769284023, + "narHash": "sha256-xG34vwYJ79rA2wVC8KFuM8r36urJTG6/csXx7LiiSYU=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", + "rev": "13c536659d46893596412d180449353a900a1d31", "type": "github" }, "original": { @@ -1375,11 +1451,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1766929444, - "narHash": "sha256-mGk+mk/miObjivy+6qMqQm+Jyl8R7t6B/1SaiBkUUyY=", + "lastModified": 1770470830, + "narHash": "sha256-6Nh0HrMoM7wdCpByaBDMo2fvndlrCZke2VNp69gX0G0=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "6a055fc747a5a899b97f9b4c1d1a52229a805b1e", + "rev": "f68ac7ef7589e1536d438f7fbfb3ad987538fe0f", "type": "github" }, "original": { @@ -1421,11 +1497,11 @@ ] }, "locked": { - "lastModified": 1765643131, - "narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=", + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "e50ae912813bdfa8372d62daf454f48d6df02297", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", "type": "github" }, "original": { @@ -1475,11 +1551,11 @@ ] }, "locked": { - "lastModified": 1764612430, - "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", + "lastModified": 1767983607, + "narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "0d00dc118981531aa731150b6ea551ef037acddd", + "rev": "d4037379e6057246b408bbcf796cf3e9838af5b2", "type": "github" }, "original": { @@ -1552,11 +1628,11 @@ ] }, "locked": { - "lastModified": 1766160771, - "narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=", + "lastModified": 1766253372, + "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f", + "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9", "type": "github" }, "original": { @@ -1606,11 +1682,11 @@ ] }, "locked": { - "lastModified": 1766253200, - "narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=", + "lastModified": 1769202094, + "narHash": "sha256-gdJr/vWWLRW85ucatSjoBULPB2dqBJd/53CZmQ9t91Q=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "1079777525b30a947c8d657fac158e00ae85de9d", + "rev": "a45ca05050d22629b3c7969a926d37870d7dd75c", "type": "github" }, "original": { @@ -1774,16 +1850,16 @@ ] }, "locked": { - "lastModified": 1761648602, - "narHash": "sha256-H97KSB/luq/aGobKRuHahOvT1r7C03BgB6D5HBZsbN8=", + "lastModified": 1770395975, + "narHash": "sha256-zg0AEZn8d4rqIIsw5XrkVL5p1y6fBj2L57awfUg+gNA=", "owner": "cachix", "repo": "nix", - "rev": "3e5644da6830ef65f0a2f7ec22830c46285bfff6", + "rev": "ccb6019ce2bd11f5de5fe4617c0079d8cb1ed057", "type": "github" }, "original": { "owner": "cachix", - "ref": "devenv-2.30.6", + "ref": "devenv-2.32", "repo": "nix", "type": "github" } @@ -1792,7 +1868,7 @@ "inputs": { "nixpkgs": "nixpkgs_12", "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix_3" }, "locked": { "lastModified": 1770308099, @@ -1838,11 +1914,11 @@ ] }, "locked": { - "lastModified": 1766784396, - "narHash": "sha256-rIlgatT0JtwxsEpzq+UrrIJCRfVAXgbYPzose1DmAcM=", + "lastModified": 1770184146, + "narHash": "sha256-DsqnN6LvXmohTRaal7tVZO/AKBuZ02kPBiZKSU4qa/k=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "f0c8e1f6feb562b5db09cee9fb566a2f989e6b55", + "rev": "0d7874ef7e3ba02d58bebb871e6e29da36fa1b37", "type": "github" }, "original": { @@ -1920,11 +1996,11 @@ "brew-src": "brew-src" }, "locked": { - "lastModified": 1764473698, - "narHash": "sha256-C91gPgv6udN5WuIZWNehp8qdLqlrzX6iF/YyboOj6XI=", + "lastModified": 1769437432, + "narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=", "owner": "zhaofengli", "repo": "nix-homebrew", - "rev": "6a8ab60bfd66154feeaa1021fc3b32684814a62a", + "rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5", "type": "github" }, "original": { @@ -1940,11 +2016,11 @@ ] }, "locked": { - "lastModified": 1765267181, - "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", + "lastModified": 1770315571, + "narHash": "sha256-hy0gcAgAcxrnSWKGuNO+Ob0x6jQ2xkR6hoaR0qJBHYs=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", + "rev": "2684bb8080a6f2ca5f9d494de5ef875bc1c4ecdb", "type": "github" }, "original": { @@ -2009,19 +2085,47 @@ ] }, "locked": { - "lastModified": 1748765518, - "narHash": "sha256-vftOR+7zwnMWl5UpG32GL1VBeNGTDZZT0hv+2uNuBGw=", - "owner": "Mic92", + "lastModified": 1769079217, + "narHash": "sha256-R6qzhu+YJolxE2vUsPQWWwUKMbAG5nXX3pBtg8BNX38=", + "owner": "Enzime", "repo": "nix-vm-test", - "rev": "d6642fbaf42fc98883d84bab66cd0ec720d9dd0c", + "rev": "58c15f78947b431d6c206e0966500c7e9139bd2f", "type": "github" }, "original": { - "owner": "Mic92", + "owner": "Enzime", + "ref": "pr-105-latest", "repo": "nix-vm-test", "type": "github" } }, + "nixd": { + "inputs": { + "flake-parts": [ + "devenv", + "flake-parts" + ], + "flake-root": "flake-root", + "nixpkgs": [ + "devenv", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1763964548, + "narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=", + "owner": "nix-community", + "repo": "nixd", + "rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixd", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1736643958, @@ -2045,14 +2149,14 @@ "nixos-images": "nixos-images", "nixos-stable": "nixos-stable", "nixpkgs": "nixpkgs_18", - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix_4" }, "locked": { - "lastModified": 1766503044, - "narHash": "sha256-DdJ0OIngRjekqXJauSQ8y9vyDO24dX8v7DiaWmxk7PU=", + "lastModified": 1769956140, + "narHash": "sha256-D+RQ+DaIC/GVwv5lUs7e8jSmh8aPc77Kg/gRjaS25Zk=", "owner": "nix-community", "repo": "nixos-anywhere", - "rev": "e86fad431cf9161ca39747972bd255897572dc3b", + "rev": "92f82c5196a5f8588be4967e535c4cfd35e85902", "type": "github" }, "original": { @@ -2069,11 +2173,11 @@ "optnix": "optnix" }, "locked": { - "lastModified": 1766287443, - "narHash": "sha256-voUed/NmqwJuCjZDgRp9H8LLECyrEB2QAXhM/slePwU=", + "lastModified": 1770502790, + "narHash": "sha256-27j0cfyk/tzJkJmOLLH0liW48xqD/y4rI9QO9mEtxTk=", "owner": "nix-community", "repo": "nixos-cli", - "rev": "5a856cb469b7565e79cf12c1607fce29b6d5d371", + "rev": "52826ae7c4f3a65a986f347e55e1620a38de4dd2", "type": "github" }, "original": { @@ -2090,11 +2194,11 @@ ] }, "locked": { - "lastModified": 1764234087, - "narHash": "sha256-NHF7QWa0ZPT8hsJrvijREW3+nifmF2rTXgS2v0tpcEA=", + "lastModified": 1769813415, + "narHash": "sha256-nnVmNNKBi1YiBNPhKclNYDORoHkuKipoz7EtVnXO50A=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "032a1878682fafe829edfcf5fdfad635a2efe748", + "rev": "8946737ff703382fda7623b9fab071d037e897d5", "type": "github" }, "original": { @@ -2115,11 +2219,11 @@ ] }, "locked": { - "lastModified": 1749086071, - "narHash": "sha256-4+fY7i+q78F3t6APz0cMC4kRxsyCb+UTyfhbckkCd7Q=", + "lastModified": 1766770015, + "narHash": "sha256-kUmVBU+uBUPl/v3biPiWrk680b8N9rRMhtY97wsxiJc=", "owner": "nix-community", "repo": "nixos-images", - "rev": "aa38dbbdf0e955baef7e03dfc4265ae3fdac4808", + "rev": "e4dba54ddb6b2ad9c6550e5baaed2fa27938a5d2", "type": "github" }, "original": { @@ -2130,16 +2234,16 @@ }, "nixos-stable": { "locked": { - "lastModified": 1749086602, - "narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=", + "lastModified": 1769598131, + "narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4792576cb003c994bd7cc1edada3129def20b27d", + "rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.05", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } @@ -2150,11 +2254,11 @@ "nixpkgs": "nixpkgs_21" }, "locked": { - "lastModified": 1765841014, - "narHash": "sha256-55V0AJ36V5Egh4kMhWtDh117eE3GOjwq5LhwxDn9eHg=", + "lastModified": 1770494267, + "narHash": "sha256-LBKeSntmhCBj0tHFVFGfT4+KBmKi57gAnr240/F1Qkc=", "owner": "nix-community", "repo": "nixos-wsl", - "rev": "be4af8042e7a61fa12fda58fe9a3b3babdefe17b", + "rev": "843582709028607bf112d7cdc99af825e224a29b", "type": "github" }, "original": { @@ -2214,11 +2318,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "rev": "72716169fe93074c333e8d0173151350670b824c", "type": "github" }, "original": { @@ -2229,11 +2333,11 @@ }, "nixpkgs-lib_2": { "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", + "rev": "72716169fe93074c333e8d0173151350670b824c", "type": "github" }, "original": { @@ -2244,11 +2348,11 @@ }, "nixpkgs-lib_3": { "locked": { - "lastModified": 1761765539, - "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "rev": "72716169fe93074c333e8d0173151350670b824c", "type": "github" }, "original": { @@ -2289,11 +2393,11 @@ }, "nixpkgs-lib_6": { "locked": { - "lastModified": 1761765539, - "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "lastModified": 1765674936, + "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", "type": "github" }, "original": { @@ -2320,11 +2424,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1766070988, - "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", + "lastModified": 1769461804, + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "type": "github" }, "original": { @@ -2447,11 +2551,11 @@ }, "nixpkgs_18": { "locked": { - "lastModified": 1749201760, - "narHash": "sha256-LEZbj+VD/AR/dWL5ns1gMwzMvp4mLlv4WalxmZTKy5Y=", + "lastModified": 1769900851, + "narHash": "sha256-RgCgXS3WiG9c/1wxFM6OXmmv39dSaLLON9VeAbTTAIM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ebd3748a6b97de45844aa62701b81df35c5c1269", + "rev": "30a3e96da641620c63f2e1f345ea434ac78f5de1", "type": "github" }, "original": { @@ -2463,11 +2567,11 @@ }, "nixpkgs_19": { "locked": { - "lastModified": 1764527385, - "narHash": "sha256-nA5ywiGKl76atrbdZ5Aucd8SjF/v8ew9b9QsC+MKL14=", + "lastModified": 1767151656, + "narHash": "sha256-ujL2AoYBnJBN262HD95yer7QYUmYp5kFZGYbyCCKxq8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23258e03aaa49b3a68597e3e50eb0cbce7e42e9d", + "rev": "f665af0cdb70ed27e1bd8f9fdfecaf451260fc55", "type": "github" }, "original": { @@ -2479,11 +2583,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1766651565, - "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "lastModified": 1770197578, + "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "type": "github" }, "original": { @@ -2511,11 +2615,11 @@ }, "nixpkgs_21": { "locked": { - "lastModified": 1765472234, - "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", + "lastModified": 1770019141, + "narHash": "sha256-VKS4ZLNx4PNrABoB0L8KUpc1fE7CLpQXQs985tGfaCU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", + "rev": "cb369ef2efd432b3cdf8622b0ffc0a97a02f3137", "type": "github" }, "original": { @@ -2527,11 +2631,11 @@ }, "nixpkgs_22": { "locked": { - "lastModified": 1766902085, - "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", + "lastModified": 1770197578, + "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "type": "github" }, "original": { @@ -2543,11 +2647,11 @@ }, "nixpkgs_23": { "locked": { - "lastModified": 1766840161, - "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=", + "lastModified": 1770380644, + "narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1", + "rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe", "type": "github" }, "original": { @@ -2559,11 +2663,11 @@ }, "nixpkgs_24": { "locked": { - "lastModified": 1764517877, - "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", + "lastModified": 1767767207, + "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", + "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", "type": "github" }, "original": { @@ -2575,11 +2679,11 @@ }, "nixpkgs_25": { "locked": { - "lastModified": 1761236834, - "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d5faa84122bc0a1fd5d378492efce4e289f8eac1", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", "type": "github" }, "original": { @@ -2669,11 +2773,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1766651565, - "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "lastModified": 1770197578, + "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "type": "github" }, "original": { @@ -2701,18 +2805,16 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1763678758, - "narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b", - "type": "github" + "lastModified": 1770197578, + "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "revCount": 940249, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.940249%2Brev-00c21e4c93d963c50d4c0c89bfa84ed6e0694df2/019c2c37-21f9-727c-86c5-0523e601d163/source.tar.gz" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" } }, "nmd": { @@ -2760,11 +2862,11 @@ ] }, "locked": { - "lastModified": 1767011923, - "narHash": "sha256-fvrQP91KneK1Zigm5kLl46V1Zpwqu88hSl9aDybq5dk=", + "lastModified": 1770579902, + "narHash": "sha256-l2kpxVUKMu1Ctv/jxsel0KziGn4WTrphBCQrGLayajU=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "fb6f2259cb49c7533b834676530570e54e06facb", + "rev": "d241506bfcc31dde28d315b42280f4a883e24966", "type": "github" }, "original": { @@ -2785,11 +2887,11 @@ ] }, "locked": { - "lastModified": 1764773531, - "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", + "lastModified": 1767810917, + "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=", "owner": "nix-community", "repo": "NUR", - "rev": "1d9616689e98beded059ad0384b9951e967a17fa", + "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4", "type": "github" }, "original": { @@ -2887,6 +2989,34 @@ "type": "github" } }, + "pre-commit-hooks-nix_2": { + "inputs": { + "flake-compat": [ + "system-manager", + "userborn", + "flake-compat" + ], + "gitignore": "gitignore_6", + "nixpkgs": [ + "system-manager", + "userborn", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769069492, + "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "pre-commit-hooks_2": { "inputs": { "flake-compat": "flake-compat_6", @@ -2897,11 +3027,11 @@ ] }, "locked": { - "lastModified": 1765911976, - "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", + "lastModified": 1769069492, + "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", + "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", "type": "github" }, "original": { @@ -2917,11 +3047,11 @@ ] }, "locked": { - "lastModified": 1766725085, - "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", + "lastModified": 1770542768, + "narHash": "sha256-XzvFb2305PjC465D+ederTO27puG3S8GmDXcUB79J1w=", "ref": "refs/heads/master", - "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", - "revCount": 715, + "rev": "395a1301a83e98dafc325289630ccacda5d69607", + "revCount": 733, "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" }, @@ -2969,7 +3099,7 @@ "spicetify-nix": "spicetify-nix", "stylix": "stylix", "system-manager": "system-manager", - "treefmt-nix": "treefmt-nix_4", + "treefmt-nix": "treefmt-nix_5", "vscserver": "vscserver" } }, @@ -3057,11 +3187,11 @@ "nixpkgs": "nixpkgs_23" }, "locked": { - "lastModified": 1766894905, - "narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=", + "lastModified": 1770526836, + "narHash": "sha256-xbvX5Ik+0inJcLJtJ/AajAt7xCk6FOCrm5ogpwwvVDg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7", + "rev": "d6e0e666048a5395d6ea4283143b7c9ac704720d", "type": "github" }, "original": { @@ -3078,11 +3208,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1766897356, - "narHash": "sha256-oKp9luuuXuMoUwpGUKUdt0G7lZGovcyOEI3guG0rNCw=", + "lastModified": 1770528352, + "narHash": "sha256-KO51BALxgLUlhg1CqQgA3Rj8vgAcDvoLxzNLTxD65cc=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "6b49c4094e93629af2fcf789e0897450f57e2551", + "rev": "9f4ab243968118026f4ff82f7ce41d30319e2bf0", "type": "github" }, "original": { @@ -3110,11 +3240,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1766603026, - "narHash": "sha256-J2DDdRqSU4w9NNgkMfmMeaLIof5PXtS9RG7y6ckDvQE=", + "lastModified": 1770504996, + "narHash": "sha256-CjgGVXmYuEqx9rT4o1EKZVhacp6TuwZRicmaekkSvfE=", "owner": "nix-community", "repo": "stylix", - "rev": "551df12ee3ebac52c5712058bd97fd9faa4c3430", + "rev": "044ac0cc6d914f1dac22a728013bc3797f77cfab", "type": "github" }, "original": { @@ -3127,14 +3257,15 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "userborn": "userborn" }, "locked": { - "lastModified": 1766013091, - "narHash": "sha256-qFKkS3kz8gzQ1hjFeXYINOOGNHeYSmsa5Nj1Xs4rAec=", + "lastModified": 1770381702, + "narHash": "sha256-6tEoBVig+2KDF1eVRp7iKrzb3C3wTKMn7flRV1vEXHM=", "owner": "numtide", "repo": "system-manager", - "rev": "bd3e4193c2bde18329e314b896b8e0ac8e17debd", + "rev": "56661d27dddf18475b2d1f4c06da0e445642ba02", "type": "github" }, "original": { @@ -3263,6 +3394,21 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -3299,11 +3445,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1763914658, - "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", + "lastModified": 1767710407, + "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=", "owner": "tinted-theming", "repo": "schemes", - "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", + "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2", "type": "github" }, "original": { @@ -3315,11 +3461,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1764465359, - "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", + "lastModified": 1767489635, + "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "edf89a780e239263cc691a987721f786ddc4f6aa", + "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184", "type": "github" }, "original": { @@ -3331,11 +3477,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1764464512, - "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", + "lastModified": 1767488740, + "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", + "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40", "type": "github" }, "original": { @@ -3366,6 +3512,28 @@ } }, "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "devenv", + "nixd", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1734704479, + "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { "inputs": { "nixpkgs": "nixpkgs_14" }, @@ -3383,7 +3551,7 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_4": { "inputs": { "nixpkgs": [ "nixos-anywhere", @@ -3391,11 +3559,11 @@ ] }, "locked": { - "lastModified": 1749194973, - "narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=", + "lastModified": 1769691507, + "narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5", + "rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b", "type": "github" }, "original": { @@ -3404,16 +3572,16 @@ "type": "github" } }, - "treefmt-nix_4": { + "treefmt-nix_5": { "inputs": { "nixpkgs": "nixpkgs_25" }, "locked": { - "lastModified": 1766000401, - "narHash": "sha256-+cqN4PJz9y0JQXfAK5J1drd0U05D5fcAGhzhfVrDlsI=", + "lastModified": 1770228511, + "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "42d96e75aa56a3f70cab7e7dc4a32868db28e8fd", + "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", "type": "github" }, "original": { @@ -3422,6 +3590,32 @@ "type": "github" } }, + "userborn": { + "inputs": { + "flake-compat": "flake-compat_13", + "flake-parts": "flake-parts_12", + "nixpkgs": [ + "system-manager", + "nixpkgs" + ], + "pre-commit-hooks-nix": "pre-commit-hooks-nix_2", + "systems": "systems_8" + }, + "locked": { + "lastModified": 1770243776, + "narHash": "sha256-Nc7V8fmtW4but0LU0tEwjokRirDFuX6fmnmivmAvMZ8=", + "owner": "jfroche", + "repo": "userborn", + "rev": "9252a66ae12fff9f6e992310203a7aa763ba89ef", + "type": "github" + }, + "original": { + "owner": "jfroche", + "ref": "fix-existing-groups-members", + "repo": "userborn", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems_3" @@ -3446,11 +3640,11 @@ "nixpkgs": "nixpkgs_26" }, "locked": { - "lastModified": 1753541826, - "narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=", + "lastModified": 1770124655, + "narHash": "sha256-yHmd2B13EtBUPLJ+x0EaBwNkQr9LTne1arLVxT6hSnY=", "owner": "nix-community", "repo": "nixos-vscode-server", - "rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d", + "rev": "92ce71c3ba5a94f854e02d57b14af4997ab54ef0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c41e060..4df3072 100644 --- a/flake.nix +++ b/flake.nix @@ -468,7 +468,10 @@ ]; }; - "s0mev1rtn0de-nix" = inputs.nixpkgs.lib.nixosSystem { + # my VPSes: + + # VPS 1 + "hazel" = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit @@ -478,15 +481,22 @@ }; modules = [ - "${self}/s0mev1rtn0de-nix/" + { + networking.hostName = inputs.nixpkgs.lib.mkDefault "hazel"; + } + + "${self}/kyra/" + inputs.agenix.nixosModules.default inputs.disko.nixosModules.disko inputs.home-manager.nixosModules.default inputs.sops-nix.nixosModules.sops inputs.nix-index-database.nixosModules.nix-index + inputs.nix-mineral.nixosModules.nix-mineral ]; }; - "s0meMiniPC-nix" = inputs.nixpkgs.lib.nixosSystem { + # VPS 2 + "lynn" = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit @@ -496,7 +506,83 @@ }; modules = [ - "${self}/s0meMiniPC-nix" + { + networking.hostName = inputs.nixpkgs.lib.mkDefault "lynn"; + } + + "${self}/kyra/" + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko + inputs.home-manager.nixosModules.default + inputs.sops-nix.nixosModules.sops + inputs.nix-index-database.nixosModules.nix-index + inputs.nix-mineral.nixosModules.nix-mineral + ]; + }; + + # VPS 3 + "ivy" = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit + inputs + self + ; + }; + + modules = [ + { + networking.hostName = inputs.nixpkgs.lib.mkDefault "ivy"; + } + + "${self}/kyra/" + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko + inputs.home-manager.nixosModules.default + inputs.sops-nix.nixosModules.sops + inputs.nix-index-database.nixosModules.nix-index + inputs.nix-mineral.nixosModules.nix-mineral + ]; + }; + + # VPS 4 + "mel" = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit + inputs + self + ; + }; + + modules = [ + { + networking.hostName = inputs.nixpkgs.lib.mkDefault "mel"; + } + + "${self}/kyra/" + inputs.agenix.nixosModules.default + inputs.disko.nixosModules.disko + inputs.home-manager.nixosModules.default + inputs.sops-nix.nixosModules.sops + inputs.nix-index-database.nixosModules.nix-index + inputs.nix-mineral.nixosModules.nix-mineral + ]; + }; + + # homelab + "viola" = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit + inputs + self + ; + }; + + modules = [ + "${self}/viola" + inputs.agenix.nixosModules.default inputs.chaotic.nixosModules.default inputs.stylix.nixosModules.stylix inputs.sops-nix.nixosModules.sops @@ -504,42 +590,31 @@ inputs.lanzaboote.nixosModules.lanzaboote inputs.home-manager.nixosModules.default inputs.nix-index-database.nixosModules.nix-index + inputs.nix-mineral.nixosModules.nix-mineral ]; }; - }; - # deploy-rs - deploy = { - user = "hand7s"; - interactiveSudo = true; - autoRollback = true; - magicRollback = true; - remoteBuild = false; - sshOpts = [ - "-p" - "6969" - ]; - - nodes = { - "s0mev1rtn0de-nix" = { - 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"; - }; - }; + # WSL2 + "wanda" = inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit + inputs + self + ; }; - "s0meMiniPC-nix" = { - hostname = "100.109.71.194"; - profiles = { - main = { - path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.s0mev1rtn0de-nix; - profilePath = "/nix/var/nix/profiles/system"; - }; - }; - }; + modules = [ + "${self}/wanda/" + inputs.agenix.nixosModules.default + inputs.nixos-wsl.nixosModules.default + inputs.stylix.nixosModules.stylix + inputs.home-manager.nixosModules.default + inputs.sops-nix.nixosModules.sops + inputs.nix-index-database.nixosModules.nix-index + inputs.nix-bwrapper.nixosModules.default + inputs.nix-mineral.nixosModules.nix-mineral + ]; }; }; }; diff --git a/hand7s/default.nix b/hand7s/default.nix index e72a53c..c94158c 100644 --- a/hand7s/default.nix +++ b/hand7s/default.nix @@ -4,8 +4,6 @@ "${self}/hand7s/options/gui.nix" "${self}/hand7s/wayland/hyprland.nix" - "${self}/hand7s/wayland/river.nix" - "${self}/hand7s/wayland/sway.nix" "${self}/hand7s/home/defaults.nix" "${self}/hand7s/home/gui.nix" @@ -17,7 +15,7 @@ "${self}/hand7s/nixpkgs/overlays.nix" "${self}/hand7s/services/hypridle.nix" - "${self}/hand7s/services/swayidle.nix" + "${self}/hand7s/services/hyprsunset.nix" "${self}/hand7s/services/kdeconnect.nix" "${self}/hand7s/systemd/hyprpolkitagent-service.nix" @@ -33,19 +31,15 @@ "${self}/hand7s/programs/index.nix" "${self}/hand7s/programs/obs-studio.nix" "${self}/hand7s/programs/starship.nix" - "${self}/hand7s/programs/firefox.nix" - "${self}/hand7s/programs/swaylock.nix" "${self}/hand7s/programs/yazi.nix" "${self}/hand7s/programs/zoxide.nix" "${self}/hand7s/programs/chrome.nix" "${self}/hand7s/programs/hyprlock.nix" - "${self}/hand7s/programs/hyprpanel.nix" "${self}/hand7s/programs/spicetify.nix" "${self}/hand7s/programs/vscode.nix" "${self}/hand7s/programs/zellij.nix" - "${self}/hand7s/programs/zed-editor.nix" "${self}/hand7s/programs/direnv.nix" - "${self}/hand7s/programs/kitty.nix" "${self}/hand7s/programs/noctalia.nix" + "${self}/hand7s/programs/iamb.nix" ]; } diff --git a/hand7s/fonts/fonts.nix b/hand7s/fonts/fonts.nix index f02660a..ce4efc9 100644 --- a/hand7s/fonts/fonts.nix +++ b/hand7s/fonts/fonts.nix @@ -1,4 +1,4 @@ -{...}: { +_: { fonts = { fontconfig = { enable = true; diff --git a/hand7s/gtk/gtk.nix b/hand7s/gtk/gtk.nix index 8ddb6c4..95d197c 100644 --- a/hand7s/gtk/gtk.nix +++ b/hand7s/gtk/gtk.nix @@ -1,4 +1,4 @@ -{...}: { +_: { gtk = { enable = true; }; diff --git a/hand7s/home/defaults.nix b/hand7s/home/defaults.nix index 63fe9e9..d423c84 100644 --- a/hand7s/home/defaults.nix +++ b/hand7s/home/defaults.nix @@ -1,4 +1,4 @@ -{...}: { +_: { home = { stateVersion = "24.11"; username = "hand7s"; diff --git a/hand7s/home/gui.nix b/hand7s/home/gui.nix index 611056d..de692fb 100644 --- a/hand7s/home/gui.nix +++ b/hand7s/home/gui.nix @@ -1,5 +1,6 @@ { osConfig, + config, lib, ... }: { @@ -7,27 +8,13 @@ gui = { enable = lib.mkIf ( - osConfig.networking.hostName == "s0mePC-nix" || osConfig.networking.hostName == "s0melapt0p-nix" + osConfig.networking.hostName == "ada" || osConfig.networking.hostName == "isla" || osConfig.networking.hostName == "wanda" ) true; sessionType = - if - ( - osConfig.networking.hostName == "s0mePC-nix" - ) - then "Hyprland" - else if - ( - osConfig.networking.hostName == "s0mew0rkstat1on-nix" - ) - then "Hyprland" - else if - ( - osConfig.networking.hostName == "s0melapt0p-nix" - ) - then "Sway" - else "None"; + lib.mkIf config.home.gui.enable + "Hyprland"; }; }; } diff --git a/hand7s/home/keyboard.nix b/hand7s/home/keyboard.nix index 25887b5..a712895 100644 --- a/hand7s/home/keyboard.nix +++ b/hand7s/home/keyboard.nix @@ -1,4 +1,4 @@ -{...}: { +_: { home = { keyboard = { variant = ""; diff --git a/hand7s/home/packages.nix b/hand7s/home/packages.nix index 99ef80d..9ccc0ea 100644 --- a/hand7s/home/packages.nix +++ b/hand7s/home/packages.nix @@ -1,62 +1,32 @@ -{ - osConfig, - pkgs, - lib, - ... -}: { +{pkgs, ...}: { home = { - packages = with pkgs; - [ - fd - gh - sd - xh - dua - nvd - gat - dust - sops - rsync - procs - sbctl - gping - dconf - tokei - comma - ifuse - trippy - bottom - kubectl - yt-dlp - ripgrep - gitoxide - tty-clock - deploy-rs - monero-cli - nixos-anywhere - wireguard-tools - yubico-piv-tool - yubikey-manager - libimobiledevice - nix-output-monitor - yubikey-touch-detector - yubikey-personalization - netbird-ui - ] - ++ lib.optionals ( - osConfig.networking.hostName == "s0mePC-nix" - ) [ - mindustry - thunderbird - tetrio-desktop - min-ed-launcher - qbittorrent-enhanced - ] - ++ lib.optionals ( - osConfig.networking.hostName == "s0melapt0p-nix" - ) [ - iwgtk - brightnessctl - ]; + packages = with pkgs; [ + fd + gh + sd + xh + dua + nvd + dust + sops + rsync + procs + sbctl + gping + comma + trippy + bottom + ragenix + ripgrep + kubectl + gitoxide + deploy-rs + btop-rocm + bubblewrap + ripgrep-all + nixos-anywhere + wireguard-tools + nix-output-monitor + ]; }; } diff --git a/hand7s/nix/settings/substituters.nix b/hand7s/nix/settings/substituters.nix index 4cc1aa4..da0035f 100644 --- a/hand7s/nix/settings/substituters.nix +++ b/hand7s/nix/settings/substituters.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { substituters = [ @@ -9,9 +9,10 @@ # cachix "https://nix-community.cachix.org/" "https://chaotic-nyx.cachix.org/" - "https://ags.cachix.org" "https://hyprland.cachix.org" "https://chaotic-nyx.cachix.org/" + # nix-community + "https://hydra.nix-community.org/" ]; }; }; diff --git a/hand7s/nix/settings/trusted-public-keys.nix b/hand7s/nix/settings/trusted-public-keys.nix index 62cbbde..e5cc01b 100644 --- a/hand7s/nix/settings/trusted-public-keys.nix +++ b/hand7s/nix/settings/trusted-public-keys.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-public-keys = [ diff --git a/hand7s/nixpkgs/config.nix b/hand7s/nixpkgs/config.nix index 0425353..13ed34c 100644 --- a/hand7s/nixpkgs/config.nix +++ b/hand7s/nixpkgs/config.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { config = { allowBroken = true; diff --git a/hand7s/nixpkgs/overlays.nix b/hand7s/nixpkgs/overlays.nix index 2881eba..8db0844 100644 --- a/hand7s/nixpkgs/overlays.nix +++ b/hand7s/nixpkgs/overlays.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { overlays = [ ]; diff --git a/hand7s/options/gui.nix b/hand7s/options/gui.nix index 5f8fc37..ee67884 100644 --- a/hand7s/options/gui.nix +++ b/hand7s/options/gui.nix @@ -2,12 +2,12 @@ lib, pkgs, config, - inputs, + self, ... }: let cfg = config.home.gui; - ayugram = inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop; - freesm-launcher = inputs.freesm.packages.${pkgs.system}.freesmlauncher; + ayugram = self.inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop; + freesm-launcher = self.inputs.freesm.packages.${pkgs.system}.freesmlauncher; in { options.home.gui = { enable = lib.mkEnableOption '' @@ -19,6 +19,7 @@ in { ''; sessionType = lib.mkOption { + default = "None"; type = lib.types.enum [ "DWL" "Sway" @@ -26,7 +27,7 @@ in { "Hyprland" "None" ]; - default = "None"; + description = '' This option allows to choose current desktop session. All three: riverwm, sway and Hyprland has their own config. Almost @@ -39,49 +40,55 @@ in { home = { packages = with pkgs; [ + throne + heroic vesktop - nekoray + ayugram anki-bin obsidian - playerctl - monero-gui mindustry - bitwarden lan-mouse + monero-gui parsec-bin + proton-pass pwvucontrol easyeffects - ayugram - element-desktop + thunderbird + chatterino7 + tetrio-desktop hyprpolkitagent freesm-launcher + bitwarden-desktop + qbittorrent-enhanced (discord.override { withVencord = true; withOpenASAR = false; }) ] - ++ lib.optionals ( - cfg.sessionType == "Sway" - ) [ - swaykbdd - autotiling-rs - sway-audio-idle-inhibit - sway-contrib.grimshot - sway-contrib.inactive-windows-transparency - ] - ++ lib.optionals ( - cfg.sessionType == "River" - ) [ - wayshot - waylock - wayidle - ] ++ lib.optionals ( cfg.sessionType == "Hyprland" ) [ - inputs.noctalia.packages.${system}.default + fum + timg + dconf + iwgtk + tokei + ifuse + yt-dlp + termusic + playerctl + tty-clock grimblast + monero-cli + brightnessctl + hyprsysteminfo + yubico-piv-tool + yubikey-manager + libimobiledevice + yubikey-touch-detector + yubikey-personalization + self.inputs.noctalia.packages.${system}.default ]; }; @@ -89,10 +96,8 @@ in { chromium.enable = true; spicetify.enable = true; vscode.enable = true; - fuzzel.enable = true; ghostty.enable = true; - firefox.enable = true; - alacritty.enable = true; + git.enable = true; }; services = with lib.mkDefault; { diff --git a/hand7s/programs/direnv.nix b/hand7s/programs/direnv.nix index 973693c..84af0d8 100644 --- a/hand7s/programs/direnv.nix +++ b/hand7s/programs/direnv.nix @@ -1,7 +1,9 @@ -{...}: { +_: { programs = { direnv = { enable = true; + silent = true; + nix-direnv = { enable = true; }; diff --git a/hand7s/programs/eza.nix b/hand7s/programs/eza.nix index 21fe51b..2ac0ee4 100644 --- a/hand7s/programs/eza.nix +++ b/hand7s/programs/eza.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { eza = { enable = true; diff --git a/hand7s/programs/firefox.nix b/hand7s/programs/firefox.nix deleted file mode 100644 index a2a2aca..0000000 --- a/hand7s/programs/firefox.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - inputs, - pkgs, - ... -}: let - zen-browser = inputs.zen-browser.packages.${pkgs.system}.default; -in { - programs = { - firefox = { - package = zen-browser; - profiles = rec { - default = { - userContent = " - --zen-colors-primary: #82aaff !important; - --zen-colors-secondary: #c099ff !important; - --zen-colors-tertiary: #1e2030 !important; - --zen-colors-border: #3b4261 !important; - --zen-dialog-background: #222436 !important; - - .tab-background[selected=[selected=''] { - background-color: #6c598c !important; - } - "; - }; - }; - }; - }; -} diff --git a/hand7s/programs/fzf.nix b/hand7s/programs/fzf.nix index 47bc89b..31960f5 100644 --- a/hand7s/programs/fzf.nix +++ b/hand7s/programs/fzf.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { fzf = { enable = true; diff --git a/hand7s/programs/ghostty.nix b/hand7s/programs/ghostty.nix index 28ed2f7..c1e2e65 100644 --- a/hand7s/programs/ghostty.nix +++ b/hand7s/programs/ghostty.nix @@ -8,12 +8,25 @@ enableFishIntegration = true; installBatSyntax = true; settings = { - title = "spooky scary tty"; + title = ""; - command = "${lib.getExe pkgs.fish} --login --interactive"; + bell-features = "system"; + + command = "${lib.getExe pkgs.fish}"; confirm-close-surface = false; + cursor-style-blink = true; + cursor-style = "bar"; + + mouse-hide-while-typing = true; + + working-directory = "home"; + + window-save-state = "never"; + + window-inherit-working-directory = false; + keybind = [ "ctrl+shift+d=new_split:right" "ctrl+shift+a=new_split:down" diff --git a/hand7s/programs/git.nix b/hand7s/programs/git.nix index 459f49f..e3e9b49 100644 --- a/hand7s/programs/git.nix +++ b/hand7s/programs/git.nix @@ -5,23 +5,18 @@ }: { programs = { git = { - enable = true; package = pkgs.git; - userEmail = "117505144+s0me1newithhand7s@users.noreply.github.com"; - userName = "s0me1newithhand7s"; - aliases = { - pushall = "push github && push gitlab"; - pushall-f = "push --force github && push --force gitlab"; - }; + settings = { + user = { + email = "git+me@hand7s.org"; + name = "s0me1newithhand7s"; + }; - signing = { - format = "ssh"; - signByDefault = true; - key = osConfig.sops.secrets.sshKey.path; - }; - - lfs = { - enable = true; + signing = { + format = "ssh"; + signByDefault = true; + key = osConfig.sops.secrets.sshKey.path; + }; }; }; }; diff --git a/hand7s/programs/helix.nix b/hand7s/programs/helix.nix index 65b6973..c8ae19c 100644 --- a/hand7s/programs/helix.nix +++ b/hand7s/programs/helix.nix @@ -5,7 +5,7 @@ }: { programs = { helix = { - package = pkgs.helix_git; + package = pkgs.helix; enable = true; defaultEditor = true; extraPackages = with pkgs; [ diff --git a/hand7s/programs/hyprlock.nix b/hand7s/programs/hyprlock.nix index 64952a1..992a71f 100644 --- a/hand7s/programs/hyprlock.nix +++ b/hand7s/programs/hyprlock.nix @@ -1,5 +1,6 @@ { config, + pkgs, lib, ... }: { @@ -20,14 +21,17 @@ label = [ { monitor = ""; - text = "$TIME"; + text = '' + cmd[update:1000] ${lib.getExe' pkgs.uutils-coreutils-noprefix "date"} +"%T" + ''; + text_align = "center"; color = config.lib.stylix.colors.base01; font_size = 48; font_family = config.stylix.fonts.emoji.name; rotate = 0; - position = "0, 50"; + position = "0, 200"; halign = "center"; valign = "center"; @@ -39,14 +43,17 @@ { monitor = ""; - text = "> $LAYOUT[en,ru]"; + text = '' + cmd[update:1000] ${lib.getExe' pkgs.uutils-coreutils-noprefix "date"} +"%A, %B" + ''; + text_align = "center"; - color = config.lib.stylix.colors.base06; - font_size = 26; + color = config.lib.stylix.colors.base01; + font_size = 24; font_family = config.stylix.fonts.emoji.name; rotate = 0; - position = "200, -50"; + position = "0, 150"; halign = "center"; valign = "center"; @@ -73,7 +80,7 @@ hide_input = false; rounding = -0.3; - fail_text = "$FAIL ($ATTEMPTS)"; + fail_text = "$FAIL -> $ATTEMPTS"; fail_transition = 1000; capslock_color = -1; numlock_color = -1; @@ -81,7 +88,7 @@ invert_numlock = false; swap_font_color = false; - position = "0, -50"; + position = "0, -650"; halign = "center"; valign = "center"; diff --git a/hand7s/programs/hyprpanel.nix b/hand7s/programs/hyprpanel.nix deleted file mode 100644 index 4d8e995..0000000 --- a/hand7s/programs/hyprpanel.nix +++ /dev/null @@ -1,440 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - programs = { - hyprpanel = { - enable = false; - - settings = { - layout = { - "bar.layouts" = { - "*" = { - left = [ - "dashboard" - "workspaces" - "media" - ]; - - middle = [ - "clock" - "power" - ]; - - right = [ - "network" - "kbinput" - "volume" - "systray" - "notifications" - ]; - }; - }; - }; - - scalingPriority = "hyprland"; - - tear = false; - dummy = true; - - hyprpanel = { - restartAgs = true; - restartCommand = "${lib.getExe' pkgs.systemd "systemctl"} --user restart hyprpanel.service"; - }; - - bar = { - autoHide = "never"; - scrollSpeed = 5; - - battery = { - hideLabelWhenFull = true; - label = true; - }; - - bluetooth = { - label = true; - }; - - clock = { - format = "%a, %b %d %I:%M:%S %p"; - icon = "󰸗"; - showIcon = true; - showTime = true; - }; - - launcher = { - icon = " "; - autoDetectIcon = true; - }; - - media = { - format = "{artist: - }{title}"; - show_active_only = true; - show_label = true; - truncation = true; - truncation_size = 30; - }; - - network = { - label = true; - showWifiInfo = true; - truncation = true; - truncation_size = 10; - }; - - notifications = { - show_total = false; - hideCountWhenZero = true; - }; - - volume = { - label = true; - scrollDown = "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%-"; - scrollUp = "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%+"; - rightClick = "${lib.getExe' pkgs.wireplumber "wpctl"} set-mute @DEFAULT_AUDIO_SINK@ toggle"; - }; - - windowtitle = { - icon = true; - label = true; - class_name = false; - custom_title = true; - truncation = true; - truncation_size = 50; - }; - - workspaces = { - show_icons = false; - show_numbered = false; - showApplicationIcons = true; - showAllActive = true; - showWsIcons = true; - numbered_active_indicator = "highlight"; - workspaces = 20; - monitorSpecific = true; - reverse_scroll = false; - scroll_speed = 5; - spacing = 1.0; - workspaceMask = true; - ignored = ""; - - applicationIconEmptyWorkspace = ""; - applicationIconFallback = "󰣆"; - - icons = { - active = ""; - available = ""; - occupied = ""; - }; - }; - - customModules = { - scrollSpeed = 5; - - cava = { - showIcon = true; - icon = ""; - spaceCharacter = " "; - showActiveOnly = true; - stereo = false; - autoSensitivity = true; - - bars = 10; - channels = 2; - framerate = 165; - samplerate = 48000; - lowCutoff = 20; - highCutoff = 20000; - - barCharacters = [ - "▁" - "▂" - "▃" - "▄" - "▅" - "▆" - "▇" - "█" - ]; - }; - - cpu = { - icon = ""; - label = true; - round = true; - pollingInterval = 1000; - }; - - cpuTemp = { - icon = ""; - label = true; - pollingInterval = 500; - round = true; - showUnit = true; - sensor = ""; - }; - - hypridle = { - label = true; - pollingInterval = 500; - - offIcon = ""; - offLabel = "OFF"; - onIcon = ""; - onLabel = "ON"; - }; - - hyprsunset = { - label = true; - pollingInterval = 500; - - offIcon = "󰛨"; - offLabel = "OFF"; - onIcon = "󱩌"; - onLabel = "ON"; - }; - - kbLayout = { - icon = "󰌌"; - label = true; - labelType = "code"; - rightClick = "${lib.getExe' pkgs.hyprland "hyprctl"} switchxkblayout monsgeek-monsgeek-keyboard next"; - }; - - netstat = { - icon = "󰖟"; - label = true; - pollingInterval = 250; - dynamicIcon = true; - round = true; - - rateUnit = "auto"; - networkInLabel = "↓"; - networkOutLabel = "↑"; - }; - - power = { - icon = ""; - showLabel = true; - leftClick = "menu:powerdropdown"; - }; - - microphone = { - label = true; - mutedIcon = ""; - unmutedIcon = ""; - - leftClick = "menu:audio"; - }; - - ram = { - icon = ""; - label = true; - labelType = "percentage"; - pollingInterval = 250; - round = true; - }; - - storage = { - icon = "󰋊"; - label = true; - labelType = "percentage"; - pollingInterval = 2000; - round = false; - }; - - submap = { - label = true; - showSubmapName = true; - enabledIcon = "󰌐"; - enabledText = "ON"; - disabledIcon = "󰌌"; - disabledText = "OFF"; - }; - - updates = { - label = true; - autoHide = true; - padZero = true; - pollingInterval = 1440000; - updateCommand = "nix flake update --flake ~/Projects/flake"; - - icon = { - pending = "󰏗"; - updated = "󰏖"; - }; - }; - - weather = { - label = true; - unit = "metric"; - }; - }; - }; - - menus = { - transition = "crossfade"; - transitionTime = 200; - - clock = { - time = { - military = false; - hideSeconds = true; - }; - - weather = { - enabled = true; - location = "Yelabuga"; - unit = "metric"; - key = "ac3df6535cac4448a4c83337252702"; - }; - }; - - dashboard = { - shortcuts = { - left = { - shortcut1 = { - command = "${lib.getExe pkgs.google-chrome}"; - icon = ""; - tooltip = "Google Chrome"; - }; - - shortcut2 = { - command = "spotify"; - icon = ""; - tooltip = "Spotify"; - }; - - shortcut3 = { - command = "${lib.getExe pkgs.discord}"; - icon = ""; - tooltip = "Discord"; - }; - - shortcut4 = { - command = "ayugram-desktop"; - icon = ""; - tooltip = "Telegram"; - }; - }; - - right = { - shortcut1 = { - command = "${lib.getExe pkgs.fuzzel}"; - icon = ""; - tooltip = "Search"; - }; - - shortcut3 = { - command = "${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png"; - icon = "󰄀"; - tooltip = "Screenshot"; - }; - }; - }; - - stats = { - enable_gpu = false; - enabled = true; - interval = 1000; - }; - - directories = { - enabled = true; - }; - - powermenu = { - avatar = { - image = "/home/hand7s/Pictures/pfp4_mini.jpg"; - name = "system"; - }; - }; - }; - - media = { - displayTime = true; - displayTimeTooltip = true; - noMediaText = "-"; - hideAlbum = false; - hideAuthor = false; - }; - - power = { - confirmation = true; - showLabel = true; - logout = "${lib.getExe' pkgs.hyprland "hyprctl"} dispatch exit"; - reboot = "${lib.getExe' pkgs.systemd "systemctl"} reboot"; - shutdown = "${lib.getExe' pkgs.systemd "systemctl"} poweroff"; - sleep = "${lib.getExe' pkgs.systemd "systemctl"} suspend"; - }; - - volume = { - raiseMaximumVolume = false; - }; - }; - - notifications = { - active_monitor = true; - cache_actions = true; - clearDelay = 50; - displayedTotal = 5; - showActionsOnHover = true; - timeout = 5000; - }; - - theme = { - matugen = false; - - name = "tokyo-night-vivid"; - - font = { - name = "Hack Font Nerd Regular"; - size = "16px"; - weight = 600; - }; - - bar = { - transparent = false; - floating = true; - layer = "top"; - location = "top"; - - margin_bottom = "0"; - margin_sides = "20px"; - margin_top = "20px"; - - border_radius = "10px"; - - border = { - location = "full"; - width = "2px"; - }; - - buttons = { - enableBorders = false; - monochrome = false; - style = "default"; - }; - }; - - osd = { - enable = true; - active_monitor = true; - duration = 2500; - location = "right"; - margins = "5px 5px 5px 5px"; - muted_zero = false; - radius = "10px"; - }; - }; - - wallpaper = { - enable = false; - pywal = false; - image = ""; - }; - }; - }; - }; -} diff --git a/hand7s/programs/iamb.nix b/hand7s/programs/iamb.nix new file mode 100644 index 0000000..268faf0 --- /dev/null +++ b/hand7s/programs/iamb.nix @@ -0,0 +1,16 @@ +_: { + programs = { + iamb = { + enable = true; + settings = { + default_profile = "hand7s"; + profiles = { + hand7s = { + user_id = "@s0me1newithhand7s:ubiquelambda.dev"; + url = "https://ubiquelambda.dev"; + }; + }; + }; + }; + }; +} diff --git a/hand7s/programs/index.nix b/hand7s/programs/index.nix index a3c61a7..d7475b9 100644 --- a/hand7s/programs/index.nix +++ b/hand7s/programs/index.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { nix-index = { enable = true; diff --git a/hand7s/programs/kitty.nix b/hand7s/programs/kitty.nix deleted file mode 100644 index 6c3c04b..0000000 --- a/hand7s/programs/kitty.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - programs = { - kitty = { - enable = true; - enableGitIntegration = true; - - shellIntegration = { - enableFishIntegration = true; - }; - }; - }; -} diff --git a/hand7s/programs/mangohud.nix b/hand7s/programs/mangohud.nix index 820c2db..df305f7 100644 --- a/hand7s/programs/mangohud.nix +++ b/hand7s/programs/mangohud.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { mangohud = { enable = true; diff --git a/hand7s/programs/mpv.nix b/hand7s/programs/mpv.nix index 6c75a39..f8aa847 100644 --- a/hand7s/programs/mpv.nix +++ b/hand7s/programs/mpv.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { mpv = { enable = true; diff --git a/hand7s/programs/noctalia.nix b/hand7s/programs/noctalia.nix index b425b99..662f6cc 100644 --- a/hand7s/programs/noctalia.nix +++ b/hand7s/programs/noctalia.nix @@ -1,4 +1,8 @@ -{config, ...}: { +{ + lib, + config, + ... +}: { programs = if ( @@ -14,12 +18,14 @@ dimDesktop = false; forceBlackScreenCorners = true; showScreenCorners = true; - screenRadiusRatio = 2; + screenRadiusRatio = 1; radiusRatio = 0.7; + enableShadows = true; + shadowDirection = "center"; }; appLauncher = { - position = "center"; + position = "bottom_center"; useApp2Unit = false; sortByMostUsed = true; enableClipboardHistory = false; @@ -34,8 +40,8 @@ }; bar = { - floating = true; - density = "comfortable"; + floating = false; + density = "default"; position = "right"; showCapsule = false; marginVertical = 1; @@ -47,7 +53,7 @@ widgets = { left = [ { - id = "SidePanelToggle"; + id = "ControlCenter"; useDistroLogo = true; } @@ -112,6 +118,10 @@ }; }; + notifications = { + location = "top_center"; + }; + controlCenter = { position = "close_to_bar_button"; quickSettingsStyle = "compact"; @@ -181,23 +191,27 @@ enabled = true; alwaysOnTop = true; autoHideMs = 2500; - location = "top"; + location = "bottom_center"; monitors = [ "DP-3" ]; }; ui = { - fontDefault = "Nerd Fonts Hack"; + fontDefault = lib.mkForce "Nerd Fonts Hack"; fontDefaultScale = 1; - fontFixed = "Nerd Fonts Hack"; + fontFixed = lib.mkForce "Nerd Fonts Hack"; fontFixedScale = 1; idleInhibitorEnabled = false; tooltipsEnabled = true; }; + wallpaper = { + enabled = false; + }; + location = { - name = "Yelaguba"; + name = "Tatarstan, Yelaguba"; showWeekNumberInCalendar = true; use12hourFormat = false; useFahrenheit = false; diff --git a/hand7s/programs/spicetify.nix b/hand7s/programs/spicetify.nix index 4e59070..56ab174 100644 --- a/hand7s/programs/spicetify.nix +++ b/hand7s/programs/spicetify.nix @@ -1,19 +1,19 @@ { lib, pkgs, - inputs, + self, ... }: { programs = { spicetify = { - enabledExtensions = with inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [ + enabledExtensions = with self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [ adblock hidePodcasts shuffle ]; - theme = lib.mkForce inputs.spicetify-nix.legacyPackages.${pkgs.system}.themes.text; - colorScheme = lib.mkForce "Spotify"; + theme = lib.mkForce self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.themes.text; + colorScheme = lib.mkForce "TokyoNight"; }; }; } diff --git a/hand7s/programs/starship.nix b/hand7s/programs/starship.nix index b89715f..5228038 100644 --- a/hand7s/programs/starship.nix +++ b/hand7s/programs/starship.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { starship = { enable = true; @@ -7,15 +7,14 @@ add_newline = true; format = '' - [╭──╼](bold blue) $hostname $os + [╭──╼](bold blue) $username at $hostname on $os [┆](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status - [╰─>](bold blue) - ''; + [╰─>](bold blue) ''; right_format = ''$cmd_duration ($character) at ❗$time''; os = { - format = "on [($name $codename$version$edition $symbol )]($style)"; + format = "[($name $codename$version$edition $symbol )]($style)"; style = "bold blue"; disabled = false; }; @@ -27,6 +26,13 @@ disabled = false; }; + username = { + show_always = true; + disabled = false; + format = "[$user]($style)"; + style_user = "bold green"; + }; + character = { success_symbol = "[✓](bold green)"; error_symbol = "[✗](bold red)"; diff --git a/hand7s/programs/swaylock.nix b/hand7s/programs/swaylock.nix deleted file mode 100644 index 8a2927d..0000000 --- a/hand7s/programs/swaylock.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - config, - lib, - ... -}: { - programs = { - swaylock = { - enable = - lib.mkIf ( - config.home.gui.sessionType == "Sway" - ) - true; - - settings = { - show-failed-attempts = true; - }; - }; - }; -} diff --git a/hand7s/programs/vscode.nix b/hand7s/programs/vscode.nix index f6cdb04..c847eaa 100644 --- a/hand7s/programs/vscode.nix +++ b/hand7s/programs/vscode.nix @@ -6,14 +6,19 @@ }: { programs = { vscode = { + package = pkgs.vscodium; profiles = { default = { extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide + ms-vscode-remote.vscode-remote-extensionpack ms-vsliveshare.vsliveshare + redhat.vscode-yaml redhat.ansible + + nefrob.vscode-just-syntax ]; userSettings = lib.mkForce { @@ -24,7 +29,7 @@ "editor.cursorSmoothCaretAnimation" = "on"; "editor.wordWrap" = "on"; - "workbench.colorTheme" = "Tokyo Night Moon"; + "workbench.colorTheme" = "Tokyo Storm AltSynt"; "workbench.sideBar.location" = "right"; "workbench.activityBar.location" = "top"; "workbench.editor.editorActionsLocation" = "titleBar"; @@ -35,11 +40,6 @@ "terminal.integrated.cursorBlinking" = true; "files.autoSave" = "afterDelay"; - - "[nix]" = { - "editor.insertSpaces" = true; - "editor.tabSize" = 4; - }; }; }; }; diff --git a/hand7s/programs/yazi.nix b/hand7s/programs/yazi.nix index 3cd61fe..234c8e9 100644 --- a/hand7s/programs/yazi.nix +++ b/hand7s/programs/yazi.nix @@ -50,6 +50,14 @@ } ]; + view = [ + { + run = "${lib.getExe pkgs.timg} ''-p k -C $@ | ${lib.getExe' pkgs.uutils-coreutils-noprefix "more"}''"; + block = true; + for = "unix"; + } + ]; + edit = [ { run = "${lib.getExe pkgs.helix} ''$@''"; @@ -61,12 +69,36 @@ open = [ { run = "${lib.getExe' pkgs.xdg-utils "xdg-open"} ''$@''"; - block = true; + orphan = true; for = "unix"; } ]; }; + open = { + rules = [ + { + mime = "image/*"; + use = "view"; + } + + { + mime = "text/*"; + use = "edit"; + } + + { + mime = "audio/*"; + use = "play"; + } + + { + mime = "video/*"; + use = "play"; + } + ]; + }; + input = { cursor_blink = true; }; diff --git a/hand7s/programs/zed-editor.nix b/hand7s/programs/zed-editor.nix deleted file mode 100644 index c49e0e9..0000000 --- a/hand7s/programs/zed-editor.nix +++ /dev/null @@ -1,32 +0,0 @@ -{pkgs, ...}: { - programs = { - zed-editor = { - enable = false; - package = pkgs.zed-editor_git; - installRemoteServer = true; - userSettings = { - vim_mode = true; - features = { - copilot = false; - }; - - tab_bar = { - show = false; - }; - - telemetry = { - metrics = false; - }; - }; - - extensions = [ - "nix" - "xy-zed" - ]; - - extraPackages = [ - pkgs.nixd - ]; - }; - }; -} diff --git a/hand7s/programs/zoxide.nix b/hand7s/programs/zoxide.nix index 5f82533..0739e21 100644 --- a/hand7s/programs/zoxide.nix +++ b/hand7s/programs/zoxide.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { zoxide = { enable = true; diff --git a/hand7s/qt/qt.nix b/hand7s/qt/qt.nix index b79437c..fab0fc5 100644 --- a/hand7s/qt/qt.nix +++ b/hand7s/qt/qt.nix @@ -1,4 +1,4 @@ -{...}: { +_: { qt = { enable = true; }; diff --git a/hand7s/services/hyprsunset.nix b/hand7s/services/hyprsunset.nix new file mode 100644 index 0000000..c289855 --- /dev/null +++ b/hand7s/services/hyprsunset.nix @@ -0,0 +1,23 @@ +_: { + services = { + hyprsunset = { + enable = true; + settings = { + max-gamma = 150; + + profile = [ + { + time = "6:00"; + identity = true; + } + + { + time = "22:00"; + temperature = 4000; + gamma = 1.1; + } + ]; + }; + }; + }; +} diff --git a/hand7s/services/swayidle.nix b/hand7s/services/swayidle.nix deleted file mode 100644 index a6f9f94..0000000 --- a/hand7s/services/swayidle.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - services = { - swayidle = { - enable = - lib.mkIf ( - config.home.gui.sessionType == "Sway" - ) - true; - - events = [ - { - event = "lock"; - command = "${lib.getExe pkgs.swaylock}"; - } - - { - event = "before-sleep"; - command = "${lib.getExe' pkgs.sway "swaymsg"} 'output * power off'"; - } - - { - event = "after-resume"; - command = "${lib.getExe' pkgs.sway "swaymsg"} 'output * power on'"; - } - ]; - - timeouts = [ - { - timeout = 300; - command = "${lib.getExe pkgs.brightnessctl} -s set 10"; - resumeCommand = "${lib.getExe pkgs.brightnessctl} -r"; - } - - { - timeout = 600; - command = "${lib.getExe pkgs.swaylock}"; - } - - { - timeout = 900; - command = "${lib.getExe' pkgs.systemd "systemctl"} suspend"; - } - ]; - }; - }; -} diff --git a/hand7s/stylix/base16Scheme.nix b/hand7s/stylix/base16Scheme.nix index 8edbd4d..6cea17f 100644 --- a/hand7s/stylix/base16Scheme.nix +++ b/hand7s/stylix/base16Scheme.nix @@ -1,4 +1,4 @@ -{...}: { +_: { stylix = { base16Scheme = { scheme = "Tokyonight by Folke Lemaitre (https://github.com/folke)"; diff --git a/hand7s/stylix/defaults.nix b/hand7s/stylix/defaults.nix index 30f65de..143d1ea 100644 --- a/hand7s/stylix/defaults.nix +++ b/hand7s/stylix/defaults.nix @@ -1,4 +1,4 @@ -{...}: { +_: { stylix = { enable = true; autoEnable = true; diff --git a/hand7s/stylix/image.nix b/hand7s/stylix/image.nix index 17a3c49..4f07c45 100644 --- a/hand7s/stylix/image.nix +++ b/hand7s/stylix/image.nix @@ -1,5 +1,5 @@ -{...}: { +_: { stylix = { - image = ./wallpaper3.jpg; + image = ./wallpaper3.png; }; } diff --git a/hand7s/stylix/red_ish.nix b/hand7s/stylix/red_ish.nix index 909ea6d..6c5ae1e 100644 --- a/hand7s/stylix/red_ish.nix +++ b/hand7s/stylix/red_ish.nix @@ -1,4 +1,4 @@ -{...}: { +_: { stylix = { base16Scheme = { base00 = "2a1617"; diff --git a/hand7s/stylix/wallpaper.jpg b/hand7s/stylix/wallpaper.jpg index e8c68c8..5f5fcad 100644 Binary files a/hand7s/stylix/wallpaper.jpg and b/hand7s/stylix/wallpaper.jpg differ diff --git a/hand7s/stylix/wallpaper2.jpg b/hand7s/stylix/wallpaper2.jpg deleted file mode 100644 index 618018d..0000000 Binary files a/hand7s/stylix/wallpaper2.jpg and /dev/null differ diff --git a/hand7s/stylix/wallpaper3.jpg b/hand7s/stylix/wallpaper3.jpg deleted file mode 100644 index 5f5fcad..0000000 Binary files a/hand7s/stylix/wallpaper3.jpg and /dev/null differ diff --git a/hand7s/stylix/wallpaper3.png b/hand7s/stylix/wallpaper3.png new file mode 100644 index 0000000..97a0dae Binary files /dev/null and b/hand7s/stylix/wallpaper3.png differ diff --git a/hand7s/wayland/hyprland.nix b/hand7s/wayland/hyprland.nix index e9812fe..907ee9f 100644 --- a/hand7s/wayland/hyprland.nix +++ b/hand7s/wayland/hyprland.nix @@ -1,5 +1,5 @@ { - inputs, + self, config, pkgs, lib, @@ -14,8 +14,8 @@ ) true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; - portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; + package = self.inputs.hyprland.packages.${pkgs.system}.hyprland; + portalPackage = self.inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; settings = { monitor = ", 2560x1440@165.00Hz, 0x0, 1"; @@ -92,9 +92,7 @@ "${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service" "${lib.getExe' pkgs.systemd "systemctl"} --user start hypridle.service" "${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service" - - # "${lib.getExe' pkgs.systemd "systemctl"} --user start noctalis.service" - "${lib.getExe inputs.noctalia.packages.${pkgs.system}.default}" + "${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default}" "${lib.getExe' pkgs.hyprland "hyprctl"} setcursor material_light_cursors 20" ]; @@ -102,13 +100,12 @@ bind = [ "ALT, return, exec, ${lib.getExe pkgs.ghostty}" "ALT, Q, killactive," - "ALT, S, exec, ${lib.getExe inputs.noctalia.packages.${pkgs.system}.default} ipc call launcher toggle" + "ALT, S, exec, ${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default} ipc call launcher toggle" "ALT, F, fullscreen, 0" "ALT, L, exec, ${lib.getExe pkgs.hyprlock}" - "ALT SHIFT, E, exit," "ALT SHIFT, space, togglefloating, active" - "ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png" + "ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png | , killall -9 hyprpicker" "ALT, left, movefocus, l" "ALT, right, movefocus, r" @@ -139,6 +136,8 @@ "ALT SHIFT, 0, movetoworkspacesilent, 10" "ALT SHIFT, H, movetoworkspacesilent, special" + "ALT, Tab, hyprexpo:expo, toggle" + "ALT, mouse_down, workspace, e+1" "ALT, mouse_up, workspace, e-1" ]; @@ -166,14 +165,16 @@ animation = [ "enabled = true" - "bezier = bez, 0.05, 0.9, 0.1, 1.05" + "animation = windows, 1, 7, popin" + "animation = windowsOut, 1, 7, popin" - "animation = windows, 1, 7, bez" - "animation = windowsOut, 1, 7, default, popin 80%" - "animation = border, 1, 10, default" - "animation = borderangle, 1, 10, default" - "animation = fade, 1, 7, default" - "animation = workspaces, 1, 7, default" + "animation = layers, 1, 7, fade" + + "animation = border, 1, 10" + "animation = borderangle, 1, 10" + + "animation = workspaces, 1, 7, slidevert" + "animation = specialWorkspace, 1, 7, slidevert" ]; misc = { @@ -216,10 +217,15 @@ hyprscrolling = { fullscreen_on_one_column = true; follow_focus = true; + column_width = 0.7; + focus_fit_method = "center"; }; - easymotion = { - only_special = false; + hyprexpo = { + columns = 2; + gap_size = 10; + skip_empty = true; + workspace_method = "workspace"; }; dynamic-cursors = { @@ -228,7 +234,7 @@ threshold = 2; stretch = { limit = 4000; - function = "quadratic"; + function = "linear"; }; shake = { @@ -256,17 +262,10 @@ }; }; - plugins = [ - # pkgs.hyprlandPlugins.hypr-dynamic-cursors - # pkgs.hyprlandPlugins.xtra-dispatchers - # pkgs.hyprlandPlugins.hyprwinwrap - # pkgs.hyprlandPlugins.hyprgrass - # pkgs.hyprlandPlugins.hyprscrolling - - # inputs.hyprcurs.packages.${pkgs.system}.hypr-dynamic-cursors - # inputs.hyprplugs.packages.${pkgs.system}.hyprscrolling - # inputs.hyprplugs.packages.${pkgs.system}.xtra-dispatchers - # inputs.hyprplugs.packages.${pkgs.system}.hyprwinwrap + plugins = with pkgs.hyprlandPlugins; [ + hypr-dynamic-cursors + hyprscrolling + hyprexpo ]; }; }; diff --git a/hand7s/wayland/river.nix b/hand7s/wayland/river.nix deleted file mode 100644 index 6b0415e..0000000 --- a/hand7s/wayland/river.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - wayland = { - windowManager = { - river = { - enable = - lib.mkIf ( - config.home.gui.sessionType == "River" - ) - true; - - settings = { - default-layout = "rivertile"; - focus-follows-cursor = "normal"; - border-width = 2; - - declare-mod = [ - "locked" - "normal" - ]; - - xwayland = { - enable = true; - }; - - map = { - normal = { - "Alt Q" = "close"; - "Alt S" = "spawn fuzzel"; - "Alt Return" = "spawn ghostty"; - "Alt L" = "spawn hyprlock"; - "Alt F" = "toggle-fullscreen"; - - "Alt+Shift S" = "spawn wayshot --clipboard"; - "Alt+Shift E" = "exit"; - "Alt+Shift Space" = "toggle-float"; - - "Alt Up" = "send-to-output next"; - "Alt Down" = "send-to-output previous"; - "Alt Right" = "send-to-output next"; - "Alt Left" = "send-to-output previous"; - - "Alt 1" = "set-focused-tags 0"; - "Alt 2" = "set-focused-tags 1"; - "Alt 3" = "set-focused-tags 2"; - "Alt 4" = "set-focused-tags 3"; - "Alt 5" = "set-focused-tags 4"; - "Alt 6" = "set-focused-tags 5"; - "Alt 7" = "set-focused-tags 6"; - "Alt 8" = "set-focused-tags 7"; - "Alt 9" = "set-focused-tags 8"; - "Alt H" = "toggle-focused-tags 20"; - - "Alt+Shift 1" = "set-view-tags 0"; - "Alt+Shift 2" = "set-view-tags 1"; - "Alt+Shift 3" = "set-view-tags 2"; - "Alt+Shift 4" = "set-view-tags 3"; - "Alt+Shift 5" = "set-view-tags 4"; - "Alt+Shift 6" = "set-view-tags 5"; - "Alt+Shift 7" = "set-view-tags 6"; - "Alt+Shift 8" = "set-view-tags 7"; - "Alt+Shift 9" = "set-view-tags 8"; - "Alt+Shift H" = "set-view-tags 20"; - - "Alt+Control 1" = "toggle-focused-tags 0"; - "Alt+Control 2" = "toggle-focused-tags 1"; - "Alt+Control 3" = "toggle-focused-tags 2"; - "Alt+Control 4" = "toggle-focused-tags 3"; - "Alt+Control 5" = "toggle-focused-tags 4"; - "Alt+Control 6" = "toggle-focused-tags 5"; - "Alt+Control 7" = "toggle-focused-tags 6"; - "Alt+Control 8" = "toggle-focused-tags 7"; - "Alt+Control 9" = "toggle-focused-tags 8"; - "Alt+Control H" = "toggle-focused-tags 20"; - - "Alt+Shift+Control 1" = "toggle-view-tags 0"; - "Alt+Shift+Control 2" = "toggle-view-tags 1"; - "Alt+Shift+Control 3" = "toggle-view-tags 2"; - "Alt+Shift+Control 4" = "toggle-view-tags 3"; - "Alt+Shift+Control 5" = "toggle-view-tags 4"; - "Alt+Shift+Control 6" = "toggle-view-tags 5"; - "Alt+Shift+Control 7" = "toggle-view-tags 6"; - "Alt+Shift+Control 8" = "toggle-view-tags 7"; - "Alt+Shift+Control 9" = "toggle-view-tags 8"; - "Alt+Shift+Control H" = "toggle-view-tags 20"; - }; - - map-pointer = { - normal = { - "Alt BTN_LEFT" = "move-view"; - "Alt BTN_RIGHT" = "resize-view"; - }; - }; - }; - }; - - extraConfig = '' - ${lib.getExe' pkgs.river "riverctl"} keyboard-layout -options "grp:caps_toggle" "us,ru" - ${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service - ${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service - ${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getExe' pkgs.systemd "systemctl"} --user start yambar.service - ${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getEce pkgs.wayidle} -t=300 ${lib.getExe pkgs.brightnessctl} -s set 10 - ${lib.getExe' pkgs.river "riverctl"} spawn ${lib.getEce pkgs.wayidle} -t=600 ${lib.getExe pkgs.waylock} - ''; - }; - }; - }; -} diff --git a/hand7s/wayland/sway.nix b/hand7s/wayland/sway.nix deleted file mode 100644 index e81b3d1..0000000 --- a/hand7s/wayland/sway.nix +++ /dev/null @@ -1,185 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - wayland = { - windowManager = { - sway = { - enable = - lib.mkIf ( - config.home.gui.sessionType == "Sway" - ) - true; - - package = pkgs.sway; - - config = { - bindkeysToCode = true; - defaultWorkspace = "workspace number 1"; - workspaceAutoBackAndForth = true; - - bars = []; - - window = { - border = 2; - titlebar = false; - hideEdgeBorders = "both"; - }; - - floating = { - border = 2; - titlebar = false; - modifier = "Mod1"; - }; - - focus = { - forceWrapping = true; - mouseWarping = true; - - followMouse = "always"; - newWindow = "smart"; - wrapping = "yes"; - }; - - gaps = { - vertical = null; - horizontal = null; - - outer = null; - inner = null; - - top = null; - bottom = null; - left = null; - right = null; - - smartGaps = false; - smartBorders = "no_gaps"; - }; - - startup = [ - { - command = "${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service"; - } - - { - command = "${lib.getExe' pkgs.systemd "systemctl"} --user start hypridle.service"; - } - - { - command = "${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service"; - } - - { - command = "${lib.getExe' pkgs.systemd "systemctl"} --user start yambar.service"; - } - - { - command = "${lib.getExe pkgs.sway-audio-idle-inhibit}"; - } - - { - command = "${lib.getExe pkgs.autotiling-rs}"; - } - - { - command = "${lib.getExe pkgs.swaykbdd}"; - } - ]; - - keybindings = lib.mkOptionDefault { - "Mod1+q" = "kill"; - "Mod1+s" = "exec ${lib.getExe pkgs.fuzzel}"; - "Mod1+Return" = "exec ${lib.getExe pkgs.ghostty}"; - "Mod1+l" = "exec ${lib.getExe pkgs.swaylock}"; - "Mod1+f" = "fullscreen toggle"; - "Mod1+Shift+s" = "exec ${lib.getExe pkgs.sway-contrib.grimshot} --notify copy area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png"; - - "Mod1+Shift+e" = "exec ${lib.getExe' pkgs.sway "swaymsg"} exit"; - "Mod1+Space" = "floating toggle"; - "Mod1+r" = "mode resize"; - - "Mod1+Left" = "focus left"; - "Mod1+Right" = "focus right"; - "Mod1+Up" = "focus up"; - "Mod1+Down" = "focus down"; - - "Mod1+1" = "workspace number 1"; - "Mod1+2" = "workspace number 2"; - "Mod1+3" = "workspace number 3"; - "Mod1+4" = "workspace number 4"; - "Mod1+5" = "workspace number 5"; - "Mod1+6" = "workspace number 6"; - "Mod1+7" = "workspace number 7"; - "Mod1+8" = "workspace number 8"; - "Mod1+9" = "workspace number 9"; - "Mod1+0" = "workspace number 10"; - "Mod1+h" = "scratchpad show"; - - "Mod1+Shift+1" = "move container to workspace number 1"; - "Mod1+Shift+2" = "move container to workspace number 2"; - "Mod1+Shift+3" = "move container to workspace number 3"; - "Mod1+Shift+4" = "move container to workspace number 4"; - "Mod1+Shift+5" = "move container to workspace number 5"; - "Mod1+Shift+6" = "move container to workspace number 6"; - "Mod1+Shift+7" = "move container to workspace number 7"; - "Mod1+Shift+8" = "move container to workspace number 8"; - "Mod1+Shift+9" = "move container to workspace number 9"; - "Mod1+Shift+0" = "move container to workspace number 10"; - "Mod1+Shift+h" = "move scratchpad"; - - "XF86AudioRaiseVolume" = "exec ${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%+"; - "XF86AudioLowerVolume" = "exec ${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_AUDIO_SINK@ 5%-"; - "XF86AudioMute" = "exec ${lib.getExe' pkgs.wireplumber "wpctl"} set-mute @DEFAULT_AUDIO_SINK@ toggle"; - - "XF86AudioPlay" = "exec ${lib.getExe pkgs.playerctl} play-pause"; - "XF86AudioPrev" = "exec ${lib.getExe pkgs.playerctl} previous"; - "XF86AudioNext" = "exec ${lib.getExe pkgs.playerctl} next"; - - "XF86MonBrightnessDown" = "exec ${lib.getExe pkgs.brightnessctl} set 5%-"; - "XF86MonBrightnessUp" = "exec ${lib.getExe pkgs.brightnessctl} set +5%"; - }; - - modes = { - resize = { - "Left" = "resize shrink width 10px"; - "Right" = "resize shrink width 10px"; - "Up" = "resize shrink height 10px"; - "Down" = "resize shrink height 10px"; - - "Shift+Left" = "resize grow width 10px"; - "Shift+Right" = "resize grow width 10px"; - "Shift+Up" = "resize grow height 10px"; - "Shift+Down" = "resize grow height 10px"; - "Escape" = "mode default"; - "Return" = "mode default"; - }; - }; - - input = { - "type:pointer" = { - accel_profile = "flat"; - pointer_accel = "0"; - }; - - "type:keyboard" = { - xkb_layout = "us,ru"; - xkb_options = "grp:caps_toggle"; - }; - - "type:touchpad" = { - natural_scroll = "enabled"; - tap = "enabled"; - }; - }; - }; - - extraConfig = '' - bindswitch lid:on exec swaylock - ''; - }; - }; - }; -} diff --git a/s0mev1rtn0de-nix/boot/initrd/availableKernelModules.nix b/kyra/boot/initrd/availableKernelModules.nix similarity index 97% rename from s0mev1rtn0de-nix/boot/initrd/availableKernelModules.nix rename to kyra/boot/initrd/availableKernelModules.nix index 271f217..b20a92e 100644 --- a/s0mev1rtn0de-nix/boot/initrd/availableKernelModules.nix +++ b/kyra/boot/initrd/availableKernelModules.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { initrd = { availableKernelModules = [ diff --git a/s0mev1rtn0de-nix/boot/initrd/kernelModules.nix b/kyra/boot/initrd/kernelModules.nix similarity index 95% rename from s0mev1rtn0de-nix/boot/initrd/kernelModules.nix rename to kyra/boot/initrd/kernelModules.nix index bb2e6e4..61c2afd 100644 --- a/s0mev1rtn0de-nix/boot/initrd/kernelModules.nix +++ b/kyra/boot/initrd/kernelModules.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { initrd = { kernelModules = [ diff --git a/s0mev1rtn0de-nix/boot/kernel.nix b/kyra/boot/kernel.nix similarity index 62% rename from s0mev1rtn0de-nix/boot/kernel.nix rename to kyra/boot/kernel.nix index 4738412..fcbd80d 100644 --- a/s0mev1rtn0de-nix/boot/kernel.nix +++ b/kyra/boot/kernel.nix @@ -1,9 +1,11 @@ -{...}: { +_: { boot = { kernel = { sysctl = { "net.ipv4.ip_forward" = 1; "net.ipv6.conf.all.forwarding" = 1; + "net.ipv4.ip_nonlocal_bind" = 1; + "net.ipv6.ip_nonlocal_bind" = 1; }; }; }; diff --git a/s0mev1rtn0de-nix/boot/loader/grub.nix b/kyra/boot/loader/grub.nix similarity index 94% rename from s0mev1rtn0de-nix/boot/loader/grub.nix rename to kyra/boot/loader/grub.nix index b29ade0..fc1a00b 100644 --- a/s0mev1rtn0de-nix/boot/loader/grub.nix +++ b/kyra/boot/loader/grub.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { loader = { grub = { diff --git a/s0mev1rtn0de-nix/boot/tmp.nix b/kyra/boot/tmp.nix similarity index 87% rename from s0mev1rtn0de-nix/boot/tmp.nix rename to kyra/boot/tmp.nix index 98694f7..0482683 100644 --- a/s0mev1rtn0de-nix/boot/tmp.nix +++ b/kyra/boot/tmp.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { tmp = { cleanOnBoot = true; diff --git a/kyra/default.nix b/kyra/default.nix new file mode 100644 index 0000000..7624558 --- /dev/null +++ b/kyra/default.nix @@ -0,0 +1,57 @@ +{self, ...}: { + imports = [ + "${self}/kyra/disko/disk.nix" + "${self}/kyra/disko/lvm_vg.nix" + + "${self}/kyra/boot/initrd/availableKernelModules.nix" + "${self}/kyra/boot/initrd/kernelModules.nix" + "${self}/kyra/boot/loader/grub.nix" + "${self}/kyra/boot/kernel.nix" + "${self}/kyra/boot/tmp.nix" + + "${self}/kyra/environment/systemPackages.nix" + + "${self}/kyra/hardware/zram.nix" + + "${self}/kyra/home-manager/users.nix" + + "${self}/kyra/networking/interfaces/ens3.nix" + "${self}/kyra/networking/firewall/ens3.nix" + "${self}/kyra/networking/firewall.nix" + "${self}/kyra/networking/dns.nix" + "${self}/kyra/networking/wireguard.nix" + "${self}/kyra/networking/defaultGateway.nix" + + "${self}/kyra/nix/settings/allowed-users.nix" + "${self}/kyra/nix/settings/experimental-features.nix" + "${self}/kyra/nix/settings/substituters.nix" + "${self}/kyra/nix/settings/trusted-public-keys.nix" + "${self}/kyra/nix/settings/trusted-users.nix" + "${self}/kyra/nix/settings/auto-optimise-store.nix" + + "${self}/kyra/nixpkgs/config.nix" + "${self}/kyra/nixpkgs/platform.nix" + + "${self}/kyra/programs/nh.nix" + + "${self}/kyra/services/openssh.nix" + "${self}/kyra/services/fail2ban.nix" + "${self}/kyra/services/netbird.nix" + "${self}/kyra/services/qemuGuest.nix" + "${self}/kyra/services/caddy.nix" + "${self}/kyra/services/sing-box.nix" + + "${self}/kyra/sops/age.nix" + "${self}/kyra/sops/defaults.nix" + "${self}/kyra/sops/secrets.nix" + + "${self}/kyra/system/stateVersion.nix" + + "${self}/kyra/users/users.nix" + "${self}/kyra/users/users/alep0u.nix" + "${self}/kyra/users/users/hand7s.nix" + "${self}/kyra/users/users/root.nix" + + "${self}/kyra/virtualisation/docker.nix" + ]; +} diff --git a/s0mev1rtn0de-nix/disko/disk.nix b/kyra/disko/disk.nix similarity index 100% rename from s0mev1rtn0de-nix/disko/disk.nix rename to kyra/disko/disk.nix diff --git a/s0mev1rtn0de-nix/disko/lvm_vg.nix b/kyra/disko/lvm_vg.nix similarity index 100% rename from s0mev1rtn0de-nix/disko/lvm_vg.nix rename to kyra/disko/lvm_vg.nix diff --git a/s0mev1rtn0de-nix/environment/systemPackages.nix b/kyra/environment/systemPackages.nix similarity index 100% rename from s0mev1rtn0de-nix/environment/systemPackages.nix rename to kyra/environment/systemPackages.nix diff --git a/s0meMiniPC-nix/hardware/zram.nix b/kyra/hardware/zram.nix similarity index 92% rename from s0meMiniPC-nix/hardware/zram.nix rename to kyra/hardware/zram.nix index b973787..0d77537 100644 --- a/s0meMiniPC-nix/hardware/zram.nix +++ b/kyra/hardware/zram.nix @@ -1,4 +1,4 @@ -{...}: { +_: { zramSwap = { enable = true; algorithm = "zstd"; diff --git a/kyra/home-manager/users.nix b/kyra/home-manager/users.nix new file mode 100644 index 0000000..6590188 --- /dev/null +++ b/kyra/home-manager/users.nix @@ -0,0 +1,27 @@ +{self, ...}: { + home-manager = { + users = { + "hand7s" = { + imports = [ + "${self}/hand7s/" + self.inputs.agenix.homeManagerModules.default + self.inputs.spicetify-nix.homeManagerModules.default + self.inputs.hyprland.homeManagerModules.default + self.inputs.chaotic.homeManagerModules.default + self.inputs.sops-nix.homeManagerModules.sops + + self.inputs.nix-index-database.homeModules.nix-index + self.inputs.noctalia.homeModules.default + ]; + }; + }; + + backupFileExtension = "force"; + + extraSpecialArgs = { + inherit + self + ; + }; + }; +} diff --git a/kyra/networking/defaultGateway.nix b/kyra/networking/defaultGateway.nix new file mode 100644 index 0000000..dd70ea4 --- /dev/null +++ b/kyra/networking/defaultGateway.nix @@ -0,0 +1,17 @@ +{ + lib, + config, + ... +}: { + networking = { + defaultGateway = lib.mkIf (config.networking.hostName == "mel") { + address = "45.11.229.1"; + interface = "ens3"; + }; + + defaultGateway6 = lib.mkIf (config.networking.hostName == "mel") { + address = "2a0e:97c0:3e3:2Oa::1"; + interface = "ens3"; + }; + }; +} diff --git a/s0mev1rtn0de-nix/networking/dns.nix b/kyra/networking/dns.nix similarity index 58% rename from s0mev1rtn0de-nix/networking/dns.nix rename to kyra/networking/dns.nix index 6c66cc5..31726b9 100644 --- a/s0mev1rtn0de-nix/networking/dns.nix +++ b/kyra/networking/dns.nix @@ -1,14 +1,27 @@ -{...}: { +_: { networking = { nameservers = [ + # cf dns "1.1.1.1" "1.0.0.1" - "8.8.8.8" - "8.8.4.4" "2606:4700:4700::1111" "2606:4700:4700::1001" + + # google dns + "8.8.8.8" + "8.8.4.4" "2001:4860:4860::8888" "2001:4860:4860::8844" + + # q9 dns + "9.9.9.9" + "149.112.112.112" + "2620:fe::fe" + "2620:fe::9" + + # open dns + "208.67.222.222" + "208.67.220.220" "2620:119:35::35" "2620:119:53::53" ]; diff --git a/s0mev1rtn0de-nix/networking/firewall.nix b/kyra/networking/firewall.nix similarity index 94% rename from s0mev1rtn0de-nix/networking/firewall.nix rename to kyra/networking/firewall.nix index b7f2db8..a9a2c40 100644 --- a/s0mev1rtn0de-nix/networking/firewall.nix +++ b/kyra/networking/firewall.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { firewall = { enable = true; diff --git a/kyra/networking/firewall/ens3.nix b/kyra/networking/firewall/ens3.nix new file mode 100644 index 0000000..7df7284 --- /dev/null +++ b/kyra/networking/firewall/ens3.nix @@ -0,0 +1,57 @@ +{ + config, + lib, + ... +}: { + networking = { + firewall = { + interfaces = { + ens3 = { + allowedUDPPorts = + [ + 53580 + 53590 + ] + ++ lib.optionals (config.networking.hostName == "hazel") [ + 443 + + 25565 + + 24 + 25 + 110 + 143 + 465 + 587 + 993 + 995 + 4190 + 53570 + ]; + + allowedTCPPorts = + [ + 53580 + 53590 + ] + ++ lib.optionals (config.networking.hostName == "hazel") [ + 443 + + 25565 + + 24 + 25 + 110 + 143 + 465 + 587 + 993 + 995 + 4190 + 53570 + ]; + }; + }; + }; + }; +} diff --git a/kyra/networking/hostname.nix b/kyra/networking/hostname.nix new file mode 100644 index 0000000..7371866 --- /dev/null +++ b/kyra/networking/hostname.nix @@ -0,0 +1,5 @@ +_: { + networking = { + hostName = "kyra"; + }; +} diff --git a/kyra/networking/interfaces/ens3.nix b/kyra/networking/interfaces/ens3.nix new file mode 100644 index 0000000..3820e1f --- /dev/null +++ b/kyra/networking/interfaces/ens3.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + ... +}: { + networking = { + interfaces = { + ens3 = { + ipv4 = { + addresses = lib.optionals (config.networking.hostName == "mel") [ + { + address = "45.11.229.254"; + prefixLength = 24; + } + ]; + }; + + ipv6 = { + addresses = + lib.optionals (config.networking.hostName == "hazel") [ + { + address = "2a03:6f01:1:2::cb1e"; + prefixLength = 64; + } + ] + ++ lib.optionals (config.networking.hostName == "mel") [ + { + address = "2a0e:97c0:3e3:2Oa::1"; + prefixLength = 64; + } + ]; + }; + }; + }; + }; +} diff --git a/s0mev1rtn0de-nix/networking/wireguard.nix b/kyra/networking/wireguard.nix similarity index 88% rename from s0mev1rtn0de-nix/networking/wireguard.nix rename to kyra/networking/wireguard.nix index 2ee5c02..bd2336c 100644 --- a/s0mev1rtn0de-nix/networking/wireguard.nix +++ b/kyra/networking/wireguard.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { wireguard = { enable = true; diff --git a/s0meMiniPC-nix/nix/settings/allowed-users.nix b/kyra/nix/settings/allowed-users.nix similarity index 92% rename from s0meMiniPC-nix/nix/settings/allowed-users.nix rename to kyra/nix/settings/allowed-users.nix index d483d0c..0239519 100644 --- a/s0meMiniPC-nix/nix/settings/allowed-users.nix +++ b/kyra/nix/settings/allowed-users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { sandbox = true; diff --git a/s0mev1rtn0de-nix/nix/settings/auto-optimise-store.nix b/kyra/nix/settings/auto-optimise-store.nix similarity index 89% rename from s0mev1rtn0de-nix/nix/settings/auto-optimise-store.nix rename to kyra/nix/settings/auto-optimise-store.nix index 14f13c5..cb7a22a 100644 --- a/s0mev1rtn0de-nix/nix/settings/auto-optimise-store.nix +++ b/kyra/nix/settings/auto-optimise-store.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { auto-optimise-store = true; diff --git a/s0mev1rtn0de-nix/nix/settings/experimental-features.nix b/kyra/nix/settings/experimental-features.nix similarity index 93% rename from s0mev1rtn0de-nix/nix/settings/experimental-features.nix rename to kyra/nix/settings/experimental-features.nix index 7ce7e89..9c45bc4 100644 --- a/s0mev1rtn0de-nix/nix/settings/experimental-features.nix +++ b/kyra/nix/settings/experimental-features.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { experimental-features = [ diff --git a/s0meMiniPC-nix/nix/settings/substituters.nix b/kyra/nix/settings/substituters.nix similarity index 82% rename from s0meMiniPC-nix/nix/settings/substituters.nix rename to kyra/nix/settings/substituters.nix index 762ec5c..da0035f 100644 --- a/s0meMiniPC-nix/nix/settings/substituters.nix +++ b/kyra/nix/settings/substituters.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { substituters = [ @@ -9,10 +9,10 @@ # cachix "https://nix-community.cachix.org/" "https://chaotic-nyx.cachix.org/" - "https://ags.cachix.org" "https://hyprland.cachix.org" "https://chaotic-nyx.cachix.org/" - "https://colmena.cachix.org" + # nix-community + "https://hydra.nix-community.org/" ]; }; }; diff --git a/s0mev1rtn0de-nix/nix/settings/trusted-public-keys.nix b/kyra/nix/settings/trusted-public-keys.nix similarity index 98% rename from s0mev1rtn0de-nix/nix/settings/trusted-public-keys.nix rename to kyra/nix/settings/trusted-public-keys.nix index 62cbbde..e5cc01b 100644 --- a/s0mev1rtn0de-nix/nix/settings/trusted-public-keys.nix +++ b/kyra/nix/settings/trusted-public-keys.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-public-keys = [ diff --git a/s0mev1rtn0de-nix/nix/settings/trusted-users.nix b/kyra/nix/settings/trusted-users.nix similarity index 91% rename from s0mev1rtn0de-nix/nix/settings/trusted-users.nix rename to kyra/nix/settings/trusted-users.nix index e4a9dae..4eee825 100644 --- a/s0mev1rtn0de-nix/nix/settings/trusted-users.nix +++ b/kyra/nix/settings/trusted-users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-users = [ diff --git a/s0meMiniPC-nix/nixpkgs/config.nix b/kyra/nixpkgs/config.nix similarity index 91% rename from s0meMiniPC-nix/nixpkgs/config.nix rename to kyra/nixpkgs/config.nix index 27b79b0..13ed34c 100644 --- a/s0meMiniPC-nix/nixpkgs/config.nix +++ b/kyra/nixpkgs/config.nix @@ -1,8 +1,8 @@ -{...}: { +_: { nixpkgs = { config = { - allowUnfree = true; allowBroken = true; + allowUnfree = true; }; }; } diff --git a/s0mev1rtn0de-nix/nixpkgs/platform.nix b/kyra/nixpkgs/platform.nix similarity index 90% rename from s0mev1rtn0de-nix/nixpkgs/platform.nix rename to kyra/nixpkgs/platform.nix index 63fda3b..3cbe59a 100644 --- a/s0mev1rtn0de-nix/nixpkgs/platform.nix +++ b/kyra/nixpkgs/platform.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { system = "x86_64-linux"; hostPlatform = "x86_64-linux"; diff --git a/s0mev1rtn0de-nix/programs/nh.nix b/kyra/programs/nh.nix similarity index 87% rename from s0mev1rtn0de-nix/programs/nh.nix rename to kyra/programs/nh.nix index d641bad..f3d17d5 100644 --- a/s0mev1rtn0de-nix/programs/nh.nix +++ b/kyra/programs/nh.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { nh = { enable = true; diff --git a/s0mev1rtn0de-nix/services/caddy.nix b/kyra/services/caddy.nix similarity index 87% rename from s0mev1rtn0de-nix/services/caddy.nix rename to kyra/services/caddy.nix index d978c83..fe3ad02 100644 --- a/s0mev1rtn0de-nix/services/caddy.nix +++ b/kyra/services/caddy.nix @@ -1,7 +1,16 @@ -{pkgs, ...}: { +{ + config, + pkgs, + lib, + ... +}: { services = { caddy = { - enable = true; + enable = + lib.mkIf ( + config.networking.hostName == "hazel" + ) + true; package = pkgs.caddy.withPlugins { plugins = [ @@ -24,28 +33,24 @@ virtualHosts = { "hand7s.org" = { extraConfig = '' - respond "hi! :D WIP btw" ''; }; "git.hand7s.org" = { extraConfig = '' - reverse_proxy ${homeIP}:53350 ''; }; "bin.hand7s.org" = { extraConfig = '' - reverse_proxy ${homeIP}:80 ''; }; "zitadel.hand7s.org" = { extraConfig = '' - reverse_proxy ${homeIP}:8443 ''; }; diff --git a/s0mev1rtn0de-nix/services/fail2ban.nix b/kyra/services/fail2ban.nix similarity index 97% rename from s0mev1rtn0de-nix/services/fail2ban.nix rename to kyra/services/fail2ban.nix index bb6ee40..87e2508 100644 --- a/s0mev1rtn0de-nix/services/fail2ban.nix +++ b/kyra/services/fail2ban.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { fail2ban = { enable = true; diff --git a/s0meMiniPC-nix/services/netbird.nix b/kyra/services/netbird.nix similarity index 100% rename from s0meMiniPC-nix/services/netbird.nix rename to kyra/services/netbird.nix diff --git a/s0mev1rtn0de-nix/services/openssh.nix b/kyra/services/openssh.nix similarity index 90% rename from s0mev1rtn0de-nix/services/openssh.nix rename to kyra/services/openssh.nix index 9034b10..6d54477 100644 --- a/s0mev1rtn0de-nix/services/openssh.nix +++ b/kyra/services/openssh.nix @@ -1,7 +1,10 @@ -{...}: { +_: { services = { openssh = { enable = true; + ports = [ + 58693 + ]; settings = { PrintMotd = false; diff --git a/s0mev1rtn0de-nix/services/qemuGuest.nix b/kyra/services/qemuGuest.nix similarity index 88% rename from s0mev1rtn0de-nix/services/qemuGuest.nix rename to kyra/services/qemuGuest.nix index d0c8739..7fb4eb6 100644 --- a/s0mev1rtn0de-nix/services/qemuGuest.nix +++ b/kyra/services/qemuGuest.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { qemuGuest = { enable = true; diff --git a/s0mev1rtn0de-nix/services/sing-box.nix b/kyra/services/sing-box.nix similarity index 98% rename from s0mev1rtn0de-nix/services/sing-box.nix rename to kyra/services/sing-box.nix index f7881c7..f29526c 100644 --- a/s0mev1rtn0de-nix/services/sing-box.nix +++ b/kyra/services/sing-box.nix @@ -1,7 +1,4 @@ -{ - # config, - ... -}: { +{...}: { services = { sing-box = { enable = true; diff --git a/s0mev1rtn0de-nix/system/stateVersion.nix b/kyra/system/stateVersion.nix similarity index 84% rename from s0mev1rtn0de-nix/system/stateVersion.nix rename to kyra/system/stateVersion.nix index 304a150..9d5896e 100644 --- a/s0mev1rtn0de-nix/system/stateVersion.nix +++ b/kyra/system/stateVersion.nix @@ -1,4 +1,4 @@ -{...}: { +_: { system = { stateVersion = "23.11"; }; diff --git a/s0mev1rtn0de-nix/users/users.nix b/kyra/users/users.nix similarity index 83% rename from s0mev1rtn0de-nix/users/users.nix rename to kyra/users/users.nix index 54415f1..9bb56d0 100644 --- a/s0mev1rtn0de-nix/users/users.nix +++ b/kyra/users/users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { users = { mutableUsers = false; }; diff --git a/kyra/users/users/alep0u.nix b/kyra/users/users/alep0u.nix new file mode 100644 index 0000000..faf1630 --- /dev/null +++ b/kyra/users/users/alep0u.nix @@ -0,0 +1,23 @@ +_: { + users = { + users = { + "alep0u" = { + description = "alep0u"; + isNormalUser = true; + password = "alep0u"; + extraGroups = [ + "wheel" + "docker" + ]; + + openssh = { + authorizedKeys = { + keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIItDketCj5COoCvAPLhqOcBhWC1H50MApP2gDt/lkW7E alep0u@alep0u" + ]; + }; + }; + }; + }; + }; +} diff --git a/s0mev1rtn0de-nix/users/users/hand7s.nix b/kyra/users/users/hand7s.nix similarity index 52% rename from s0mev1rtn0de-nix/users/users/hand7s.nix rename to kyra/users/users/hand7s.nix index 3ad5002..497573a 100644 --- a/s0mev1rtn0de-nix/users/users/hand7s.nix +++ b/kyra/users/users/hand7s.nix @@ -1,7 +1,7 @@ -{...}: { +_: { users = { users = { - hand7s = { + "hand7s" = { description = "hands"; isNormalUser = true; hashedPassword = "$y$j9T$eHfq328GBp7Ga8xsbOTV/0$kcihv7zWLqSkj2jKAhI1pdbTSwvaf2RY5Rokm69XTL/"; @@ -9,6 +9,14 @@ "wheel" "docker" ]; + + openssh = { + authorizedKeys = { + keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDp2IIdR5jV1HyG4aiRX7SfTNrXDhCx5rTiFU40qkOKq litvinovb0@gmail.com" + ]; + }; + }; }; }; }; diff --git a/s0mev1rtn0de-nix/users/users/root.nix b/kyra/users/users/root.nix similarity index 87% rename from s0mev1rtn0de-nix/users/users/root.nix rename to kyra/users/users/root.nix index 320de35..4044315 100644 --- a/s0mev1rtn0de-nix/users/users/root.nix +++ b/kyra/users/users/root.nix @@ -1,7 +1,7 @@ {pkgs, ...}: { users = { users = { - root = { + "root" = { shell = "${pkgs.util-linux}/bin/nologin"; }; }; diff --git a/s0mev1rtn0de-nix/virtualisation/docker.nix b/kyra/virtualisation/docker.nix similarity index 95% rename from s0mev1rtn0de-nix/virtualisation/docker.nix rename to kyra/virtualisation/docker.nix index df2d700..59e76bf 100644 --- a/s0mev1rtn0de-nix/virtualisation/docker.nix +++ b/kyra/virtualisation/docker.nix @@ -1,4 +1,4 @@ -{...}: { +_: { virtualisation = { oci-containers = { backend = "docker"; diff --git a/s0meMiniPC-nix/boot/zfs.nix b/s0meMiniPC-nix/boot/zfs.nix deleted file mode 100644 index f6d2f2d..0000000 --- a/s0meMiniPC-nix/boot/zfs.nix +++ /dev/null @@ -1,9 +0,0 @@ -{...}: { - boot = { - zfs = { - package = pkgs.zfs_cachyos; - allowHibernation = false; - removeLinuxDRM = false; - }; - }; -} diff --git a/s0meMiniPC-nix/default.nix b/s0meMiniPC-nix/default.nix deleted file mode 100644 index 767de1a..0000000 --- a/s0meMiniPC-nix/default.nix +++ /dev/null @@ -1,96 +0,0 @@ -{self, ...}: { - imports = [ - "${self}/s0meMiniPC-nix/boot/initrd.nix" - "${self}/s0meMiniPC-nix/boot/kernel.nix" - "${self}/s0meMiniPC-nix/boot/lanzaboote.nix" - "${self}/s0meMiniPC-nix/boot/plymouth.nix" - "${self}/s0meMiniPC-nix/boot/tmp.nix" - "${self}/s0meMiniPC-nix/boot/loader/systemd-boot.nix" - "${self}/s0meMiniPC-nix/boot/zfs.nix" - - "${self}/s0meMiniPC-nix/disko/disk.nix" - "${self}/s0meMiniPC-nix/disko/lvm_vg.nix" - - "${self}/s0meMiniPC-nix/console/console.nix" - - "${self}/s0meMiniPC-nix/environment/systemPackages.nix" - "${self}/s0meMiniPC-nix/environment/variables.nix" - - "${self}/s0meMiniPC-nix/hardware/cpu.nix" - "${self}/s0meMiniPC-nix/hardware/graphics.nix" - "${self}/s0meMiniPC-nix/hardware/zram.nix" - - "${self}/s0meMiniPC-nix/home-manager/users.nix" - - "${self}/s0meMiniPC-nix/i18n/locales.nix" - - "${self}/s0meMiniPC-nix/networking/dhcp.nix" - "${self}/s0meMiniPC-nix/networking/firewall.nix" - "${self}/s0meMiniPC-nix/networking/hostname.nix" - "${self}/s0meMiniPC-nix/networking/networkmanager.nix" - "${self}/s0meMiniPC-nix/networking/wireguard.nix" - "${self}/s0meMiniPC-nix/networking/nameservers.nix" - "${self}/s0meMiniPC-nix/networking/hosts.nix" - "${self}/s0meMiniPC-nix/networking/hostId.nix" - "${self}/s0meMiniPC-nix/networking/interfaces.nix" - - "${self}/s0meMiniPC-nix/nix/package.nix" - "${self}/s0meMiniPC-nix/nix/settings/allowed-users.nix" - "${self}/s0meMiniPC-nix/nix/settings/experimental-features.nix" - "${self}/s0meMiniPC-nix/nix/settings/substituters.nix" - "${self}/s0meMiniPC-nix/nix/settings/trusted-public-keys.nix" - "${self}/s0meMiniPC-nix/nix/settings/trusted-users.nix" - "${self}/s0meMiniPC-nix/nix/settings/auto-optimise-store.nix" - - "${self}/s0meMiniPC-nix/nixpkgs/config.nix" - "${self}/s0meMiniPC-nix/nixpkgs/system.nix" - - "${self}/s0meMiniPC-nix/programs/nh.nix" - "${self}/s0meMiniPC-nix/programs/ssh.nix" - - "${self}/s0meMiniPC-nix/security/polkit.nix" - "${self}/s0meMiniPC-nix/security/rtkit.nix" - "${self}/s0meMiniPC-nix/security/sudo.nix" - "${self}/s0meMiniPC-nix/security/sudo-rs.nix" - - "${self}/s0meMiniPC-nix/services/greetd.nix" - "${self}/s0meMiniPC-nix/services/libinput.nix" - "${self}/s0meMiniPC-nix/services/openssh.nix" - "${self}/s0meMiniPC-nix/services/pipewire.nix" - "${self}/s0meMiniPC-nix/services/netbird.nix" - "${self}/s0meMiniPC-nix/services/scx.nix" - "${self}/s0meMiniPC-nix/services/xserver.nix" - "${self}/s0meMiniPC-nix/services/zapret.nix" - "${self}/s0meMiniPC-nix/services/zerotier.nix" - "${self}/s0meMiniPC-nix/services/usbmuxd.nix" - "${self}/s0meMiniPC-nix/services/irqbalance.nix" - "${self}/s0meMiniPC-nix/services/forgejo.nix" - "${self}/s0meMiniPC-nix/services/privatebin.nix" - "${self}/s0meMiniPC-nix/services/homepage.nix" - "${self}/s0meMiniPC-nix/services/zitadel.nix" - "${self}/s0meMiniPC-nix/sops/defaults.nix" - "${self}/s0meMiniPC-nix/sops/secrets.nix" - - "${self}/hand7s/stylix/base16Scheme.nix" - "${self}/hand7s/stylix/cursor.nix" - "${self}/hand7s/stylix/defaults.nix" - "${self}/hand7s/stylix/fonts.nix" - "${self}/hand7s/stylix/image.nix" - - "${self}/s0meMiniPC-nix/system/name.nix" - "${self}/s0meMiniPC-nix/system/stateVersion.nix" - - "${self}/s0meMiniPC-nix/systemd/oomd.nix" - "${self}/s0meMiniPC-nix/systemd/slices/system-slice.nix" - "${self}/s0meMiniPC-nix/systemd/slices/user-slice.nix" - "${self}/s0meMiniPC-nix/systemd/slices/root-slice.nix" - - "${self}/s0meMiniPC-nix/time/timeZone.nix" - - "${self}/s0meMiniPC-nix/users/users/hand7s.nix" - "${self}/s0meMiniPC-nix/users/users/root.nix" - "${self}/s0meMiniPC-nix/users/mutableUsers.nix" - - "${self}/s0meMiniPC-nix/virtualisation/docker.nix" - ]; -} diff --git a/s0meMiniPC-nix/home-manager/users.nix b/s0meMiniPC-nix/home-manager/users.nix deleted file mode 100644 index 04c47d9..0000000 --- a/s0meMiniPC-nix/home-manager/users.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - inputs, - self, - ... -}: { - home-manager = { - users = { - hand7s = { - imports = [ - "${self}/hand7s/" - inputs.spicetify-nix.homeManagerModules.default - inputs.hyprland.homeManagerModules.default - inputs.chaotic.homeManagerModules.default - inputs.sops-nix.homeManagerModules.sops - - inputs.nix-index-database.homeModules.nix-index - ]; - }; - }; - - backupFileExtension = "force"; - - extraSpecialArgs = { - inherit - inputs - self - ; - }; - }; -} diff --git a/s0meMiniPC-nix/networking/hostname.nix b/s0meMiniPC-nix/networking/hostname.nix deleted file mode 100644 index ba82957..0000000 --- a/s0meMiniPC-nix/networking/hostname.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - networking = { - hostName = "s0meMiniPC-nix"; - }; -} diff --git a/s0meMiniPC-nix/services/zapret.nix b/s0meMiniPC-nix/services/zapret.nix deleted file mode 100644 index ad671e1..0000000 --- a/s0meMiniPC-nix/services/zapret.nix +++ /dev/null @@ -1,145 +0,0 @@ -{...}: { - services = { - zapret = { - enable = true; - configureFirewall = true; - qnum = 350; - params = [ - "--wssize 1:6" - - "--filter-tcp=80" - "--dpi-desync=multisplit" - "--dpi-desync-split-pos=10" - "--dpi-desync-repeats=6" - "--new" - - "--filter-tcp=443" - "--dpi-desync=multidisorder" - "--dpi-desync-split-pos=1,midsld" - "--new" - - "--filter-tcp=443" - "--dpi-desync=syndata" - "--dpi-desync-fake-syndata=0x00000000" - "--dpi-desync-ttl=10" - "--new" - - "--filter-udp=443" - "--dpi-desync=fake" - "--dpi-desync-repeats=6" - "--dpi-desync-fake-quic=0x00000000" - "--new" - - "--filter-udp=443" - "--dpi-desync=fake,udplen" - "--dpi-desync-udplen-increment=5" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-cutoff=n3" - "--dpi-desync-repeats=2" - "--new" - - "--filter-tcp=443" - "--dpi-desync=split" - "--dpi-desync-fooling=md5sig,badseq" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-pos=1" - "--dpi-desync-repeats=10" - "--new" - - "--filter-tcp=443" - "--dpi-desync=fake,split2" - "--dpi-desync-fooling=md5sig" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-seqovl=2" - "--dpi-desync-split-pos=2" - - "--dpi-desync-autottl" - "--new" - "--filter-tcp=443" - "--dpi-desync=fake,split2" - "--dpi-desync-fooling=md5sig" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-seqovl=2" - "--dpi-desync-split-pos=2" - "--dpi-desync-autottl" - "--new" - - "--filter-tcp=80" - "--dpi-desync=fake,split2" - "--dpi-desync-fooling=md5sig" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-autottl" - "--new" - - "--filter-tcp=80" - "--dpi-desync-ttl=1" - "--dpi-desync-autottl=2" - "--dpi-desync-fake-tls=0x00000000" - "--dpi-desync-split-pos=1" - "--dpi-desync=fake,split2" - "--dpi-desync-repeats=6" - "--dpi-desync-fooling=md5sig" - "--new" - ]; - - whitelist = [ - "googlevideo.com" - "youtu.be" - "youtube.com" - "youtubei.googleapis.com" - "googlevideo.com" - "youtu.be" - "youtube.com" - "youtubei.googleapis.com" - "youtubeembeddedplayer.googleapis.com" - "ytimg.l.google.com" - "ytimg.com" - "jnn-pa.googleapis.com" - "youtube-nocookie.com" - "youtube-ui.l.google.com" - "yt-video-upload.l.google.com" - "wide-youtube.l.google.com" - "youtubekids.com" - "ggpht.com" - "music.youtube.com" - "test.googlevideo.com" - "discord.com" - "gateway.discord.gg" - "cdn.discordapp.com" - "discordapp.net" - "discordapp.com" - "discord.gg" - "media.discordapp.net" - "images-ext-1.discordapp.net" - "discord.app" - "discord.media" - "discordcdn.com" - "discord.dev" - "discord.new" - "discord.gift" - "discordstatus.com" - "dis.gd" - "discord.co" - "discord-attachments-uploads-prd.storage.googleapis.com" - "7tv.app" - "7tv.io" - "10tv.app" - "x.com" - "t.co" - "ads-twitter.com" - "twimg.com" - "twitter.com" - "pscp.tv" - "twtrdns.net" - "twttr.com" - "periscope.tv" - "tweetdeck.com" - "twitpic.com" - "twitter.co" - "twitterinc.com" - "twitteroauth.com" - "twitterstat.us" - ]; - }; - }; -} diff --git a/s0mev1rtn0de-nix/default.nix b/s0mev1rtn0de-nix/default.nix deleted file mode 100644 index 9962459..0000000 --- a/s0mev1rtn0de-nix/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{...}: { - imports = [ - "${self}/s0mev1rtn0de/disko/disk.nix" - "${self}/s0mev1rtn0de/disko/lvm_vg.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" - - "${self}/s0mev1rtn0de/environment/systemPackages.nix" - - "${self}/s0mev1rtn0de/hardware/zram.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" - - "${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" - - "${self}/s0mev1rtn0de/nixpkgs/config.nix" - "${self}/s0mev1rtn0de/nixpkgs/platform.nix" - - "${self}/s0mev1rtn0de/programs/nh.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" - - "${self}/s0mev1rtn0de/sops/age.nix" - "${self}/s0mev1rtn0de/sops/defaults.nix" - "${self}/s0mev1rtn0de/sops/secrets.nix" - - "${self}/s0mev1rtn0de/system/stateVersion.nix" - - "${self}/s0mev1rtn0de/users/users.nix" - "${self}/s0mev1rtn0de/users/users/askhat.nix" - "${self}/s0mev1rtn0de/users/users/hand7s.nix" - "${self}/s0mev1rtn0de/users/users/root.nix" - - "${self}/s0mev1rtn0de/virtualisation/docker.nix" - ]; -} diff --git a/s0mev1rtn0de-nix/networking/firewall/ens3.nix b/s0mev1rtn0de-nix/networking/firewall/ens3.nix deleted file mode 100644 index fc74f60..0000000 --- a/s0mev1rtn0de-nix/networking/firewall/ens3.nix +++ /dev/null @@ -1,21 +0,0 @@ -{...}: { - networking = { - firewall = { - interfaces = { - ens3 = { - allowedUDPPorts = [ - 443 - 53590 - 53570 - ]; - - allowedTCPPorts = [ - 443 - 53590 - 53570 - ]; - }; - }; - }; - }; -} diff --git a/s0mev1rtn0de-nix/networking/firewall/wt0.nix b/s0mev1rtn0de-nix/networking/firewall/wt0.nix deleted file mode 100644 index 564d82d..0000000 --- a/s0mev1rtn0de-nix/networking/firewall/wt0.nix +++ /dev/null @@ -1,17 +0,0 @@ -{...}: { - networking = { - firewall = { - interfaces = { - wt0 = { - allowedUDPPorts = [ - 39856 - ]; - - allowedTCPPorts = [ - 39856 - ]; - }; - }; - }; - }; -} diff --git a/s0mev1rtn0de-nix/networking/hostname.nix b/s0mev1rtn0de-nix/networking/hostname.nix deleted file mode 100644 index 1781f05..0000000 --- a/s0mev1rtn0de-nix/networking/hostname.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - networking = { - hostName = "s0mev1rtn0de-nix"; - }; -} diff --git a/s0mev1rtn0de-nix/networking/interfaces/ens3.nix b/s0mev1rtn0de-nix/networking/interfaces/ens3.nix deleted file mode 100644 index 7bebc8a..0000000 --- a/s0mev1rtn0de-nix/networking/interfaces/ens3.nix +++ /dev/null @@ -1,16 +0,0 @@ -{...}: { - networking = { - interfaces = { - ens3 = { - ipv6 = { - addresses = [ - { - address = ""; - prefixLength = 128; - } - ]; - }; - }; - }; - }; -} diff --git a/s0mev1rtn0de-nix/networking/nat.nix b/s0mev1rtn0de-nix/networking/nat.nix deleted file mode 100644 index 6ff577a..0000000 --- a/s0mev1rtn0de-nix/networking/nat.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - networking = { - nat = { - enable = true; - enableIPv6 = true; - externalInterface = "ens3"; - internalInterfaces = [ - "wg0" - ]; - }; - }; -} diff --git a/s0mev1rtn0de-nix/networking/wg-quick.nix b/s0mev1rtn0de-nix/networking/wg-quick.nix deleted file mode 100644 index 4bab50d..0000000 --- a/s0mev1rtn0de-nix/networking/wg-quick.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - networking = { - wg-quick = { - interfaces = { - wg0 = { - type = "wireguard"; - listenPort = 53590; - privateKeyFile = config.sops.secrets.privateWgKey; - - address = [ - "10.100.0.1/24" - ]; - - postUp = '' - ${lib.getExe' pkgs.iptables "iptables"} -A FORWARD -i wg0 -j ACCEPT - ${lib.getExe' pkgs.iptables "iptables"} -t nat -A POSTROUTING -s 10.100.0.0/24 -o ens3 -j MASQUERADE - ''; - - preDown = '' - ${lib.getExe' pkgs.iptables "iptables"} -D FORWARD -i wg0 -j ACCEPT - ${lib.getExe' pkgs.iptables "iptables"} -t nat -D POSTROUTING -s 10.100.0.0/24 -o ens3 -j MASQUERADE - ''; - - peers = [ - { - publicKey = "{}"; - presharedKeyFile = config.sops.secrets.presharedWgKey1; - allowedIPs = [ - "10.100.0.2/32" - ]; - } - - { - publicKey = "{}"; - presharedKeyFile = config.sops.secrets.presharedWgKey2; - allowedIPs = [ - "10.100.0.3/32" - ]; - } - ]; - }; - }; - }; - }; -} diff --git a/s0mev1rtn0de-nix/users/users/askhat.nix b/s0mev1rtn0de-nix/users/users/askhat.nix deleted file mode 100644 index 3fba6bc..0000000 --- a/s0mev1rtn0de-nix/users/users/askhat.nix +++ /dev/null @@ -1,23 +0,0 @@ -{...}: { - users = { - users = { - askhat = { - description = "askhat"; - isNormalUser = true; - hashedPassword = "$y$j9T$t3G0Vj47wHY86twX2bfwr/$kUajwW8gxtu09z9btWBB7YNEcj1Ut3QfYEazWr7utgC"; - extraGroups = [ - "wheel" - "docker" - ]; - - openssh = { - authorizedKeys = { - keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfdXRE2ckx++O1lHFcmZlBMN1Sgy3aqSadOdC+ZOLj5 kixoncon33@gmail.com" - ]; - }; - }; - }; - }; - }; -} diff --git a/s0mev1rtn0de-nix/virtualisation/oci-containers/3x-ui.nix b/s0mev1rtn0de-nix/virtualisation/oci-containers/3x-ui.nix deleted file mode 100644 index 441db20..0000000 --- a/s0mev1rtn0de-nix/virtualisation/oci-containers/3x-ui.nix +++ /dev/null @@ -1,26 +0,0 @@ -{...}: { - virtualisation = { - oci-containers = { - containers = { - "3x-ui" = { - autoStart = true; - image = "ghcr.io/mhsanaei/3x-ui:latest"; - volumes = [ - "/docker/3x-ui/db/:/etc/x-ui/" - "/docker/3x-ui/certs/:/root/cert/" - ]; - - environment = { - XRAY_VMESS_AEAD_FORCED = toString false; - XUI_ENABLE_FAIL2BAN = toString false; - }; - - extraOptions = [ - "--network=host" - "--tty=true" - ]; - }; - }; - }; - }; -} diff --git a/s0meMiniPC-nix/boot/initrd.nix b/viola/boot/initrd.nix similarity index 88% rename from s0meMiniPC-nix/boot/initrd.nix rename to viola/boot/initrd.nix index 568c6d0..86f16c1 100644 --- a/s0meMiniPC-nix/boot/initrd.nix +++ b/viola/boot/initrd.nix @@ -1,4 +1,4 @@ -{lib, ...}: { +_: { boot = { initrd = { availableKernelModules = [ @@ -14,7 +14,6 @@ supportedFilesystems = { vfat = true; btrfs = true; - zfs = lib.mkForce true; }; systemd = { diff --git a/s0meMiniPC-nix/boot/kernel.nix b/viola/boot/kernel.nix similarity index 91% rename from s0meMiniPC-nix/boot/kernel.nix rename to viola/boot/kernel.nix index 5f182f8..275cc4c 100644 --- a/s0meMiniPC-nix/boot/kernel.nix +++ b/viola/boot/kernel.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: { +{config, ...}: { boot = { kernel = { sysctl = { @@ -16,7 +12,6 @@ }; }; - kernelPackages = pkgs.linuxPackages_cachyos-server; extraModulePackages = with config.boot.kernelPackages; [ rtl8821ce yt6801 @@ -35,6 +30,7 @@ "page_alloc.shuffle=1" "page_poison=1" "slab_nomerge" + "zswap.enabled=0" "kernel.watchdog=0" "oops=panic" @@ -73,7 +69,6 @@ supportedFilesystems = { vfat = true; btrfs = true; - zfs = lib.mkForce true; }; consoleLogLevel = 0; diff --git a/s0meMiniPC-nix/boot/lanzaboote.nix b/viola/boot/lanzaboote.nix similarity index 85% rename from s0meMiniPC-nix/boot/lanzaboote.nix rename to viola/boot/lanzaboote.nix index 4a1320e..8036b8a 100644 --- a/s0meMiniPC-nix/boot/lanzaboote.nix +++ b/viola/boot/lanzaboote.nix @@ -1,7 +1,7 @@ -{...}: { +_: { boot = { lanzaboote = { - enable = false; + enable = true; configurationLimit = 7; pkiBundle = "/var/lib/sbctl"; settings = { diff --git a/s0meMiniPC-nix/boot/loader/systemd-boot.nix b/viola/boot/loader/systemd-boot.nix similarity index 97% rename from s0meMiniPC-nix/boot/loader/systemd-boot.nix rename to viola/boot/loader/systemd-boot.nix index 8e2989c..d8ebe95 100644 --- a/s0meMiniPC-nix/boot/loader/systemd-boot.nix +++ b/viola/boot/loader/systemd-boot.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { loader = { systemd-boot = { diff --git a/s0meMiniPC-nix/boot/plymouth.nix b/viola/boot/plymouth.nix similarity index 100% rename from s0meMiniPC-nix/boot/plymouth.nix rename to viola/boot/plymouth.nix diff --git a/s0meMiniPC-nix/boot/tmp.nix b/viola/boot/tmp.nix similarity index 90% rename from s0meMiniPC-nix/boot/tmp.nix rename to viola/boot/tmp.nix index ac46b34..904e141 100644 --- a/s0meMiniPC-nix/boot/tmp.nix +++ b/viola/boot/tmp.nix @@ -1,4 +1,4 @@ -{...}: { +_: { boot = { tmp = { useTmpfs = true; diff --git a/s0meMiniPC-nix/console/console.nix b/viola/console/console.nix similarity index 83% rename from s0meMiniPC-nix/console/console.nix rename to viola/console/console.nix index 1e60d13..e3a24c9 100644 --- a/s0meMiniPC-nix/console/console.nix +++ b/viola/console/console.nix @@ -1,4 +1,4 @@ -{...}: { +_: { console = { useXkbConfig = true; }; diff --git a/viola/default.nix b/viola/default.nix new file mode 100644 index 0000000..535051b --- /dev/null +++ b/viola/default.nix @@ -0,0 +1,100 @@ +{self, ...}: { + imports = [ + "${self}/viola/boot/initrd.nix" + "${self}/viola/boot/kernel.nix" + "${self}/viola/boot/lanzaboote.nix" + "${self}/viola/boot/plymouth.nix" + "${self}/viola/boot/tmp.nix" + "${self}/viola/boot/loader/systemd-boot.nix" + + "${self}/viola/disko/disk.nix" + "${self}/viola/disko/lvm_vg.nix" + + "${self}/viola/console/console.nix" + + "${self}/viola/environment/systemPackages.nix" + "${self}/viola/environment/variables.nix" + + "${self}/viola/hardware/cpu.nix" + "${self}/viola/hardware/graphics.nix" + "${self}/viola/hardware/zram.nix" + + "${self}/viola/home-manager/users.nix" + + "${self}/viola/i18n/locales.nix" + + "${self}/viola/networking/dhcp.nix" + "${self}/viola/networking/firewall.nix" + "${self}/viola/networking/hostname.nix" + "${self}/viola/networking/networkmanager.nix" + "${self}/viola/networking/wireguard.nix" + "${self}/viola/networking/nameservers.nix" + "${self}/viola/networking/hosts.nix" + "${self}/viola/networking/hostId.nix" + "${self}/viola/networking/interfaces.nix" + + "${self}/viola/nix/package.nix" + "${self}/viola/nix/settings/allowed-users.nix" + "${self}/viola/nix/settings/experimental-features.nix" + "${self}/viola/nix/settings/substituters.nix" + "${self}/viola/nix/settings/trusted-public-keys.nix" + "${self}/viola/nix/settings/trusted-users.nix" + "${self}/viola/nix/settings/auto-optimise-store.nix" + + "${self}/viola/nixpkgs/config.nix" + "${self}/viola/nixpkgs/system.nix" + + "${self}/viola/programs/nh.nix" + "${self}/viola/programs/ssh.nix" + + "${self}/viola/security/polkit.nix" + "${self}/viola/security/rtkit.nix" + "${self}/viola/security/sudo.nix" + "${self}/viola/security/sudo-rs.nix" + + "${self}/viola/services/greetd.nix" + "${self}/viola/services/libinput.nix" + "${self}/viola/services/openssh.nix" + "${self}/viola/services/pipewire.nix" + "${self}/viola/services/netbird.nix" + "${self}/viola/services/scx.nix" + "${self}/viola/services/xserver.nix" + "${self}/viola/services/usbmuxd.nix" + "${self}/viola/services/irqbalance.nix" + "${self}/viola/services/forgejo.nix" + "${self}/viola/services/postgresql.nix" + "${self}/viola/services/vaultwarden.nix" + "${self}/viola/services/privatebin.nix" + "${self}/viola/services/woodpecker.nix" + "${self}/viola/services/stalwart.nix" + "${self}/viola/services/homepage.nix" + "${self}/viola/services/redis.nix" + "${self}/viola/services/zitadel.nix" + "${self}/viola/services/garage.nix" + + "${self}/viola/sops/defaults.nix" + "${self}/viola/sops/secrets.nix" + + "${self}/hand7s/stylix/base16Scheme.nix" + "${self}/hand7s/stylix/cursor.nix" + "${self}/hand7s/stylix/defaults.nix" + "${self}/hand7s/stylix/fonts.nix" + "${self}/hand7s/stylix/image.nix" + + "${self}/viola/system/name.nix" + "${self}/viola/system/stateVersion.nix" + + "${self}/viola/systemd/oomd.nix" + "${self}/viola/systemd/slices/system-slice.nix" + "${self}/viola/systemd/slices/user-slice.nix" + "${self}/viola/systemd/slices/root-slice.nix" + + "${self}/viola/time/timeZone.nix" + + "${self}/viola/users/users/hand7s.nix" + "${self}/viola/users/users/root.nix" + "${self}/viola/users/mutableUsers.nix" + + "${self}/viola/virtualisation/docker.nix" + ]; +} diff --git a/s0meMiniPC-nix/disko/disk.nix b/viola/disko/disk.nix similarity index 100% rename from s0meMiniPC-nix/disko/disk.nix rename to viola/disko/disk.nix diff --git a/s0meMiniPC-nix/disko/lvm_vg.nix b/viola/disko/lvm_vg.nix similarity index 100% rename from s0meMiniPC-nix/disko/lvm_vg.nix rename to viola/disko/lvm_vg.nix diff --git a/s0meMiniPC-nix/environment/systemPackages.nix b/viola/environment/systemPackages.nix similarity index 86% rename from s0meMiniPC-nix/environment/systemPackages.nix rename to viola/environment/systemPackages.nix index 28deca2..4801164 100644 --- a/s0meMiniPC-nix/environment/systemPackages.nix +++ b/viola/environment/systemPackages.nix @@ -10,5 +10,7 @@ uutils-diffutils home-manager ]; + + enableAllTerminfo = false; }; } diff --git a/s0meMiniPC-nix/environment/variables.nix b/viola/environment/variables.nix similarity index 93% rename from s0meMiniPC-nix/environment/variables.nix rename to viola/environment/variables.nix index 52c5a9e..2cd14c2 100644 --- a/s0meMiniPC-nix/environment/variables.nix +++ b/viola/environment/variables.nix @@ -13,7 +13,5 @@ GRIMBLAST_HIDE_CURSOR = "0"; TERM = "xterm-256color"; }; - - enableAllTerminfo = true; }; } diff --git a/s0meMiniPC-nix/hardware/cpu.nix b/viola/hardware/cpu.nix similarity index 93% rename from s0meMiniPC-nix/hardware/cpu.nix rename to viola/hardware/cpu.nix index e5746c6..441946f 100644 --- a/s0meMiniPC-nix/hardware/cpu.nix +++ b/viola/hardware/cpu.nix @@ -1,4 +1,4 @@ -{...}: { +_: { hardware = { enableRedistributableFirmware = true; cpu = { diff --git a/s0meMiniPC-nix/hardware/graphics.nix b/viola/hardware/graphics.nix similarity index 91% rename from s0meMiniPC-nix/hardware/graphics.nix rename to viola/hardware/graphics.nix index f81ccb7..76c79bf 100644 --- a/s0meMiniPC-nix/hardware/graphics.nix +++ b/viola/hardware/graphics.nix @@ -1,4 +1,4 @@ -{...}: { +_: { hardware = { graphics = { enable = true; diff --git a/viola/hardware/zram.nix b/viola/hardware/zram.nix new file mode 100644 index 0000000..d37077e --- /dev/null +++ b/viola/hardware/zram.nix @@ -0,0 +1,8 @@ +_: { + zramSwap = { + enable = true; + algorithm = "zstd"; + priority = 100; + memoryPercent = 200; + }; +} diff --git a/viola/home-manager/users.nix b/viola/home-manager/users.nix new file mode 100644 index 0000000..9d92dc6 --- /dev/null +++ b/viola/home-manager/users.nix @@ -0,0 +1,26 @@ +{self, ...}: { + home-manager = { + users = { + "hand7s" = { + imports = [ + "${self}/hand7s/" + self.inputs.agenix.homeManagerModules.default + self.inputs.spicetify-nix.homeManagerModules.default + self.inputs.hyprland.homeManagerModules.default + self.inputs.chaotic.homeManagerModules.default + self.inputs.sops-nix.homeManagerModules.sops + + self.inputs.nix-index-database.homeModules.nix-index + ]; + }; + }; + + backupFileExtension = "force"; + + extraSpecialArgs = { + inherit + self + ; + }; + }; +} diff --git a/s0meMiniPC-nix/i18n/locales.nix b/viola/i18n/locales.nix similarity index 93% rename from s0meMiniPC-nix/i18n/locales.nix rename to viola/i18n/locales.nix index 09234a5..f456740 100644 --- a/s0meMiniPC-nix/i18n/locales.nix +++ b/viola/i18n/locales.nix @@ -1,4 +1,4 @@ -{...}: { +_: { i18n = { defaultLocale = "en_US.UTF-8"; supportedLocales = [ diff --git a/s0meMiniPC-nix/networking/dhcp.nix b/viola/networking/dhcp.nix similarity index 100% rename from s0meMiniPC-nix/networking/dhcp.nix rename to viola/networking/dhcp.nix diff --git a/s0meMiniPC-nix/networking/firewall.nix b/viola/networking/firewall.nix similarity index 51% rename from s0meMiniPC-nix/networking/firewall.nix rename to viola/networking/firewall.nix index 7023a46..04c13fd 100644 --- a/s0meMiniPC-nix/networking/firewall.nix +++ b/viola/networking/firewall.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { firewall = { allowPing = true; @@ -8,18 +8,48 @@ 80 8080 8443 + 8980 53350 53351 53353 + + # mc + 25565 + + # mail + 24 + 25 + 110 + 143 + 465 + 587 + 993 + 995 + 4190 ]; allowedTCPPorts = [ 80 8080 8443 + 8980 53350 53351 53353 + + # mc + 25565 + + # mail + 24 + 25 + 110 + 143 + 465 + 587 + 993 + 995 + 4190 ]; }; }; diff --git a/s0meMiniPC-nix/networking/hostId.nix b/viola/networking/hostId.nix similarity index 84% rename from s0meMiniPC-nix/networking/hostId.nix rename to viola/networking/hostId.nix index 10b6b21..b0a983f 100644 --- a/s0meMiniPC-nix/networking/hostId.nix +++ b/viola/networking/hostId.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { hostId = "5c79d46a"; }; diff --git a/viola/networking/hostname.nix b/viola/networking/hostname.nix new file mode 100644 index 0000000..ea70707 --- /dev/null +++ b/viola/networking/hostname.nix @@ -0,0 +1,5 @@ +_: { + networking = { + hostName = "viola"; + }; +} diff --git a/s0meMiniPC-nix/networking/hosts.nix b/viola/networking/hosts.nix similarity index 86% rename from s0meMiniPC-nix/networking/hosts.nix rename to viola/networking/hosts.nix index 04747e5..e42e2b1 100644 --- a/s0meMiniPC-nix/networking/hosts.nix +++ b/viola/networking/hosts.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { hosts = { # nope diff --git a/s0meMiniPC-nix/networking/interfaces.nix b/viola/networking/interfaces.nix similarity index 91% rename from s0meMiniPC-nix/networking/interfaces.nix rename to viola/networking/interfaces.nix index 26f5eb8..03a3a3e 100644 --- a/s0meMiniPC-nix/networking/interfaces.nix +++ b/viola/networking/interfaces.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { firewall = { interfaces = { @@ -8,6 +8,7 @@ 6969 8080 8443 + 8980 53350 53351 53352 @@ -18,6 +19,7 @@ 6969 8080 8443 + 8980 53350 53351 53352 diff --git a/s0meMiniPC-nix/networking/nameservers.nix b/viola/networking/nameservers.nix similarity index 98% rename from s0meMiniPC-nix/networking/nameservers.nix rename to viola/networking/nameservers.nix index a4d22c1..31726b9 100644 --- a/s0meMiniPC-nix/networking/nameservers.nix +++ b/viola/networking/nameservers.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { nameservers = [ # cf dns diff --git a/s0meMiniPC-nix/networking/networkmanager.nix b/viola/networking/networkmanager.nix similarity index 91% rename from s0meMiniPC-nix/networking/networkmanager.nix rename to viola/networking/networkmanager.nix index 3d66f30..474d212 100644 --- a/s0meMiniPC-nix/networking/networkmanager.nix +++ b/viola/networking/networkmanager.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { networkmanager = { enable = false; diff --git a/s0meMiniPC-nix/networking/timeServers.nix b/viola/networking/timeServers.nix similarity index 94% rename from s0meMiniPC-nix/networking/timeServers.nix rename to viola/networking/timeServers.nix index 88e14c4..9289ea6 100644 --- a/s0meMiniPC-nix/networking/timeServers.nix +++ b/viola/networking/timeServers.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { timeServers = [ "0.nixos.pool.ntp.org" diff --git a/s0meMiniPC-nix/networking/wireguard.nix b/viola/networking/wireguard.nix similarity index 88% rename from s0meMiniPC-nix/networking/wireguard.nix rename to viola/networking/wireguard.nix index 2ee5c02..bd2336c 100644 --- a/s0meMiniPC-nix/networking/wireguard.nix +++ b/viola/networking/wireguard.nix @@ -1,4 +1,4 @@ -{...}: { +_: { networking = { wireguard = { enable = true; diff --git a/s0meMiniPC-nix/nix/package.nix b/viola/nix/package.nix similarity index 100% rename from s0meMiniPC-nix/nix/package.nix rename to viola/nix/package.nix diff --git a/s0mev1rtn0de-nix/nix/settings/allowed-users.nix b/viola/nix/settings/allowed-users.nix similarity index 92% rename from s0mev1rtn0de-nix/nix/settings/allowed-users.nix rename to viola/nix/settings/allowed-users.nix index d483d0c..0239519 100644 --- a/s0mev1rtn0de-nix/nix/settings/allowed-users.nix +++ b/viola/nix/settings/allowed-users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { sandbox = true; diff --git a/s0meMiniPC-nix/nix/settings/auto-optimise-store.nix b/viola/nix/settings/auto-optimise-store.nix similarity index 89% rename from s0meMiniPC-nix/nix/settings/auto-optimise-store.nix rename to viola/nix/settings/auto-optimise-store.nix index 14f13c5..cb7a22a 100644 --- a/s0meMiniPC-nix/nix/settings/auto-optimise-store.nix +++ b/viola/nix/settings/auto-optimise-store.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { auto-optimise-store = true; diff --git a/s0meMiniPC-nix/nix/settings/experimental-features.nix b/viola/nix/settings/experimental-features.nix similarity index 93% rename from s0meMiniPC-nix/nix/settings/experimental-features.nix rename to viola/nix/settings/experimental-features.nix index 7ce7e89..9c45bc4 100644 --- a/s0meMiniPC-nix/nix/settings/experimental-features.nix +++ b/viola/nix/settings/experimental-features.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { experimental-features = [ diff --git a/viola/nix/settings/substituters.nix b/viola/nix/settings/substituters.nix new file mode 100644 index 0000000..da0035f --- /dev/null +++ b/viola/nix/settings/substituters.nix @@ -0,0 +1,19 @@ +_: { + nix = { + settings = { + substituters = [ + # cache.nixos.org + "https://cache.nixos.org" + # cache.garnix.org + "https://cache.garnix.io" + # cachix + "https://nix-community.cachix.org/" + "https://chaotic-nyx.cachix.org/" + "https://hyprland.cachix.org" + "https://chaotic-nyx.cachix.org/" + # nix-community + "https://hydra.nix-community.org/" + ]; + }; + }; +} diff --git a/s0meMiniPC-nix/nix/settings/trusted-public-keys.nix b/viola/nix/settings/trusted-public-keys.nix similarity index 98% rename from s0meMiniPC-nix/nix/settings/trusted-public-keys.nix rename to viola/nix/settings/trusted-public-keys.nix index e8710cb..4a128cb 100644 --- a/s0meMiniPC-nix/nix/settings/trusted-public-keys.nix +++ b/viola/nix/settings/trusted-public-keys.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-public-keys = [ diff --git a/s0meMiniPC-nix/nix/settings/trusted-users.nix b/viola/nix/settings/trusted-users.nix similarity index 91% rename from s0meMiniPC-nix/nix/settings/trusted-users.nix rename to viola/nix/settings/trusted-users.nix index e4a9dae..4eee825 100644 --- a/s0meMiniPC-nix/nix/settings/trusted-users.nix +++ b/viola/nix/settings/trusted-users.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nix = { settings = { trusted-users = [ diff --git a/s0mev1rtn0de-nix/nixpkgs/config.nix b/viola/nixpkgs/config.nix similarity index 91% rename from s0mev1rtn0de-nix/nixpkgs/config.nix rename to viola/nixpkgs/config.nix index 0425353..b93e4ef 100644 --- a/s0mev1rtn0de-nix/nixpkgs/config.nix +++ b/viola/nixpkgs/config.nix @@ -1,8 +1,8 @@ -{...}: { +_: { nixpkgs = { config = { - allowBroken = true; allowUnfree = true; + allowBroken = true; }; }; } diff --git a/s0meMiniPC-nix/nixpkgs/overlays.nix b/viola/nixpkgs/overlays.nix similarity index 83% rename from s0meMiniPC-nix/nixpkgs/overlays.nix rename to viola/nixpkgs/overlays.nix index 2881eba..8db0844 100644 --- a/s0meMiniPC-nix/nixpkgs/overlays.nix +++ b/viola/nixpkgs/overlays.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { overlays = [ ]; diff --git a/s0meMiniPC-nix/nixpkgs/system.nix b/viola/nixpkgs/system.nix similarity index 90% rename from s0meMiniPC-nix/nixpkgs/system.nix rename to viola/nixpkgs/system.nix index 63fda3b..3cbe59a 100644 --- a/s0meMiniPC-nix/nixpkgs/system.nix +++ b/viola/nixpkgs/system.nix @@ -1,4 +1,4 @@ -{...}: { +_: { nixpkgs = { system = "x86_64-linux"; hostPlatform = "x86_64-linux"; diff --git a/s0meMiniPC-nix/programs/nh.nix b/viola/programs/nh.nix similarity index 95% rename from s0meMiniPC-nix/programs/nh.nix rename to viola/programs/nh.nix index f43fb06..6d9937d 100644 --- a/s0meMiniPC-nix/programs/nh.nix +++ b/viola/programs/nh.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { nh = { enable = true; diff --git a/s0meMiniPC-nix/programs/ssh.nix b/viola/programs/ssh.nix similarity index 88% rename from s0meMiniPC-nix/programs/ssh.nix rename to viola/programs/ssh.nix index b7b9d20..5028eaf 100644 --- a/s0meMiniPC-nix/programs/ssh.nix +++ b/viola/programs/ssh.nix @@ -1,4 +1,4 @@ -{...}: { +_: { programs = { ssh = { startAgent = true; diff --git a/s0meMiniPC-nix/security/polkit.nix b/viola/security/polkit.nix similarity index 93% rename from s0meMiniPC-nix/security/polkit.nix rename to viola/security/polkit.nix index 7604e82..77e04d1 100644 --- a/s0meMiniPC-nix/security/polkit.nix +++ b/viola/security/polkit.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { polkit = { enable = true; diff --git a/s0meMiniPC-nix/security/rtkit.nix b/viola/security/rtkit.nix similarity index 87% rename from s0meMiniPC-nix/security/rtkit.nix rename to viola/security/rtkit.nix index d3604df..dd40f89 100644 --- a/s0meMiniPC-nix/security/rtkit.nix +++ b/viola/security/rtkit.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { rtkit = { enable = true; diff --git a/s0meMiniPC-nix/security/sudo-rs.nix b/viola/security/sudo-rs.nix similarity index 93% rename from s0meMiniPC-nix/security/sudo-rs.nix rename to viola/security/sudo-rs.nix index 772460d..4f270c9 100644 --- a/s0meMiniPC-nix/security/sudo-rs.nix +++ b/viola/security/sudo-rs.nix @@ -1,4 +1,4 @@ -{...}: { +_: { security = { sudo-rs = { enable = true; diff --git a/s0meMiniPC-nix/security/sudo.nix b/viola/security/sudo.nix similarity index 100% rename from s0meMiniPC-nix/security/sudo.nix rename to viola/security/sudo.nix diff --git a/s0meMiniPC-nix/services/forgejo.nix b/viola/services/forgejo.nix similarity index 100% rename from s0meMiniPC-nix/services/forgejo.nix rename to viola/services/forgejo.nix diff --git a/viola/services/garage.nix b/viola/services/garage.nix new file mode 100644 index 0000000..607f265 --- /dev/null +++ b/viola/services/garage.nix @@ -0,0 +1,12 @@ +{pkgs, ...}: { + services = { + garage = { + enable = true; + package = pkgs.garage; + logLevel = "error"; + settings = { + # nope + }; + }; + }; +} diff --git a/s0meMiniPC-nix/services/greetd.nix b/viola/services/greetd.nix similarity index 100% rename from s0meMiniPC-nix/services/greetd.nix rename to viola/services/greetd.nix diff --git a/s0meMiniPC-nix/services/homepage.nix b/viola/services/homepage.nix similarity index 100% rename from s0meMiniPC-nix/services/homepage.nix rename to viola/services/homepage.nix diff --git a/s0meMiniPC-nix/services/irqbalance.nix b/viola/services/irqbalance.nix similarity index 88% rename from s0meMiniPC-nix/services/irqbalance.nix rename to viola/services/irqbalance.nix index 2b3b1dd..ee8472e 100644 --- a/s0meMiniPC-nix/services/irqbalance.nix +++ b/viola/services/irqbalance.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { irqbalance = { enable = true; diff --git a/s0meMiniPC-nix/services/libinput.nix b/viola/services/libinput.nix similarity index 97% rename from s0meMiniPC-nix/services/libinput.nix rename to viola/services/libinput.nix index d859d7f..23c2953 100644 --- a/s0meMiniPC-nix/services/libinput.nix +++ b/viola/services/libinput.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { libinput = { enable = true; diff --git a/s0mev1rtn0de-nix/services/netbird.nix b/viola/services/netbird.nix similarity index 88% rename from s0mev1rtn0de-nix/services/netbird.nix rename to viola/services/netbird.nix index 071330a..f375f14 100644 --- a/s0mev1rtn0de-nix/services/netbird.nix +++ b/viola/services/netbird.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { netbird = { enable = true; diff --git a/s0meMiniPC-nix/services/openssh.nix b/viola/services/openssh.nix similarity index 100% rename from s0meMiniPC-nix/services/openssh.nix rename to viola/services/openssh.nix diff --git a/s0meMiniPC-nix/services/pipewire.nix b/viola/services/pipewire.nix similarity index 99% rename from s0meMiniPC-nix/services/pipewire.nix rename to viola/services/pipewire.nix index c4bad1e..37c7c5f 100644 --- a/s0meMiniPC-nix/services/pipewire.nix +++ b/viola/services/pipewire.nix @@ -1,4 +1,4 @@ -{...}: { +_: { services = { pipewire = { enable = true; diff --git a/viola/services/postgresql.nix b/viola/services/postgresql.nix new file mode 100644 index 0000000..62c57bb --- /dev/null +++ b/viola/services/postgresql.nix @@ -0,0 +1,56 @@ +{...}: { + services = { + postgresql = { + enable = true; + enableTCPIP = true; + checkConfig = true; + + ensureUsers = [ + { + name = "forgejo"; + ensureDBOwnership = true; + } + + { + name = "vaultwarden"; + ensureDBOwnership = true; + } + + { + name = "woodpecker"; + ensureDBOwnership = true; + } + + { + name = "zitadel"; + ensureDBOwnership = true; + ensureClauses = { + login = true; + superuser = true; + }; + } + + { + name = "stalwart"; + ensureDBOwnership = true; + } + ]; + + ensureDatabases = [ + "vaultwarden" + "forgejo" + "woodpecker" + "stalwart" + "zitadel" + ]; + + initialScript = ""; # nope + + authentication = ""; #nope + + settings = { + port = "${dbport}"; + }; + }; + }; +} diff --git a/s0meMiniPC-nix/services/privatebin.nix b/viola/services/privatebin.nix similarity index 100% rename from s0meMiniPC-nix/services/privatebin.nix rename to viola/services/privatebin.nix diff --git a/viola/services/redis.nix b/viola/services/redis.nix new file mode 100644 index 0000000..75fdfed --- /dev/null +++ b/viola/services/redis.nix @@ -0,0 +1,152 @@ +{pkgs, ...}: { + services = { + redis = { + package = pkgs.valkey; + servers = { + "forgejo" = { + enable = true; + port = "${cacheport1}"; + logLevel = "warning"; + databases = 16; + maxclients = 10000; + requirePass = "${cachepass1}"; + + settings = { + stop-writes-on-bgsave-error = "yes"; + rdbcompression = "yes"; + rdbchecksum = "yes"; + + maxmemory = "1GB"; + maxmemory-policy = "volatile-lru"; + maxmemory-samples = 3; + }; + + save = [ + [ + 900 + 1 + ] + + [ + 300 + 10 + ] + + [ + 60 + 1000 + ] + ]; + }; + + "woodpecker" = { + enable = false; + port = "${cacheport2}"; + logLevel = "warning"; + databases = 16; + maxclients = 10000; + requirePass = "${cachepass2}"; + + settings = { + stop-writes-on-bgsave-error = "yes"; + rdbcompression = "yes"; + rdbchecksum = "yes"; + + maxmemory = "1GB"; + maxmemory-policy = "volatile-lru"; + maxmemory-samples = 3; + }; + + save = [ + [ + 900 + 1 + ] + + [ + 300 + 10 + ] + + [ + 60 + 1000 + ] + ]; + }; + + "stalwart" = { + enable = true; + port = "${cacheport3}"; + logLevel = "warning"; + databases = 16; + maxclients = 10000; + requirePass = "${cachepass3}"; + + settings = { + stop-writes-on-bgsave-error = "yes"; + rdbcompression = "yes"; + rdbchecksum = "yes"; + + maxmemory = "1GB"; + maxmemory-policy = "volatile-lru"; + maxmemory-samples = 3; + }; + + save = [ + [ + 900 + 1 + ] + + [ + 300 + 10 + ] + + [ + 60 + 1000 + ] + ]; + }; + + "zitadel" = { + enable = true; + port = "${cacheport4}"; + logLevel = "warning"; + databases = 16; + maxclients = 10000; + requirePass = "${cachepass4}"; + + settings = { + stop-writes-on-bgsave-error = "yes"; + rdbcompression = "yes"; + rdbchecksum = "yes"; + + maxmemory = "1GB"; + maxmemory-policy = "volatile-lru"; + maxmemory-samples = 3; + }; + + save = [ + [ + 900 + 1 + ] + + [ + 300 + 10 + ] + + [ + 60 + 1000 + ] + ]; + }; + }; + }; + }; +} diff --git a/s0meMiniPC-nix/services/scx.nix b/viola/services/scx.nix similarity index 66% rename from s0meMiniPC-nix/services/scx.nix rename to viola/services/scx.nix index a60071f..9e4e423 100644 --- a/s0meMiniPC-nix/services/scx.nix +++ b/viola/services/scx.nix @@ -1,8 +1,7 @@ -{...}: { +_: { services = { scx = { enable = true; - # package = pkgs.scx_git.full; scheduler = "scx_lavd"; }; }; diff --git a/viola/services/stalwart.nix b/viola/services/stalwart.nix new file mode 100644 index 0000000..9523498 --- /dev/null +++ b/viola/services/stalwart.nix @@ -0,0 +1,135 @@ +_: { + services = { + stalwart-mail = { + enable = true; + settings = { + acme = { + "cloudflare" = { + default = true; + challenge = "dns-01"; + provider = "cloudflare"; + origin = "hand7s.org"; + secret = "${mail_secret}"; + contact = [ + "me@hand7s.org" + ]; + + email = "me@hand7s.org"; + directory = "https://acme-staging-v02.api.letsencrypt.org/directory"; + domains = [ + "mail.hand7s.org" + ]; + }; + }; + + server = { + hostname = "mail.hand7s.org"; + + proxy = { + trusted-networks = [ + "::1" + "100.109.213.170/16" + ]; + }; + + listener = { + "lmtp" = { + bind = "[::]:24"; + protocol = "lmtp"; + }; + + "smtp" = { + bind = "[::]:25"; + protocol = "smtp"; + }; + + "pop3" = { + bind = "[::]:110"; + protocol = "pop3"; + }; + + "imap" = { + bind = "[::]:143"; + protocol = "imap"; + }; + + "submissions" = { + bind = "[::]:465"; + protocol = "smtp"; + }; + + "submission" = { + bind = "[::]:587"; + protocol = "smtp"; + }; + + "imaptls" = { + bind = "[::]:993"; + protocol = "smtp"; + }; + + "pop3s" = { + bind = "[::]:995"; + protocol = "pop3"; + }; + + "sieve" = { + bind = "[::]:4190"; + protocol = "managesieve"; + }; + + "management" = { + protocol = "http"; + bind = [ + "127.0.0.1:8980" + ]; + }; + }; + }; + + lookup = { + default = { + hostname = "mail.hand7s.org"; + domain = "hand7s.org"; + }; + }; + + storage = { + data = "postgresql"; + blob = "s3"; + fts = "postgresql"; + lookup = "redis"; + }; + + store = { + # nope + # i'm not redacting my main config + # here to show it here + # refer to stalwart mail + # ty + }; + + authentication = { + fallback-admin = { + user = "admin"; + secret = "admin"; + }; + }; + + tracer = { + journal = { + enable = true; + type = "journal"; + level = "debug"; + }; + + console = { + enable = true; + type = "console"; + level = "trace"; + }; + }; + }; + }; + }; +} diff --git a/s0meMiniPC-nix/services/usbmuxd.nix b/viola/services/usbmuxd.nix similarity index 100% rename from s0meMiniPC-nix/services/usbmuxd.nix rename to viola/services/usbmuxd.nix diff --git a/viola/services/vaultwarden.nix b/viola/services/vaultwarden.nix new file mode 100644 index 0000000..cddc3d6 --- /dev/null +++ b/viola/services/vaultwarden.nix @@ -0,0 +1,12 @@ +_: { + services = { + vaultwarden = { + enable = true; + dbBackend = "postgresql"; + config = { + # holy private thing + # im NOT sharing it here + }; + }; + }; +} diff --git a/viola/services/woodpecker.nix b/viola/services/woodpecker.nix new file mode 100644 index 0000000..c3fe436 --- /dev/null +++ b/viola/services/woodpecker.nix @@ -0,0 +1,20 @@ +_: { + services = { + woodpecker-server = { + enable = false; + environment = { + WOODPECKER_OPEN = "true"; + WOODPECKER_DATABASE_DRIVER = "postgres"; + WOODPECKER_DATABASE_DATASOURCE = "${pqsql_socket}"; + WOODPECKER_SERVER_ADDR = "${ciport1}"; + WOODPECKER_GRPC_ADDR = "${ciport1}"; + WOODPECKER_HOST = "https://cicd.hand7s.org"; + + WOODPECKER_FORGEJO = "true"; + WOODPECKER_FORGEJO_URL = "https://git.hand7s.org"; + WOODPECKER_FORGEJO_CLIENT = "${cisecret1}"; + FORGEJO_SECRET = "${cisecret2}"; + }; + }; + }; +} diff --git a/s0meMiniPC-nix/services/xserver.nix b/viola/services/xserver.nix similarity index 100% rename from s0meMiniPC-nix/services/xserver.nix rename to viola/services/xserver.nix diff --git a/s0meMiniPC-nix/services/zitadel.nix b/viola/services/zitadel.nix similarity index 100% rename from s0meMiniPC-nix/services/zitadel.nix rename to viola/services/zitadel.nix diff --git a/s0meMiniPC-nix/system/name.nix b/viola/system/name.nix similarity index 100% rename from s0meMiniPC-nix/system/name.nix rename to viola/system/name.nix diff --git a/s0meMiniPC-nix/system/stateVersion.nix b/viola/system/stateVersion.nix similarity index 100% rename from s0meMiniPC-nix/system/stateVersion.nix rename to viola/system/stateVersion.nix diff --git a/s0meMiniPC-nix/systemd/oomd.nix b/viola/systemd/oomd.nix similarity index 94% rename from s0meMiniPC-nix/systemd/oomd.nix rename to viola/systemd/oomd.nix index cbd28f2..bb9a200 100644 --- a/s0meMiniPC-nix/systemd/oomd.nix +++ b/viola/systemd/oomd.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { oomd = { enable = true; diff --git a/s0meMiniPC-nix/systemd/slices/root-slice.nix b/viola/systemd/slices/root-slice.nix similarity index 96% rename from s0meMiniPC-nix/systemd/slices/root-slice.nix rename to viola/systemd/slices/root-slice.nix index 118ca0b..6a386e9 100644 --- a/s0meMiniPC-nix/systemd/slices/root-slice.nix +++ b/viola/systemd/slices/root-slice.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { slices = { root = { diff --git a/s0meMiniPC-nix/systemd/slices/system-slice.nix b/viola/systemd/slices/system-slice.nix similarity index 96% rename from s0meMiniPC-nix/systemd/slices/system-slice.nix rename to viola/systemd/slices/system-slice.nix index 148f19b..4de4bba 100644 --- a/s0meMiniPC-nix/systemd/slices/system-slice.nix +++ b/viola/systemd/slices/system-slice.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { slices = { system = { diff --git a/s0meMiniPC-nix/systemd/slices/user-slice.nix b/viola/systemd/slices/user-slice.nix similarity index 96% rename from s0meMiniPC-nix/systemd/slices/user-slice.nix rename to viola/systemd/slices/user-slice.nix index 21d74d8..311e668 100644 --- a/s0meMiniPC-nix/systemd/slices/user-slice.nix +++ b/viola/systemd/slices/user-slice.nix @@ -1,4 +1,4 @@ -{...}: { +_: { systemd = { slices = { user = { diff --git a/s0meMiniPC-nix/time/timeZone.nix b/viola/time/timeZone.nix similarity index 90% rename from s0meMiniPC-nix/time/timeZone.nix rename to viola/time/timeZone.nix index 57bca35..cef1656 100644 --- a/s0meMiniPC-nix/time/timeZone.nix +++ b/viola/time/timeZone.nix @@ -1,4 +1,4 @@ -{...}: { +_: { time = { timeZone = "Europe/Moscow"; hardwareClockInLocalTime = true; diff --git a/s0meMiniPC-nix/users/mutableUsers.nix b/viola/users/mutableUsers.nix similarity index 83% rename from s0meMiniPC-nix/users/mutableUsers.nix rename to viola/users/mutableUsers.nix index 54415f1..9bb56d0 100644 --- a/s0meMiniPC-nix/users/mutableUsers.nix +++ b/viola/users/mutableUsers.nix @@ -1,4 +1,4 @@ -{...}: { +_: { users = { mutableUsers = false; }; diff --git a/s0meMiniPC-nix/users/users/hand7s.nix b/viola/users/users/hand7s.nix similarity index 86% rename from s0meMiniPC-nix/users/users/hand7s.nix rename to viola/users/users/hand7s.nix index 8c0df47..141b5a3 100644 --- a/s0meMiniPC-nix/users/users/hand7s.nix +++ b/viola/users/users/hand7s.nix @@ -1,14 +1,13 @@ -{...}: { +_: { users = { users = { - hand7s = { + "hand7s" = { description = "me"; isSystemUser = false; isNormalUser = true; initialHashedPassword = "$6$ckgRhNWmJgSwOUpJ$kfeAdokd5fa76HWbTmWN2YXx4M/PQVOTJku1ODbqbBhEkUFiLftdaJFRnNXfIM3Jtz0ShoRMSVCB7mDkxDrdi/"; extraGroups = [ "wheel" - "networkmanager" "docker" ]; }; diff --git a/s0meMiniPC-nix/users/users/root.nix b/viola/users/users/root.nix similarity index 88% rename from s0meMiniPC-nix/users/users/root.nix rename to viola/users/users/root.nix index 595a6f6..faa89b7 100644 --- a/s0meMiniPC-nix/users/users/root.nix +++ b/viola/users/users/root.nix @@ -1,7 +1,7 @@ -{...}: { +_: { users = { users = { - root = { + "root" = { initialHashedPassword = "$6$n4OLMvYHHStHvtmr$6OL0NV1dEM2b6oJRewkhuoFxM80lI67tfbJ6QkCg8WAA1gbeKrcwDAuJjm8zvpY4zcDR3Z5Zbo8uebfOi6XXF0"; }; }; diff --git a/s0meMiniPC-nix/virtualisation/docker.nix b/viola/virtualisation/docker.nix similarity index 93% rename from s0meMiniPC-nix/virtualisation/docker.nix rename to viola/virtualisation/docker.nix index 1edae88..805ac30 100644 --- a/s0meMiniPC-nix/virtualisation/docker.nix +++ b/viola/virtualisation/docker.nix @@ -1,4 +1,4 @@ -{...}: { +_: { virtualisation = { docker = { enable = true; diff --git a/wanda/console/console.nix b/wanda/console/console.nix new file mode 100644 index 0000000..e3a24c9 --- /dev/null +++ b/wanda/console/console.nix @@ -0,0 +1,5 @@ +_: { + console = { + useXkbConfig = true; + }; +} diff --git a/wanda/default.nix b/wanda/default.nix new file mode 100644 index 0000000..57e97fa --- /dev/null +++ b/wanda/default.nix @@ -0,0 +1,89 @@ +{self, ...}: { + imports = [ + "${self}/wanda/console/console.nix" + + "${self}/wanda/environment/systemPackages.nix" + "${self}/wanda/environment/variables.nix" + + "${self}/wanda/hardware/zram.nix" + "${self}/wanda/hardware/" + + "${self}/wanda/home-manager/users.nix" + + "${self}/wanda/i18n/locales.nix" + + "${self}/wanda/networking/dhcp.nix" + "${self}/wanda/networking/firewall.nix" + "${self}/wanda/networking/hostname.nix" + "${self}/wanda/networking/networkmanager.nix" + "${self}/wanda/networking/wireguard.nix" + "${self}/wanda/networking/nameservers.nix" + "${self}/wanda/networking/hosts.nix" + "${self}/wanda/networking/hostId.nix" + + "${self}/wanda/nix/package.nix" + "${self}/wanda/nix/settings/allowed-users.nix" + "${self}/wanda/nix/settings/experimental-features.nix" + "${self}/wanda/nix/settings/substituters.nix" + "${self}/wanda/nix/settings/trusted-public-keys.nix" + "${self}/wanda/nix/settings/trusted-substituters.nix" + "${self}/wanda/nix/settings/trusted-users.nix" + "${self}/wanda/nix/settings/auto-optimise-store.nix" + + "${self}/wanda/nixpkgs/config.nix" + "${self}/wanda/nixpkgs/system.nix" + + "${self}/wanda/programs/nh.nix" + "${self}/wanda/programs/ssh.nix" + + "${self}/wanda/security/polkit.nix" + "${self}/wanda/security/rtkit.nix" + "${self}/wanda/security/sudo.nix" + "${self}/wanda/security/sudo-rs.nix" + "${self}/wanda/security/pam/yubico.nix" + + "${self}/wanda/services/greetd.nix" + "${self}/wanda/services/libinput.nix" + "${self}/wanda/services/openssh.nix" + "${self}/wanda/services/pipewire.nix" + "${self}/wanda/services/netbird.nix" + "${self}/wanda/services/qmk.nix" + "${self}/wanda/services/scx.nix" + "${self}/wanda/services/xserver.nix" + "${self}/wanda/services/sunshine.nix" + "${self}/wanda/services/usbmuxd.nix" + "${self}/wanda/services/irqbalance.nix" + "${self}/wanda/services/yubikey-agent.nix" + "${self}/wanda/services/resolved.nix" + + "${self}/wanda/sops/defaults.nix" + "${self}/wanda/sops/secrets.nix" + + "${self}/hand7s/stylix/base16Scheme.nix" + "${self}/hand7s/stylix/cursor.nix" + "${self}/hand7s/stylix/defaults.nix" + "${self}/hand7s/stylix/fonts.nix" + "${self}/hand7s/stylix/image.nix" + + "${self}/wanda/system/name.nix" + "${self}/wanda/system/stateVersion.nix" + + "${self}/wanda/systemd/oomd.nix" + "${self}/wanda/systemd/slices/system-slice.nix" + "${self}/wanda/systemd/slices/user-slice.nix" + "${self}/wanda/systemd/slices/root-slice.nix" + + "${self}/wanda/time/timeZone.nix" + + "${self}/wanda/users/users/hand7s.nix" + "${self}/wanda/users/users/root.nix" + "${self}/wanda/users/mutableUsers.nix" + + "${self}/wanda/wsl/" + "${self}/wanda/wsl/wslConf.nix" + + "${self}/wanda/xdg/icons.nix" + "${self}/wanda/xdg/mime.nix" + "${self}/wanda/xdg/portal.nix" + ]; +} diff --git a/wanda/environment/systemPackages.nix b/wanda/environment/systemPackages.nix new file mode 100644 index 0000000..d508dd5 --- /dev/null +++ b/wanda/environment/systemPackages.nix @@ -0,0 +1,17 @@ +{ + pkgs, + lib, + ... +}: { + environment = { + systemPackages = with pkgs; [ + (lib.hiPrio uutils-coreutils-noprefix) + uutils-findutils + uutils-diffutils + xdg-desktop-portal + xdg-desktop-portal-gtk + xdg-desktop-portal-hyprland + home-manager + ]; + }; +} diff --git a/wanda/environment/variables.nix b/wanda/environment/variables.nix new file mode 100644 index 0000000..9c47685 --- /dev/null +++ b/wanda/environment/variables.nix @@ -0,0 +1,17 @@ +{config, ...}: { + environment = { + variables = { + AMD_VULKAN_ICD = "AMDVLK"; + HOSTNAME = config.networking.hostName; + QT_QPA_PLATFORM = "wayland"; + SDL_VIDEODRIVER = "wayland"; + CLUTTER_BACKEND = "wayland"; + GDK_BACKEND = "wayland"; + NIXPKGS_ALLOW_UNFREE = "1"; + NIXPKGS_ALLOW_INSECURE = "1"; + NIXOS_OZONE_WL = "1"; + GRIMBLAST_HIDE_CURSOR = "0"; + TERM = "xterm-256color"; + }; + }; +} diff --git a/wanda/hardware/default.nix b/wanda/hardware/default.nix new file mode 100644 index 0000000..9f37847 --- /dev/null +++ b/wanda/hardware/default.nix @@ -0,0 +1,8 @@ +_: { + hardware = { + enableAllFirmware = true; + enableAllHardware = true; + enableRedistributableFirmware = true; + firmwareCompression = "zstd"; + }; +} diff --git a/s0mev1rtn0de-nix/hardware/zram.nix b/wanda/hardware/zram.nix similarity index 92% rename from s0mev1rtn0de-nix/hardware/zram.nix rename to wanda/hardware/zram.nix index b973787..0d77537 100644 --- a/s0mev1rtn0de-nix/hardware/zram.nix +++ b/wanda/hardware/zram.nix @@ -1,4 +1,4 @@ -{...}: { +_: { zramSwap = { enable = true; algorithm = "zstd"; diff --git a/wanda/home-manager/users.nix b/wanda/home-manager/users.nix new file mode 100644 index 0000000..ac58a26 --- /dev/null +++ b/wanda/home-manager/users.nix @@ -0,0 +1,28 @@ +{self, ...}: { + home-manager = { + users = { + "hand7s" = { + imports = [ + "${self}/hand7s/" + self.inputs.agenix.homeManagerModules.default + self.inputs.agenix.homeManagerModules.default + self.inputs.spicetify-nix.homeManagerModules.default + self.inputs.hyprland.homeManagerModules.default + self.inputs.chaotic.homeManagerModules.default + self.inputs.sops-nix.homeManagerModules.sops + + self.inputs.nix-index-database.homeModules.nix-index + self.inputs.noctalia.homeModules.default + ]; + }; + }; + + backupFileExtension = "force"; + + extraSpecialArgs = { + inherit + self + ; + }; + }; +} diff --git a/wanda/i18n/locales.nix b/wanda/i18n/locales.nix new file mode 100644 index 0000000..f456740 --- /dev/null +++ b/wanda/i18n/locales.nix @@ -0,0 +1,9 @@ +_: { + i18n = { + defaultLocale = "en_US.UTF-8"; + supportedLocales = [ + "en_US.UTF-8/UTF-8" + "ru_RU.UTF-8/UTF-8" + ]; + }; +} diff --git a/wanda/networking/dhcp.nix b/wanda/networking/dhcp.nix new file mode 100644 index 0000000..0740ea3 --- /dev/null +++ b/wanda/networking/dhcp.nix @@ -0,0 +1,10 @@ +{lib, ...}: { + networking = { + useDHCP = lib.mkDefault true; + dhcpcd = { + enable = true; + persistent = false; + wait = "any"; + }; + }; +} diff --git a/wanda/networking/firewall.nix b/wanda/networking/firewall.nix new file mode 100644 index 0000000..1287f81 --- /dev/null +++ b/wanda/networking/firewall.nix @@ -0,0 +1,8 @@ +_: { + networking = { + firewall = { + allowPing = true; + enable = true; + }; + }; +} diff --git a/wanda/networking/hostId.nix b/wanda/networking/hostId.nix new file mode 100644 index 0000000..585868c --- /dev/null +++ b/wanda/networking/hostId.nix @@ -0,0 +1,5 @@ +_: { + networking = { + hostId = "5c79d468"; + }; +} diff --git a/wanda/networking/hostname.nix b/wanda/networking/hostname.nix new file mode 100644 index 0000000..c91aef8 --- /dev/null +++ b/wanda/networking/hostname.nix @@ -0,0 +1,5 @@ +_: { + networking = { + hostName = "wanda"; + }; +} diff --git a/wanda/networking/hosts.nix b/wanda/networking/hosts.nix new file mode 100644 index 0000000..2ebdee6 --- /dev/null +++ b/wanda/networking/hosts.nix @@ -0,0 +1,7 @@ +_: { + networking = { + hosts = { + # nope. + }; + }; +} diff --git a/wanda/networking/nameservers.nix b/wanda/networking/nameservers.nix new file mode 100644 index 0000000..31726b9 --- /dev/null +++ b/wanda/networking/nameservers.nix @@ -0,0 +1,29 @@ +_: { + networking = { + nameservers = [ + # cf dns + "1.1.1.1" + "1.0.0.1" + "2606:4700:4700::1111" + "2606:4700:4700::1001" + + # google dns + "8.8.8.8" + "8.8.4.4" + "2001:4860:4860::8888" + "2001:4860:4860::8844" + + # q9 dns + "9.9.9.9" + "149.112.112.112" + "2620:fe::fe" + "2620:fe::9" + + # open dns + "208.67.222.222" + "208.67.220.220" + "2620:119:35::35" + "2620:119:53::53" + ]; + }; +} diff --git a/s0mev1rtn0de-nix/networking/nftables.nix b/wanda/networking/networkmanager.nix similarity index 50% rename from s0mev1rtn0de-nix/networking/nftables.nix rename to wanda/networking/networkmanager.nix index d0601b3..474d212 100644 --- a/s0mev1rtn0de-nix/networking/nftables.nix +++ b/wanda/networking/networkmanager.nix @@ -1,7 +1,9 @@ -{...}: { +_: { networking = { - nftables = { + networkmanager = { enable = false; }; + + useNetworkd = true; }; } diff --git a/wanda/networking/timeServers.nix b/wanda/networking/timeServers.nix new file mode 100644 index 0000000..9289ea6 --- /dev/null +++ b/wanda/networking/timeServers.nix @@ -0,0 +1,10 @@ +_: { + networking = { + timeServers = [ + "0.nixos.pool.ntp.org" + "1.nixos.pool.ntp.org" + "2.nixos.pool.ntp.org" + "3.nixos.pool.ntp.org" + ]; + }; +} diff --git a/wanda/networking/wireguard.nix b/wanda/networking/wireguard.nix new file mode 100644 index 0000000..bd2336c --- /dev/null +++ b/wanda/networking/wireguard.nix @@ -0,0 +1,7 @@ +_: { + networking = { + wireguard = { + enable = true; + }; + }; +} diff --git a/wanda/nix/package.nix b/wanda/nix/package.nix new file mode 100644 index 0000000..b2d6823 --- /dev/null +++ b/wanda/nix/package.nix @@ -0,0 +1,5 @@ +{pkgs, ...}: { + nix = { + package = pkgs.nixVersions.latest; + }; +} diff --git a/wanda/nix/settings/allowed-users.nix b/wanda/nix/settings/allowed-users.nix new file mode 100644 index 0000000..0239519 --- /dev/null +++ b/wanda/nix/settings/allowed-users.nix @@ -0,0 +1,10 @@ +_: { + nix = { + settings = { + sandbox = true; + allowed-users = [ + "@wheel" + ]; + }; + }; +} diff --git a/wanda/nix/settings/auto-optimise-store.nix b/wanda/nix/settings/auto-optimise-store.nix new file mode 100644 index 0000000..cb7a22a --- /dev/null +++ b/wanda/nix/settings/auto-optimise-store.nix @@ -0,0 +1,7 @@ +_: { + nix = { + settings = { + auto-optimise-store = true; + }; + }; +} diff --git a/wanda/nix/settings/experimental-features.nix b/wanda/nix/settings/experimental-features.nix new file mode 100644 index 0000000..9c45bc4 --- /dev/null +++ b/wanda/nix/settings/experimental-features.nix @@ -0,0 +1,10 @@ +_: { + nix = { + settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + }; + }; +} diff --git a/wanda/nix/settings/substituters.nix b/wanda/nix/settings/substituters.nix new file mode 100644 index 0000000..da0035f --- /dev/null +++ b/wanda/nix/settings/substituters.nix @@ -0,0 +1,19 @@ +_: { + nix = { + settings = { + substituters = [ + # cache.nixos.org + "https://cache.nixos.org" + # cache.garnix.org + "https://cache.garnix.io" + # cachix + "https://nix-community.cachix.org/" + "https://chaotic-nyx.cachix.org/" + "https://hyprland.cachix.org" + "https://chaotic-nyx.cachix.org/" + # nix-community + "https://hydra.nix-community.org/" + ]; + }; + }; +} diff --git a/wanda/nix/settings/trusted-public-keys.nix b/wanda/nix/settings/trusted-public-keys.nix new file mode 100644 index 0000000..4a128cb --- /dev/null +++ b/wanda/nix/settings/trusted-public-keys.nix @@ -0,0 +1,19 @@ +_: { + nix = { + settings = { + trusted-public-keys = [ + # cache.nixos.org + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + # cache.garnix.io + "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" + # cachix.org + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" + "ags.cachix.org-1:naAvMrz0CuYqeyGNyLgE010iUiuf/qx6kYrUv3NwAJ8=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" + "colmena.cachix.org-1:7BzpDnjjH8ki2CT3f6GdOk7QAzPOl+1t3LvTLXqYcSg=" + ]; + }; + }; +} diff --git a/s0mev1rtn0de-nix/nix/settings/substituters.nix b/wanda/nix/settings/trusted-substituters.nix similarity index 92% rename from s0mev1rtn0de-nix/nix/settings/substituters.nix rename to wanda/nix/settings/trusted-substituters.nix index 9136405..b5d0387 100644 --- a/s0mev1rtn0de-nix/nix/settings/substituters.nix +++ b/wanda/nix/settings/trusted-substituters.nix @@ -1,7 +1,7 @@ -{...}: { +_: { nix = { settings = { - substituters = [ + trusted-substituters = [ # cache.nixos.org "https://nixos-cache-proxy.cofob.dev" "https://cache.nixos.org" diff --git a/wanda/nix/settings/trusted-users.nix b/wanda/nix/settings/trusted-users.nix new file mode 100644 index 0000000..4eee825 --- /dev/null +++ b/wanda/nix/settings/trusted-users.nix @@ -0,0 +1,9 @@ +_: { + nix = { + settings = { + trusted-users = [ + "@wheel" + ]; + }; + }; +} diff --git a/wanda/nixpkgs/config.nix b/wanda/nixpkgs/config.nix new file mode 100644 index 0000000..b93e4ef --- /dev/null +++ b/wanda/nixpkgs/config.nix @@ -0,0 +1,8 @@ +_: { + nixpkgs = { + config = { + allowUnfree = true; + allowBroken = true; + }; + }; +} diff --git a/wanda/nixpkgs/overlays.nix b/wanda/nixpkgs/overlays.nix new file mode 100644 index 0000000..8db0844 --- /dev/null +++ b/wanda/nixpkgs/overlays.nix @@ -0,0 +1,6 @@ +_: { + nixpkgs = { + overlays = [ + ]; + }; +} diff --git a/wanda/nixpkgs/system.nix b/wanda/nixpkgs/system.nix new file mode 100644 index 0000000..3cbe59a --- /dev/null +++ b/wanda/nixpkgs/system.nix @@ -0,0 +1,6 @@ +_: { + nixpkgs = { + system = "x86_64-linux"; + hostPlatform = "x86_64-linux"; + }; +} diff --git a/wanda/programs/nh.nix b/wanda/programs/nh.nix new file mode 100644 index 0000000..6d9937d --- /dev/null +++ b/wanda/programs/nh.nix @@ -0,0 +1,12 @@ +_: { + programs = { + nh = { + enable = true; + clean = { + enable = true; + dates = "weekly"; + extraArgs = "--keep 2 --keep-since 2d"; + }; + }; + }; +} diff --git a/wanda/programs/ssh.nix b/wanda/programs/ssh.nix new file mode 100644 index 0000000..017f4c9 --- /dev/null +++ b/wanda/programs/ssh.nix @@ -0,0 +1,8 @@ +_: { + programs = { + ssh = { + startAgent = true; + agentTimeout = "12h"; + }; + }; +} diff --git a/wanda/security/pam/yubico.nix b/wanda/security/pam/yubico.nix new file mode 100644 index 0000000..cd8a4a1 --- /dev/null +++ b/wanda/security/pam/yubico.nix @@ -0,0 +1,15 @@ +_: { + security = { + pam = { + yubico = { + enable = false; + debug = true; + mode = "challenge-response"; + control = "sufficient"; + id = [ + "1873055870" + ]; + }; + }; + }; +} diff --git a/wanda/security/polkit.nix b/wanda/security/polkit.nix new file mode 100644 index 0000000..77e04d1 --- /dev/null +++ b/wanda/security/polkit.nix @@ -0,0 +1,10 @@ +_: { + security = { + polkit = { + enable = true; + adminIdentities = [ + "unix-group:wheel" + ]; + }; + }; +} diff --git a/wanda/security/rtkit.nix b/wanda/security/rtkit.nix new file mode 100644 index 0000000..dd40f89 --- /dev/null +++ b/wanda/security/rtkit.nix @@ -0,0 +1,7 @@ +_: { + security = { + rtkit = { + enable = true; + }; + }; +} diff --git a/wanda/security/sudo-rs.nix b/wanda/security/sudo-rs.nix new file mode 100644 index 0000000..4f270c9 --- /dev/null +++ b/wanda/security/sudo-rs.nix @@ -0,0 +1,9 @@ +_: { + security = { + sudo-rs = { + enable = true; + wheelNeedsPassword = true; + execWheelOnly = true; + }; + }; +} diff --git a/wanda/security/sudo.nix b/wanda/security/sudo.nix new file mode 100644 index 0000000..393528d --- /dev/null +++ b/wanda/security/sudo.nix @@ -0,0 +1,7 @@ +{lib, ...}: { + security = { + sudo = { + enable = lib.mkDefault false; + }; + }; +} diff --git a/wanda/services/greetd.nix b/wanda/services/greetd.nix new file mode 100644 index 0000000..83d2431 --- /dev/null +++ b/wanda/services/greetd.nix @@ -0,0 +1,18 @@ +{ + pkgs, + lib, + ... +}: { + services = { + greetd = { + enable = true; + restart = false; + settings = { + default_session = { + command = "${lib.getExe pkgs.tuigreet} -r -t -c ${lib.getExe' pkgs.hyprland "start-hyprland"} --greet-align center"; + user = "greeter"; + }; + }; + }; + }; +} diff --git a/wanda/services/irqbalance.nix b/wanda/services/irqbalance.nix new file mode 100644 index 0000000..ee8472e --- /dev/null +++ b/wanda/services/irqbalance.nix @@ -0,0 +1,7 @@ +_: { + services = { + irqbalance = { + enable = true; + }; + }; +} diff --git a/wanda/services/libinput.nix b/wanda/services/libinput.nix new file mode 100644 index 0000000..23c2953 --- /dev/null +++ b/wanda/services/libinput.nix @@ -0,0 +1,15 @@ +_: { + services = { + libinput = { + enable = true; + mouse = { + accelProfile = "flat"; + accelSpeed = "-1.0"; + buttonMapping = "1 2 3 4 5 6 7 8 9"; + horizontalScrolling = true; + leftHanded = false; + naturalScrolling = true; + }; + }; + }; +} diff --git a/wanda/services/netbird.nix b/wanda/services/netbird.nix new file mode 100644 index 0000000..f375f14 --- /dev/null +++ b/wanda/services/netbird.nix @@ -0,0 +1,7 @@ +_: { + services = { + netbird = { + enable = true; + }; + }; +} diff --git a/wanda/services/openssh.nix b/wanda/services/openssh.nix new file mode 100644 index 0000000..989beca --- /dev/null +++ b/wanda/services/openssh.nix @@ -0,0 +1,22 @@ +{config, ...}: { + services = { + openssh = { + enable = true; + allowSFTP = true; + openFirewall = true; + ports = [ + 48630 + ]; + + settings = { + PrintMotd = false; + PermitRootLogin = "no"; + PasswordAuthentication = false; + }; + + authorizedKeysFiles = [ + config.sops.secrets.sshKey.path + ]; + }; + }; +} diff --git a/wanda/services/pipewire.nix b/wanda/services/pipewire.nix new file mode 100644 index 0000000..43a9f4e --- /dev/null +++ b/wanda/services/pipewire.nix @@ -0,0 +1,66 @@ +_: { + services = { + pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + + audio = { + enable = true; + }; + + pulse = { + enable = true; + }; + + jack = { + enable = true; + }; + + wireplumber = { + enable = true; + }; + + extraConfig = { + pipewire = { + # PIPEWIRE_PROPS=node.force-rate=0 + "92-low-latency" = { + "context.properties" = { + "default.clock.rate" = 48000; + "default.clock.allowed-rates" = [ + 44100 + 48000 + 88200 + 96000 + ]; + + "default.clock.min-quantum" = 512; + "default.clock.quantum" = 4096; + "default.clock.max-quantum" = 8192; + }; + }; + + "93-no-resampling" = { + "context.properties" = { + "default.clock.rate" = 48000; + "default.clock.allowed-rates" = [ + 44100 + 48000 + 96000 + 192000 + ]; + }; + }; + + "94-no-upmixing" = { + "stream.properties" = { + "channelmix.upmix" = false; + }; + }; + }; + }; + }; + }; +} diff --git a/wanda/services/qmk.nix b/wanda/services/qmk.nix new file mode 100644 index 0000000..d193c5d --- /dev/null +++ b/wanda/services/qmk.nix @@ -0,0 +1,9 @@ +{pkgs, ...}: { + services = { + udev = { + packages = with pkgs; [ + qmk-udev-rules + ]; + }; + }; +} diff --git a/wanda/services/resolved.nix b/wanda/services/resolved.nix new file mode 100644 index 0000000..8c268e8 --- /dev/null +++ b/wanda/services/resolved.nix @@ -0,0 +1,39 @@ +_: { + services = { + resolved = { + enable = true; + dnsovertls = "true"; + dnssec = "true"; + llmnr = "true"; + domains = [ + "~." + ]; + + fallbackDns = [ + # cf dns + "1.1.1.1" + "1.0.0.1" + "2606:4700:4700::1111" + "2606:4700:4700::1001" + + # google dns + "8.8.8.8" + "8.8.4.4" + "2001:4860:4860::8888" + "2001:4860:4860::8844" + + # q9 dns + "9.9.9.9" + "149.112.112.112" + "2620:fe::fe" + "2620:fe::9" + + # open dns + "208.67.222.222" + "208.67.220.220" + "2620:119:35::35" + "2620:119:53::53" + ]; + }; + }; +} diff --git a/wanda/services/scx.nix b/wanda/services/scx.nix new file mode 100644 index 0000000..2ab435e --- /dev/null +++ b/wanda/services/scx.nix @@ -0,0 +1,8 @@ +_: { + services = { + scx = { + enable = true; + scheduler = "scx_cosmos"; + }; + }; +} diff --git a/wanda/services/sunshine.nix b/wanda/services/sunshine.nix new file mode 100644 index 0000000..25a9a56 --- /dev/null +++ b/wanda/services/sunshine.nix @@ -0,0 +1,10 @@ +_: { + services = { + sunshine = { + enable = true; + capSysAdmin = true; + openFirewall = true; + autoStart = true; + }; + }; +} diff --git a/wanda/services/usbmuxd.nix b/wanda/services/usbmuxd.nix new file mode 100644 index 0000000..34606ed --- /dev/null +++ b/wanda/services/usbmuxd.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + services = { + usbmuxd = { + enable = true; + package = pkgs.usbmuxd2; + }; + }; +} diff --git a/wanda/services/xserver.nix b/wanda/services/xserver.nix new file mode 100644 index 0000000..370a47d --- /dev/null +++ b/wanda/services/xserver.nix @@ -0,0 +1,26 @@ +{ + lib, + pkgs, + ... +}: { + services = { + xserver = { + display = lib.mkForce 0; + enable = true; + + excludePackages = with pkgs; [ + xterm + ]; + + videoDrivers = [ + "modesetting" + ]; + + xkb = { + layout = "us, ru"; + variant = ""; + options = "grp:caps_toggle"; + }; + }; + }; +} diff --git a/wanda/services/yubikey-agent.nix b/wanda/services/yubikey-agent.nix new file mode 100644 index 0000000..4fcfbc2 --- /dev/null +++ b/wanda/services/yubikey-agent.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + services = { + yubikey-agent = { + package = pkgs.yubikey-agent; + enable = false; + }; + }; +} diff --git a/s0meMiniPC-nix/services/zerotier.nix b/wanda/services/zerotier.nix similarity index 63% rename from s0meMiniPC-nix/services/zerotier.nix rename to wanda/services/zerotier.nix index 4d032aa..42e91a8 100644 --- a/s0meMiniPC-nix/services/zerotier.nix +++ b/wanda/services/zerotier.nix @@ -1,9 +1,9 @@ -{...}: { +_: { services = { zerotierone = { - enable = false; + enable = true; joinNetworks = [ - # nope + # ]; }; }; diff --git a/wanda/system/name.nix b/wanda/system/name.nix new file mode 100644 index 0000000..0b4488b --- /dev/null +++ b/wanda/system/name.nix @@ -0,0 +1,5 @@ +{config, ...}: { + system = { + name = config.networking.hostName; + }; +} diff --git a/wanda/system/stateVersion.nix b/wanda/system/stateVersion.nix new file mode 100644 index 0000000..9e437fe --- /dev/null +++ b/wanda/system/stateVersion.nix @@ -0,0 +1,5 @@ +{config, ...}: { + system = { + stateVersion = config.system.nixos.release; + }; +} diff --git a/wanda/systemd/oomd.nix b/wanda/systemd/oomd.nix new file mode 100644 index 0000000..bb9a200 --- /dev/null +++ b/wanda/systemd/oomd.nix @@ -0,0 +1,10 @@ +_: { + systemd = { + oomd = { + enable = true; + enableUserSlices = true; + enableSystemSlice = true; + enableRootSlice = true; + }; + }; +} diff --git a/wanda/systemd/slices/root-slice.nix b/wanda/systemd/slices/root-slice.nix new file mode 100644 index 0000000..6a386e9 --- /dev/null +++ b/wanda/systemd/slices/root-slice.nix @@ -0,0 +1,14 @@ +_: { + systemd = { + slices = { + root = { + sliceConfig = { + ManagedOOMSwap = "kill"; + ManagedOOMMemoryPressure = "kill"; + ManagedOOMMemoryPressureLimit = "40%"; + ManagedOOMMemoryPressureDurationSec = 0; + }; + }; + }; + }; +} diff --git a/wanda/systemd/slices/system-slice.nix b/wanda/systemd/slices/system-slice.nix new file mode 100644 index 0000000..4de4bba --- /dev/null +++ b/wanda/systemd/slices/system-slice.nix @@ -0,0 +1,14 @@ +_: { + systemd = { + slices = { + system = { + sliceConfig = { + ManagedOOMSwap = "kill"; + ManagedOOMMemoryPressure = "kill"; + ManagedOOMMemoryPressureLimit = "40%"; + ManagedOOMMemoryPressureDurationSec = 0; + }; + }; + }; + }; +} diff --git a/wanda/systemd/slices/user-slice.nix b/wanda/systemd/slices/user-slice.nix new file mode 100644 index 0000000..311e668 --- /dev/null +++ b/wanda/systemd/slices/user-slice.nix @@ -0,0 +1,14 @@ +_: { + systemd = { + slices = { + user = { + sliceConfig = { + ManagedOOMSwap = "kill"; + ManagedOOMMemoryPressure = "kill"; + ManagedOOMMemoryPressureLimit = "40%"; + ManagedOOMMemoryPressureDurationSec = 0; + }; + }; + }; + }; +} diff --git a/wanda/time/timeZone.nix b/wanda/time/timeZone.nix new file mode 100644 index 0000000..cef1656 --- /dev/null +++ b/wanda/time/timeZone.nix @@ -0,0 +1,6 @@ +_: { + time = { + timeZone = "Europe/Moscow"; + hardwareClockInLocalTime = true; + }; +} diff --git a/wanda/users/mutableUsers.nix b/wanda/users/mutableUsers.nix new file mode 100644 index 0000000..9bb56d0 --- /dev/null +++ b/wanda/users/mutableUsers.nix @@ -0,0 +1,5 @@ +_: { + users = { + mutableUsers = false; + }; +} diff --git a/wanda/users/users/hand7s.nix b/wanda/users/users/hand7s.nix new file mode 100644 index 0000000..39aed35 --- /dev/null +++ b/wanda/users/users/hand7s.nix @@ -0,0 +1,15 @@ +_: { + users = { + users = { + "hand7s" = { + description = "me"; + isSystemUser = false; + isNormalUser = true; + initialHashedPassword = "$6$ckgRhNWmJgSwOUpJ$kfeAdokd5fa76HWbTmWN2YXx4M/PQVOTJku1ODbqbBhEkUFiLftdaJFRnNXfIM3Jtz0ShoRMSVCB7mDkxDrdi/"; + extraGroups = [ + "wheel" + ]; + }; + }; + }; +} diff --git a/wanda/users/users/root.nix b/wanda/users/users/root.nix new file mode 100644 index 0000000..faa89b7 --- /dev/null +++ b/wanda/users/users/root.nix @@ -0,0 +1,9 @@ +_: { + users = { + users = { + "root" = { + initialHashedPassword = "$6$n4OLMvYHHStHvtmr$6OL0NV1dEM2b6oJRewkhuoFxM80lI67tfbJ6QkCg8WAA1gbeKrcwDAuJjm8zvpY4zcDR3Z5Zbo8uebfOi6XXF0"; + }; + }; + }; +} diff --git a/ada/virtualisation/docker.nix b/wanda/virtualisation/docker.nix similarity index 93% rename from ada/virtualisation/docker.nix rename to wanda/virtualisation/docker.nix index 1edae88..805ac30 100644 --- a/ada/virtualisation/docker.nix +++ b/wanda/virtualisation/docker.nix @@ -1,4 +1,4 @@ -{...}: { +_: { virtualisation = { docker = { enable = true; diff --git a/wanda/wsl/default.nix b/wanda/wsl/default.nix new file mode 100644 index 0000000..aded930 --- /dev/null +++ b/wanda/wsl/default.nix @@ -0,0 +1,8 @@ +_: { + wsl = { + enable = true; + defaultUser = "hand7s"; + startMenuLaunchers = true; + useWindowsDriver = true; + }; +} diff --git a/wanda/wsl/wslConf.nix b/wanda/wsl/wslConf.nix new file mode 100644 index 0000000..43f3877 --- /dev/null +++ b/wanda/wsl/wslConf.nix @@ -0,0 +1,13 @@ +_: { + wsl = { + wslConf = { + automount = { + enable = true; + }; + + user = { + default = "hand7s"; + }; + }; + }; +} diff --git a/wanda/xdg/icons.nix b/wanda/xdg/icons.nix new file mode 100644 index 0000000..7c75adf --- /dev/null +++ b/wanda/xdg/icons.nix @@ -0,0 +1,7 @@ +_: { + xdg = { + icons = { + enable = true; + }; + }; +} diff --git a/wanda/xdg/mime.nix b/wanda/xdg/mime.nix new file mode 100644 index 0000000..9197f59 --- /dev/null +++ b/wanda/xdg/mime.nix @@ -0,0 +1,11 @@ +_: { + xdg = { + mime = { + enable = true; + defaultApplications = { + "x-scheme-handler/http" = "google-chrome.desktop"; + "x-scheme-handler/https" = "google-chrome.desktop"; + }; + }; + }; +} diff --git a/wanda/xdg/portal.nix b/wanda/xdg/portal.nix new file mode 100644 index 0000000..ff26e0a --- /dev/null +++ b/wanda/xdg/portal.nix @@ -0,0 +1,35 @@ +{pkgs, ...}: { + xdg = { + portal = { + enable = true; + + config = { + common = { + "org.freedesktop.impl.portal.FileChooser" = "termfilechooser"; + + default = [ + "gtk" + ]; + }; + + hyprland = { + "org.freedesktop.impl.portal.FileChooser" = [ + "termfilechooser" + ]; + + preferred = [ + "gtk" + "hyprland" + ]; + }; + }; + + extraPortals = with pkgs; [ + xdg-desktop-portal + xdg-desktop-portal-gtk + xdg-desktop-portal-hyprland + xdg-desktop-portal-termfilechooser + ]; + }; + }; +}