From afc597e552facff6c0103657d315775902709841 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Wed, 11 Mar 2026 16:34:05 +0100 Subject: gerarchia modificata (sono pazzo) --- flake.nix | 19 ++++++-- homes/desktop/default.nix | 5 +++ homes/desktop/leo/home.nix | 13 ++++++ homes/desktop/leo/programs.nix | 20 +++++++++ homes/server/default.nix | 5 +++ homes/server/leo/default.nix | 13 ++++++ homes/server/leo/programs.nix | 12 +++++ systems/afrodite/boot.nix | 19 ++++++++ systems/afrodite/default.nix | 37 ++++++++++++++++ systems/afrodite/hardware.nix | 7 +++ systems/afrodite/locales.nix | 20 +++++++++ systems/afrodite/networking.nix | 24 ++++++++++ systems/afrodite/programs.nix | 26 +++++++++++ systems/afrodite/services.nix | 9 ++++ systems/hermes/boot.nix | 21 +++++++++ systems/hermes/default.nix | 40 +++++++++++++++++ systems/hermes/gui.nix | 52 ++++++++++++++++++++++ systems/hermes/hardware.nix | 24 ++++++++++ systems/hermes/home-manager/default.nix | 5 --- systems/hermes/home-manager/leo/home.nix | 13 ------ systems/hermes/home-manager/leo/programs.nix | 19 -------- systems/hermes/locales.nix | 20 +++++++++ systems/hermes/networking.nix | 18 ++++++++ systems/hermes/nixos/boot.nix | 21 --------- systems/hermes/nixos/default.nix | 40 ----------------- systems/hermes/nixos/gui.nix | 52 ---------------------- systems/hermes/nixos/hardware.nix | 24 ---------- systems/hermes/nixos/locales.nix | 20 --------- systems/hermes/nixos/networking.nix | 18 -------- systems/hermes/nixos/programs.nix | 65 ---------------------------- systems/hermes/nixos/services.nix | 28 ------------ systems/hermes/programs.nix | 65 ++++++++++++++++++++++++++++ systems/hermes/services.nix | 28 ++++++++++++ systems/odino/boot.nix | 19 ++++++++ systems/odino/default.nix | 37 ++++++++++++++++ systems/odino/hardware.nix | 28 ++++++++++++ systems/odino/home-manager/default.nix | 5 --- systems/odino/home-manager/leo/home.nix | 13 ------ systems/odino/home-manager/leo/programs.nix | 11 ----- systems/odino/locales.nix | 20 +++++++++ systems/odino/networking.nix | 31 +++++++++++++ systems/odino/nixos/boot.nix | 19 -------- systems/odino/nixos/default.nix | 37 ---------------- systems/odino/nixos/hardware.nix | 28 ------------ systems/odino/nixos/locales.nix | 20 --------- systems/odino/nixos/networking.nix | 31 ------------- systems/odino/nixos/programs.nix | 26 ----------- systems/odino/nixos/services.nix | 8 ---- systems/odino/programs.nix | 26 +++++++++++ systems/odino/services.nix | 8 ++++ 50 files changed, 662 insertions(+), 507 deletions(-) create mode 100644 homes/desktop/default.nix create mode 100644 homes/desktop/leo/home.nix create mode 100644 homes/desktop/leo/programs.nix create mode 100644 homes/server/default.nix create mode 100644 homes/server/leo/default.nix create mode 100644 homes/server/leo/programs.nix create mode 100644 systems/afrodite/boot.nix create mode 100644 systems/afrodite/default.nix create mode 100644 systems/afrodite/hardware.nix create mode 100644 systems/afrodite/locales.nix create mode 100644 systems/afrodite/networking.nix create mode 100644 systems/afrodite/programs.nix create mode 100644 systems/afrodite/services.nix create mode 100644 systems/hermes/boot.nix create mode 100644 systems/hermes/default.nix create mode 100644 systems/hermes/gui.nix create mode 100644 systems/hermes/hardware.nix delete mode 100644 systems/hermes/home-manager/default.nix delete mode 100644 systems/hermes/home-manager/leo/home.nix delete mode 100644 systems/hermes/home-manager/leo/programs.nix create mode 100644 systems/hermes/locales.nix create mode 100644 systems/hermes/networking.nix delete mode 100644 systems/hermes/nixos/boot.nix delete mode 100644 systems/hermes/nixos/default.nix delete mode 100644 systems/hermes/nixos/gui.nix delete mode 100644 systems/hermes/nixos/hardware.nix delete mode 100644 systems/hermes/nixos/locales.nix delete mode 100644 systems/hermes/nixos/networking.nix delete mode 100644 systems/hermes/nixos/programs.nix delete mode 100644 systems/hermes/nixos/services.nix create mode 100644 systems/hermes/programs.nix create mode 100644 systems/hermes/services.nix create mode 100644 systems/odino/boot.nix create mode 100644 systems/odino/default.nix create mode 100644 systems/odino/hardware.nix delete mode 100644 systems/odino/home-manager/default.nix delete mode 100644 systems/odino/home-manager/leo/home.nix delete mode 100644 systems/odino/home-manager/leo/programs.nix create mode 100644 systems/odino/locales.nix create mode 100644 systems/odino/networking.nix delete mode 100644 systems/odino/nixos/boot.nix delete mode 100644 systems/odino/nixos/default.nix delete mode 100644 systems/odino/nixos/hardware.nix delete mode 100644 systems/odino/nixos/locales.nix delete mode 100644 systems/odino/nixos/networking.nix delete mode 100644 systems/odino/nixos/programs.nix delete mode 100644 systems/odino/nixos/services.nix create mode 100644 systems/odino/programs.nix create mode 100644 systems/odino/services.nix diff --git a/flake.nix b/flake.nix index 43365f9..ec60154 100644 --- a/flake.nix +++ b/flake.nix @@ -24,25 +24,36 @@ # NixOS nixosConfigurations."hermes" = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system; }; - modules = [ ./systems/hermes/nixos ]; + modules = [ ./systems/hermes ]; + }; + + nixosConfigurations."afrodite" = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs system; }; + modules = [ ./systems/afrodite ]; }; nixosConfigurations."odino" = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system; }; - modules = [ ./systems/odino/nixos ]; + modules = [ ./systems/odino ]; }; # Home manager homeConfigurations."hermes" = home-manager.lib.homeManagerConfiguration { extraSpecialArgs = { inherit inputs; }; pkgs = pkgs; - modules = [ ./systems/hermes/home-manager ]; + modules = [ ./homes/desktop ]; + }; + + homeConfigurations."afrodite" = home-manager.lib.homeManagerConfiguration { + extraSpecialArgs = { inherit inputs; }; + pkgs = pkgs; + modules = [ ./homes/server ]; }; homeConfigurations."odino" = home-manager.lib.homeManagerConfiguration { extraSpecialArgs = { inherit inputs; }; pkgs = pkgs; - modules = [ ./systems/odino/home-manager ]; + modules = [ ./homes/server ]; }; }; } diff --git a/homes/desktop/default.nix b/homes/desktop/default.nix new file mode 100644 index 0000000..bb6ef28 --- /dev/null +++ b/homes/desktop/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./leo/home.nix + ]; +} diff --git a/homes/desktop/leo/home.nix b/homes/desktop/leo/home.nix new file mode 100644 index 0000000..e0c3d6f --- /dev/null +++ b/homes/desktop/leo/home.nix @@ -0,0 +1,13 @@ +{...}: { + imports = [ + ./programs.nix + ]; + + home = { + username = "leo"; + homeDirectory = "/home/leo"; + }; + + # Version + home.stateVersion = "25.05"; +} diff --git a/homes/desktop/leo/programs.nix b/homes/desktop/leo/programs.nix new file mode 100644 index 0000000..55c0659 --- /dev/null +++ b/homes/desktop/leo/programs.nix @@ -0,0 +1,20 @@ +{...}: { + imports = [ + ../../../components/programs/keepassxc.nix + ../../../components/programs/alacritty.nix + ../../../components/programs/zed.nix + + ../../../components/programs/zsh.nix + ../../../components/programs/tmux.nix + ../../../components/programs/fastfetch.nix + ]; + + # Custom modules + keepassxc.enable = false; + alacritty.enable = true; + zed.enable = true; + + zsh.enable = true; + tmux.enable = true; + fastfetch.enable = true; +} diff --git a/homes/server/default.nix b/homes/server/default.nix new file mode 100644 index 0000000..bb6ef28 --- /dev/null +++ b/homes/server/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./leo/home.nix + ]; +} diff --git a/homes/server/leo/default.nix b/homes/server/leo/default.nix new file mode 100644 index 0000000..e0c3d6f --- /dev/null +++ b/homes/server/leo/default.nix @@ -0,0 +1,13 @@ +{...}: { + imports = [ + ./programs.nix + ]; + + home = { + username = "leo"; + homeDirectory = "/home/leo"; + }; + + # Version + home.stateVersion = "25.05"; +} diff --git a/homes/server/leo/programs.nix b/homes/server/leo/programs.nix new file mode 100644 index 0000000..fc7e940 --- /dev/null +++ b/homes/server/leo/programs.nix @@ -0,0 +1,12 @@ +{...}: { + imports = [ + ../../../components/programs/zsh.nix + ../../../components/programs/tmux.nix + ../../../components/programs/fastfetch.nix + ]; + + # Custom modules + zsh.enable = true; + tmux.enable = true; + fastfetch.enable = true; +} diff --git a/systems/afrodite/boot.nix b/systems/afrodite/boot.nix new file mode 100644 index 0000000..fccaeac --- /dev/null +++ b/systems/afrodite/boot.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + boot = { + kernelPackages = pkgs.linuxPackages_6_18; # NOTE: soltanto versioni LTS per il server + #kernelModules = [ "kvm-intel" ]; + kernelParams = [ "boot.shell_on_fail" ]; + + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + extraModulePackages = [ ]; + }; +} diff --git a/systems/afrodite/default.nix b/systems/afrodite/default.nix new file mode 100644 index 0000000..c404d81 --- /dev/null +++ b/systems/afrodite/default.nix @@ -0,0 +1,37 @@ +{pkgs, ...}: { + imports = [ + ./hardware.nix + ./boot.nix + ./networking.nix + ./locales.nix + + ./services.nix + ./programs.nix + ]; + + # Experimental features + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Users + users.users.leo = { + isNormalUser = true; + shell = pkgs.zsh; + + extraGroups = [ "wheel" "networkmanager" ]; + }; + + programs.zsh.enable = true; + + environment.shellAliases = { + ls = "eza"; + l = "ls -lh"; + ll = "ls -lah"; + + update-boot = "sudo nixos-rebuild boot --flake ~/nixos#afrodite"; + update-system = "sudo nixos-rebuild switch --flake ~/nixos#afrodite"; + update-home = "home-manager switch --flake ~/nixos#afrodite"; + }; + + # Version + system.stateVersion = "25.05"; +} diff --git a/systems/afrodite/hardware.nix b/systems/afrodite/hardware.nix new file mode 100644 index 0000000..51ddcd0 --- /dev/null +++ b/systems/afrodite/hardware.nix @@ -0,0 +1,7 @@ +{config, lib, modulesPath, ...}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/systems/afrodite/locales.nix b/systems/afrodite/locales.nix new file mode 100644 index 0000000..2d2363d --- /dev/null +++ b/systems/afrodite/locales.nix @@ -0,0 +1,20 @@ +{...}: { + time.timeZone = "Europe/Rome"; + console.keyMap = "it"; + + i18n = { + defaultLocale = "en_US.UTF-8"; + + extraLocaleSettings = { + LC_ADDRESS = "it_IT.UTF-8"; + LC_IDENTIFICATION = "it_IT.UTF-8"; + LC_MEASUREMENT = "it_IT.UTF-8"; + LC_MONETARY = "it_IT.UTF-8"; + LC_NAME = "it_IT.UTF-8"; + LC_NUMERIC = "it_IT.UTF-8"; + LC_PAPER = "it_IT.UTF-8"; + LC_TELEPHONE = "it_IT.UTF-8"; + LC_TIME = "it_IT.UTF-8"; + }; + }; +} diff --git a/systems/afrodite/networking.nix b/systems/afrodite/networking.nix new file mode 100644 index 0000000..78fdc57 --- /dev/null +++ b/systems/afrodite/networking.nix @@ -0,0 +1,24 @@ +{lib, ...}: { + networking = { + hostName = "afrodite"; + useDHCP = lib.mkDefault true; + + nameservers = [ "208.67.222.222" "208.67.220.220" ]; + + firewall = { + enable = true; + + allowedTCPPorts = [ 22 ]; + allowedUDPPorts = [ 51820 ]; + }; + + networkmanager.enable = true; + + wg-quick.interfaces."tunnel" = { + privateKeyFile = "/home/leo/.wireguard/private.key"; + address = [ "10.69.0.1/24" ]; + + peers = []; + }; + }; +} diff --git a/systems/afrodite/programs.nix b/systems/afrodite/programs.nix new file mode 100644 index 0000000..34c0eaa --- /dev/null +++ b/systems/afrodite/programs.nix @@ -0,0 +1,26 @@ +{inputs, pkgs, ...}: { + imports = [ + ../../components/programs/git.nix + + inputs.home-manager.nixosModules.home-manager + ]; + + nixpkgs.config.allowUnfree = true; + + # Packages + environment.systemPackages = with pkgs; [ + ascii file fastfetch eza btop dysk + openssh rsync wireguard-tools dig + tmux vim + + # Home manager + inputs.home-manager.packages.${stdenv.hostPlatform.system}.home-manager + ]; + + # Docker + virtualisation.docker.enable = true; + users.extraGroups."docker".members = [ "leo" ]; + + # Custom modules + git.enable = true; +} diff --git a/systems/afrodite/services.nix b/systems/afrodite/services.nix new file mode 100644 index 0000000..f7f8644 --- /dev/null +++ b/systems/afrodite/services.nix @@ -0,0 +1,9 @@ +{...}: { + imports = [ + ../../components/services/openssh.nix + ]; + + # Custom modules + openssh.enable = true; + caddy.enable = true; +} diff --git a/systems/hermes/boot.nix b/systems/hermes/boot.nix new file mode 100644 index 0000000..f7ff6b4 --- /dev/null +++ b/systems/hermes/boot.nix @@ -0,0 +1,21 @@ +{pkgs, ...}: { + boot = { + kernelPackages = pkgs.linuxPackages_latest; + kernelModules = [ "kvm-intel" ]; + kernelParams = [ "boot.shell_on_fail" ]; + + initrd = { + availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; + kernelModules = [ ]; + }; + + loader = { + timeout = 3; + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + supportedFilesystems = [ "exfat" "ntfs" ]; + extraModulePackages = [ ]; + }; +} diff --git a/systems/hermes/default.nix b/systems/hermes/default.nix new file mode 100644 index 0000000..9b491d7 --- /dev/null +++ b/systems/hermes/default.nix @@ -0,0 +1,40 @@ +{pkgs, ...}: { + imports = [ + ./hardware.nix + ./boot.nix + ./networking.nix + ./locales.nix + + ./gui.nix + ./services.nix + ./programs.nix + ]; + + # Experimental features + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Users + users.users.leo = { + isNormalUser = true; + shell = pkgs.zsh; + + extraGroups = [ "wheel" "networkmanager" "video" ]; + }; + + programs.zsh.enable = true; + + environment.shellAliases = { + ls = "eza"; + l = "ls -lh"; + ll = "ls -lah"; + + update-boot = "sudo nixos-rebuild boot --flake ~/nixos#hermes"; + update-system = "sudo nixos-rebuild switch --flake ~/nixos#hermes"; + update-home = "home-manager switch --flake ~/nixos#hermes"; + + ssh = "TERM=xterm-256color ssh"; + }; + + # Version + system.stateVersion = "25.05"; +} diff --git a/systems/hermes/gui.nix b/systems/hermes/gui.nix new file mode 100644 index 0000000..5bde952 --- /dev/null +++ b/systems/hermes/gui.nix @@ -0,0 +1,52 @@ +{pkgs, ...}: { + imports = [ + ../../components/gui/xfce.nix + ]; + + # Graphics + hardware.graphics = { + enable = true; + + extraPackages = with pkgs; [ intel-media-driver ]; + }; + + # Ly + services.displayManager.ly = { + enable = true; + x11Support = true; + + settings = { + animation = "gameoflife"; + bigclock = "en"; + session_log = ".ly-session.log"; + }; + }; + + # XDG + xdg = { + icons.enable = true; + autostart.enable = true; + + portal = { + enable = true; + xdgOpenUsePortal = true; + }; + }; + + # X11 + services.xserver = { + xkb = { + layout = "it"; + variant = ""; + }; + }; + + # Security + security = { + rtkit.enable = true; + polkit.enable = true; + }; + + # Custom modules + xfce.enable = true; +} diff --git a/systems/hermes/hardware.nix b/systems/hermes/hardware.nix new file mode 100644 index 0000000..52ab29c --- /dev/null +++ b/systems/hermes/hardware.nix @@ -0,0 +1,24 @@ +{inputs, config, lib, modulesPath, ...}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + inputs.nixos-hardware.nixosModules.lenovo-thinkpad-l14-intel + ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/d2dbb171-8b65-4c40-9f09-d4e7b83f0094"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/ACC0-F37A"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/d5e4b700-4eb2-4b19-8d7f-8a8e154a4df1"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/systems/hermes/home-manager/default.nix b/systems/hermes/home-manager/default.nix deleted file mode 100644 index bb6ef28..0000000 --- a/systems/hermes/home-manager/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - imports = [ - ./leo/home.nix - ]; -} diff --git a/systems/hermes/home-manager/leo/home.nix b/systems/hermes/home-manager/leo/home.nix deleted file mode 100644 index e0c3d6f..0000000 --- a/systems/hermes/home-manager/leo/home.nix +++ /dev/null @@ -1,13 +0,0 @@ -{...}: { - imports = [ - ./programs.nix - ]; - - home = { - username = "leo"; - homeDirectory = "/home/leo"; - }; - - # Version - home.stateVersion = "25.05"; -} diff --git a/systems/hermes/home-manager/leo/programs.nix b/systems/hermes/home-manager/leo/programs.nix deleted file mode 100644 index 06458b6..0000000 --- a/systems/hermes/home-manager/leo/programs.nix +++ /dev/null @@ -1,19 +0,0 @@ -{...}: { - imports = [ - ../../../../components/programs/keepassxc.nix - ../../../../components/programs/alacritty.nix - ../../../../components/programs/zed.nix - - ../../../../components/programs/zsh.nix - ../../../../components/programs/tmux.nix - ../../../../components/programs/fastfetch.nix - ]; - - keepassxc.enable = false; - alacritty.enable = true; - zed.enable = true; - - zsh.enable = true; - tmux.enable = true; - fastfetch.enable = true; -} diff --git a/systems/hermes/locales.nix b/systems/hermes/locales.nix new file mode 100644 index 0000000..2d2363d --- /dev/null +++ b/systems/hermes/locales.nix @@ -0,0 +1,20 @@ +{...}: { + time.timeZone = "Europe/Rome"; + console.keyMap = "it"; + + i18n = { + defaultLocale = "en_US.UTF-8"; + + extraLocaleSettings = { + LC_ADDRESS = "it_IT.UTF-8"; + LC_IDENTIFICATION = "it_IT.UTF-8"; + LC_MEASUREMENT = "it_IT.UTF-8"; + LC_MONETARY = "it_IT.UTF-8"; + LC_NAME = "it_IT.UTF-8"; + LC_NUMERIC = "it_IT.UTF-8"; + LC_PAPER = "it_IT.UTF-8"; + LC_TELEPHONE = "it_IT.UTF-8"; + LC_TIME = "it_IT.UTF-8"; + }; + }; +} diff --git a/systems/hermes/networking.nix b/systems/hermes/networking.nix new file mode 100644 index 0000000..17b9617 --- /dev/null +++ b/systems/hermes/networking.nix @@ -0,0 +1,18 @@ +{lib, pkgs, ...}: { + networking = { + hostName = "hermes"; + useDHCP = lib.mkDefault true; + + nameservers = [ "208.67.222.222" "208.67.220.220" ]; + + firewall.enable = false; + + networkmanager = { + enable = true; + plugins = with pkgs; [ networkmanager-fortisslvpn ]; + }; + }; + + # Bluetooth + hardware.bluetooth.enable = true; +} diff --git a/systems/hermes/nixos/boot.nix b/systems/hermes/nixos/boot.nix deleted file mode 100644 index f7ff6b4..0000000 --- a/systems/hermes/nixos/boot.nix +++ /dev/null @@ -1,21 +0,0 @@ -{pkgs, ...}: { - boot = { - kernelPackages = pkgs.linuxPackages_latest; - kernelModules = [ "kvm-intel" ]; - kernelParams = [ "boot.shell_on_fail" ]; - - initrd = { - availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; - kernelModules = [ ]; - }; - - loader = { - timeout = 3; - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - - supportedFilesystems = [ "exfat" "ntfs" ]; - extraModulePackages = [ ]; - }; -} diff --git a/systems/hermes/nixos/default.nix b/systems/hermes/nixos/default.nix deleted file mode 100644 index 9b491d7..0000000 --- a/systems/hermes/nixos/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./hardware.nix - ./boot.nix - ./networking.nix - ./locales.nix - - ./gui.nix - ./services.nix - ./programs.nix - ]; - - # Experimental features - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Users - users.users.leo = { - isNormalUser = true; - shell = pkgs.zsh; - - extraGroups = [ "wheel" "networkmanager" "video" ]; - }; - - programs.zsh.enable = true; - - environment.shellAliases = { - ls = "eza"; - l = "ls -lh"; - ll = "ls -lah"; - - update-boot = "sudo nixos-rebuild boot --flake ~/nixos#hermes"; - update-system = "sudo nixos-rebuild switch --flake ~/nixos#hermes"; - update-home = "home-manager switch --flake ~/nixos#hermes"; - - ssh = "TERM=xterm-256color ssh"; - }; - - # Version - system.stateVersion = "25.05"; -} diff --git a/systems/hermes/nixos/gui.nix b/systems/hermes/nixos/gui.nix deleted file mode 100644 index 9890032..0000000 --- a/systems/hermes/nixos/gui.nix +++ /dev/null @@ -1,52 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../../components/gui/xfce.nix - ]; - - # Graphics - hardware.graphics = { - enable = true; - - extraPackages = with pkgs; [ intel-media-driver ]; - }; - - # Ly - services.displayManager.ly = { - enable = true; - x11Support = true; - - settings = { - animation = "gameoflife"; - bigclock = "en"; - session_log = ".ly-session.log"; - }; - }; - - # XDG - xdg = { - icons.enable = true; - autostart.enable = true; - - portal = { - enable = true; - xdgOpenUsePortal = true; - }; - }; - - # X11 - services.xserver = { - xkb = { - layout = "it"; - variant = ""; - }; - }; - - # Security - security = { - rtkit.enable = true; - polkit.enable = true; - }; - - # Custom modules - xfce.enable = true; -} diff --git a/systems/hermes/nixos/hardware.nix b/systems/hermes/nixos/hardware.nix deleted file mode 100644 index 52ab29c..0000000 --- a/systems/hermes/nixos/hardware.nix +++ /dev/null @@ -1,24 +0,0 @@ -{inputs, config, lib, modulesPath, ...}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - inputs.nixos-hardware.nixosModules.lenovo-thinkpad-l14-intel - ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/d2dbb171-8b65-4c40-9f09-d4e7b83f0094"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/ACC0-F37A"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = [ - { device = "/dev/disk/by-uuid/d5e4b700-4eb2-4b19-8d7f-8a8e154a4df1"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/systems/hermes/nixos/locales.nix b/systems/hermes/nixos/locales.nix deleted file mode 100644 index 2d2363d..0000000 --- a/systems/hermes/nixos/locales.nix +++ /dev/null @@ -1,20 +0,0 @@ -{...}: { - time.timeZone = "Europe/Rome"; - console.keyMap = "it"; - - i18n = { - defaultLocale = "en_US.UTF-8"; - - extraLocaleSettings = { - LC_ADDRESS = "it_IT.UTF-8"; - LC_IDENTIFICATION = "it_IT.UTF-8"; - LC_MEASUREMENT = "it_IT.UTF-8"; - LC_MONETARY = "it_IT.UTF-8"; - LC_NAME = "it_IT.UTF-8"; - LC_NUMERIC = "it_IT.UTF-8"; - LC_PAPER = "it_IT.UTF-8"; - LC_TELEPHONE = "it_IT.UTF-8"; - LC_TIME = "it_IT.UTF-8"; - }; - }; -} diff --git a/systems/hermes/nixos/networking.nix b/systems/hermes/nixos/networking.nix deleted file mode 100644 index 17b9617..0000000 --- a/systems/hermes/nixos/networking.nix +++ /dev/null @@ -1,18 +0,0 @@ -{lib, pkgs, ...}: { - networking = { - hostName = "hermes"; - useDHCP = lib.mkDefault true; - - nameservers = [ "208.67.222.222" "208.67.220.220" ]; - - firewall.enable = false; - - networkmanager = { - enable = true; - plugins = with pkgs; [ networkmanager-fortisslvpn ]; - }; - }; - - # Bluetooth - hardware.bluetooth.enable = true; -} diff --git a/systems/hermes/nixos/programs.nix b/systems/hermes/nixos/programs.nix deleted file mode 100644 index f4925a0..0000000 --- a/systems/hermes/nixos/programs.nix +++ /dev/null @@ -1,65 +0,0 @@ -{inputs, pkgs, ...}: { - imports = [ - ../../../components/programs/git.nix - ../../../components/programs/fonts.nix - ../../../components/programs/games.nix - - inputs.home-manager.nixosModules.home-manager - ]; - - nixpkgs.config.allowUnfree = true; - - # Packages - environment.systemPackages = with pkgs; [ - ascii file fastfetch eza btop dysk - openssh rsync wireguard-tools dig - alacritty zed-editor tmux vim claude-code - nil nixd - exfat ntfs3g android-tools - - # Internet - librewolf thunderbird feather - - # Secret management - keepassxc veracrypt - - # Media - vlc ffmpeg yt-dlp - gpu-screen-recorder gpu-screen-recorder-gtk - - # Home manager - inputs.home-manager.packages.${stdenv.hostPlatform.system}.home-manager - - # Custom packages - inputs.dbmain-nix.packages.${stdenv.hostPlatform.system}.default - inputs.obdautodoctor-nix.packages.${stdenv.hostPlatform.system}.default - ]; - - # Nix linker - programs.nix-ld.enable = true; - - # AppImages - programs.appimage = { - enable = true; - binfmt = true; - }; - - # Virtualisation - virtualisation = { - docker.enable = true; - libvirtd.enable = true; - spiceUSBRedirection.enable = true; - }; - - users.extraGroups = { - "docker".members = [ "leo" ]; - "libvirtd".members = [ "leo" ]; - }; - - programs.virt-manager.enable = true; - - # Custom modules - git.enable = true; - fonts.enable = true; - games.enable = true; -} diff --git a/systems/hermes/nixos/services.nix b/systems/hermes/nixos/services.nix deleted file mode 100644 index 58a1007..0000000 --- a/systems/hermes/nixos/services.nix +++ /dev/null @@ -1,28 +0,0 @@ -{...}: { - imports = [ - ../../../components/services/i2pd.nix - ]; - - services = { - dbus.enable = true; - libinput.enable = true; - power-profiles-daemon.enable = true; - printing.enable = true; - blueman.enable = true; - - # Flatpaks - flatpak.enable = true; - - # Audio - pulseaudio.enable = false; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - }; - - # Custom modules - i2pd.enable = true; -} diff --git a/systems/hermes/programs.nix b/systems/hermes/programs.nix new file mode 100644 index 0000000..15091fa --- /dev/null +++ b/systems/hermes/programs.nix @@ -0,0 +1,65 @@ +{inputs, pkgs, ...}: { + imports = [ + ../../components/programs/git.nix + ../../components/programs/fonts.nix + ../../components/programs/games.nix + + inputs.home-manager.nixosModules.home-manager + ]; + + nixpkgs.config.allowUnfree = true; + + # Packages + environment.systemPackages = with pkgs; [ + ascii file fastfetch eza btop dysk + openssh rsync wireguard-tools dig + alacritty zed-editor tmux vim claude-code + nil nixd + exfat ntfs3g android-tools + + # Internet + librewolf thunderbird feather + + # Secret management + keepassxc veracrypt + + # Media + vlc ffmpeg yt-dlp + gpu-screen-recorder gpu-screen-recorder-gtk + + # Home manager + inputs.home-manager.packages.${stdenv.hostPlatform.system}.home-manager + + # Custom packages + inputs.dbmain-nix.packages.${stdenv.hostPlatform.system}.default + inputs.obdautodoctor-nix.packages.${stdenv.hostPlatform.system}.default + ]; + + # Nix linker + programs.nix-ld.enable = true; + + # AppImages + programs.appimage = { + enable = true; + binfmt = true; + }; + + # Virtualisation + virtualisation = { + docker.enable = true; + libvirtd.enable = true; + spiceUSBRedirection.enable = true; + }; + + users.extraGroups = { + "docker".members = [ "leo" ]; + "libvirtd".members = [ "leo" ]; + }; + + programs.virt-manager.enable = true; + + # Custom modules + git.enable = true; + fonts.enable = true; + games.enable = true; +} diff --git a/systems/hermes/services.nix b/systems/hermes/services.nix new file mode 100644 index 0000000..48c4d80 --- /dev/null +++ b/systems/hermes/services.nix @@ -0,0 +1,28 @@ +{...}: { + imports = [ + ../../components/services/i2pd.nix + ]; + + services = { + dbus.enable = true; + libinput.enable = true; + power-profiles-daemon.enable = true; + printing.enable = true; + blueman.enable = true; + + # Flatpaks + flatpak.enable = true; + + # Audio + pulseaudio.enable = false; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + }; + + # Custom modules + i2pd.enable = true; +} diff --git a/systems/odino/boot.nix b/systems/odino/boot.nix new file mode 100644 index 0000000..52b2d3e --- /dev/null +++ b/systems/odino/boot.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + boot = { + kernelPackages = pkgs.linuxPackages_6_18; # NOTE: soltanto versioni LTS per il server + kernelModules = [ "kvm-intel" ]; + kernelParams = [ "boot.shell_on_fail" ]; + + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + extraModulePackages = [ ]; + }; +} diff --git a/systems/odino/default.nix b/systems/odino/default.nix new file mode 100644 index 0000000..fca67b9 --- /dev/null +++ b/systems/odino/default.nix @@ -0,0 +1,37 @@ +{pkgs, ...}: { + imports = [ + ./hardware.nix + ./boot.nix + ./networking.nix + ./locales.nix + + ./services.nix + ./programs.nix + ]; + + # Experimental features + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Users + users.users.leo = { + isNormalUser = true; + shell = pkgs.zsh; + + extraGroups = [ "wheel" "networkmanager" ]; + }; + + programs.zsh.enable = true; + + environment.shellAliases = { + ls = "eza"; + l = "ls -lh"; + ll = "ls -lah"; + + update-boot = "sudo nixos-rebuild boot --flake ~/nixos#odino"; + update-system = "sudo nixos-rebuild switch --flake ~/nixos#odino"; + update-home = "home-manager switch --flake ~/nixos#odino"; + }; + + # Version + system.stateVersion = "25.05"; +} diff --git a/systems/odino/hardware.nix b/systems/odino/hardware.nix new file mode 100644 index 0000000..4bb260c --- /dev/null +++ b/systems/odino/hardware.nix @@ -0,0 +1,28 @@ +{config, lib, modulesPath, ...}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/31eed536-5936-4814-bb60-73fcc4fabdc5"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/1DD7-85F5"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + fileSystems."/mnt/media" = { + device = "/dev/disk/by-uuid/d441ef68-e6c5-4407-8ab4-f85855c2848a"; + fsType = "ext4"; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/8478cb29-8a67-4842-b9ed-16a226506cb7"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/systems/odino/home-manager/default.nix b/systems/odino/home-manager/default.nix deleted file mode 100644 index bb6ef28..0000000 --- a/systems/odino/home-manager/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - imports = [ - ./leo/home.nix - ]; -} diff --git a/systems/odino/home-manager/leo/home.nix b/systems/odino/home-manager/leo/home.nix deleted file mode 100644 index e0c3d6f..0000000 --- a/systems/odino/home-manager/leo/home.nix +++ /dev/null @@ -1,13 +0,0 @@ -{...}: { - imports = [ - ./programs.nix - ]; - - home = { - username = "leo"; - homeDirectory = "/home/leo"; - }; - - # Version - home.stateVersion = "25.05"; -} diff --git a/systems/odino/home-manager/leo/programs.nix b/systems/odino/home-manager/leo/programs.nix deleted file mode 100644 index eac28b0..0000000 --- a/systems/odino/home-manager/leo/programs.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - imports = [ - ../../../../components/programs/zsh.nix - ../../../../components/programs/tmux.nix - ../../../../components/programs/fastfetch.nix - ]; - - zsh.enable = true; - tmux.enable = true; - fastfetch.enable = true; -} diff --git a/systems/odino/locales.nix b/systems/odino/locales.nix new file mode 100644 index 0000000..2d2363d --- /dev/null +++ b/systems/odino/locales.nix @@ -0,0 +1,20 @@ +{...}: { + time.timeZone = "Europe/Rome"; + console.keyMap = "it"; + + i18n = { + defaultLocale = "en_US.UTF-8"; + + extraLocaleSettings = { + LC_ADDRESS = "it_IT.UTF-8"; + LC_IDENTIFICATION = "it_IT.UTF-8"; + LC_MEASUREMENT = "it_IT.UTF-8"; + LC_MONETARY = "it_IT.UTF-8"; + LC_NAME = "it_IT.UTF-8"; + LC_NUMERIC = "it_IT.UTF-8"; + LC_PAPER = "it_IT.UTF-8"; + LC_TELEPHONE = "it_IT.UTF-8"; + LC_TIME = "it_IT.UTF-8"; + }; + }; +} diff --git a/systems/odino/networking.nix b/systems/odino/networking.nix new file mode 100644 index 0000000..3ab8e46 --- /dev/null +++ b/systems/odino/networking.nix @@ -0,0 +1,31 @@ +{lib, ...}: { + networking = { + hostName = "odino"; + useDHCP = lib.mkDefault true; + + nameservers = [ "208.67.222.222" "208.67.220.220" ]; + + firewall = { + enable = true; + + allowedTCPPorts = [ 22 ]; + allowedUDPPorts = [ 51820 ]; + }; + + networkmanager.enable = true; + + wg-quick.interfaces."tunnel" = { + privateKeyFile = "/home/leo/.wireguard/private.key"; + address = [ "10.69.0.2/24" ]; + + peers = [ + { + publicKey = "rwUMCdhjQbQt9uGjljfdABj4DSJFgL62bzT13sg8LmU="; + allowedIPs = [ "10.69.0.0/24" ]; + endpoint = "leoflo.me:51820"; + persistentKeepalive = 25; + } + ]; + }; + }; +} diff --git a/systems/odino/nixos/boot.nix b/systems/odino/nixos/boot.nix deleted file mode 100644 index 52b2d3e..0000000 --- a/systems/odino/nixos/boot.nix +++ /dev/null @@ -1,19 +0,0 @@ -{pkgs, ...}: { - boot = { - kernelPackages = pkgs.linuxPackages_6_18; # NOTE: soltanto versioni LTS per il server - kernelModules = [ "kvm-intel" ]; - kernelParams = [ "boot.shell_on_fail" ]; - - initrd = { - availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - kernelModules = [ ]; - }; - - loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - - extraModulePackages = [ ]; - }; -} diff --git a/systems/odino/nixos/default.nix b/systems/odino/nixos/default.nix deleted file mode 100644 index fca67b9..0000000 --- a/systems/odino/nixos/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./hardware.nix - ./boot.nix - ./networking.nix - ./locales.nix - - ./services.nix - ./programs.nix - ]; - - # Experimental features - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Users - users.users.leo = { - isNormalUser = true; - shell = pkgs.zsh; - - extraGroups = [ "wheel" "networkmanager" ]; - }; - - programs.zsh.enable = true; - - environment.shellAliases = { - ls = "eza"; - l = "ls -lh"; - ll = "ls -lah"; - - update-boot = "sudo nixos-rebuild boot --flake ~/nixos#odino"; - update-system = "sudo nixos-rebuild switch --flake ~/nixos#odino"; - update-home = "home-manager switch --flake ~/nixos#odino"; - }; - - # Version - system.stateVersion = "25.05"; -} diff --git a/systems/odino/nixos/hardware.nix b/systems/odino/nixos/hardware.nix deleted file mode 100644 index 4bb260c..0000000 --- a/systems/odino/nixos/hardware.nix +++ /dev/null @@ -1,28 +0,0 @@ -{config, lib, modulesPath, ...}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/31eed536-5936-4814-bb60-73fcc4fabdc5"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/1DD7-85F5"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - fileSystems."/mnt/media" = { - device = "/dev/disk/by-uuid/d441ef68-e6c5-4407-8ab4-f85855c2848a"; - fsType = "ext4"; - }; - - swapDevices = [ - { device = "/dev/disk/by-uuid/8478cb29-8a67-4842-b9ed-16a226506cb7"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/systems/odino/nixos/locales.nix b/systems/odino/nixos/locales.nix deleted file mode 100644 index 2d2363d..0000000 --- a/systems/odino/nixos/locales.nix +++ /dev/null @@ -1,20 +0,0 @@ -{...}: { - time.timeZone = "Europe/Rome"; - console.keyMap = "it"; - - i18n = { - defaultLocale = "en_US.UTF-8"; - - extraLocaleSettings = { - LC_ADDRESS = "it_IT.UTF-8"; - LC_IDENTIFICATION = "it_IT.UTF-8"; - LC_MEASUREMENT = "it_IT.UTF-8"; - LC_MONETARY = "it_IT.UTF-8"; - LC_NAME = "it_IT.UTF-8"; - LC_NUMERIC = "it_IT.UTF-8"; - LC_PAPER = "it_IT.UTF-8"; - LC_TELEPHONE = "it_IT.UTF-8"; - LC_TIME = "it_IT.UTF-8"; - }; - }; -} diff --git a/systems/odino/nixos/networking.nix b/systems/odino/nixos/networking.nix deleted file mode 100644 index 3ab8e46..0000000 --- a/systems/odino/nixos/networking.nix +++ /dev/null @@ -1,31 +0,0 @@ -{lib, ...}: { - networking = { - hostName = "odino"; - useDHCP = lib.mkDefault true; - - nameservers = [ "208.67.222.222" "208.67.220.220" ]; - - firewall = { - enable = true; - - allowedTCPPorts = [ 22 ]; - allowedUDPPorts = [ 51820 ]; - }; - - networkmanager.enable = true; - - wg-quick.interfaces."tunnel" = { - privateKeyFile = "/home/leo/.wireguard/private.key"; - address = [ "10.69.0.2/24" ]; - - peers = [ - { - publicKey = "rwUMCdhjQbQt9uGjljfdABj4DSJFgL62bzT13sg8LmU="; - allowedIPs = [ "10.69.0.0/24" ]; - endpoint = "leoflo.me:51820"; - persistentKeepalive = 25; - } - ]; - }; - }; -} diff --git a/systems/odino/nixos/programs.nix b/systems/odino/nixos/programs.nix deleted file mode 100644 index 965e31b..0000000 --- a/systems/odino/nixos/programs.nix +++ /dev/null @@ -1,26 +0,0 @@ -{inputs, pkgs, ...}: { - imports = [ - ../../../components/programs/git.nix - - inputs.home-manager.nixosModules.home-manager - ]; - - nixpkgs.config.allowUnfree = true; - - # Packages - environment.systemPackages = with pkgs; [ - ascii file fastfetch eza btop dysk - openssh rsync wireguard-tools dig - tmux vim - - # Home manager - inputs.home-manager.packages.${stdenv.hostPlatform.system}.home-manager - ]; - - # Docker - virtualisation.docker.enable = true; - users.extraGroups."docker".members = [ "leo" ]; - - # Custom modules - git.enable = true; -} diff --git a/systems/odino/nixos/services.nix b/systems/odino/nixos/services.nix deleted file mode 100644 index 534073a..0000000 --- a/systems/odino/nixos/services.nix +++ /dev/null @@ -1,8 +0,0 @@ -{...}: { - imports = [ - ../../../components/services/openssh.nix - ]; - - # Custom modules - openssh.enable = true; -} diff --git a/systems/odino/programs.nix b/systems/odino/programs.nix new file mode 100644 index 0000000..34c0eaa --- /dev/null +++ b/systems/odino/programs.nix @@ -0,0 +1,26 @@ +{inputs, pkgs, ...}: { + imports = [ + ../../components/programs/git.nix + + inputs.home-manager.nixosModules.home-manager + ]; + + nixpkgs.config.allowUnfree = true; + + # Packages + environment.systemPackages = with pkgs; [ + ascii file fastfetch eza btop dysk + openssh rsync wireguard-tools dig + tmux vim + + # Home manager + inputs.home-manager.packages.${stdenv.hostPlatform.system}.home-manager + ]; + + # Docker + virtualisation.docker.enable = true; + users.extraGroups."docker".members = [ "leo" ]; + + # Custom modules + git.enable = true; +} diff --git a/systems/odino/services.nix b/systems/odino/services.nix new file mode 100644 index 0000000..6b25e0d --- /dev/null +++ b/systems/odino/services.nix @@ -0,0 +1,8 @@ +{...}: { + imports = [ + ../../components/services/openssh.nix + ]; + + # Custom modules + openssh.enable = true; +} -- cgit v1.3