summaryrefslogtreecommitdiff
path: root/systems
diff options
context:
space:
mode:
Diffstat (limited to 'systems')
-rw-r--r--systems/hermes/home-manager/default.nix5
-rw-r--r--systems/hermes/home-manager/leo/home.nix13
-rw-r--r--systems/hermes/home-manager/leo/programs.nix19
-rw-r--r--systems/hermes/nixos/boot.nix21
-rw-r--r--systems/hermes/nixos/default.nix37
-rw-r--r--systems/hermes/nixos/gui.nix51
-rw-r--r--systems/hermes/nixos/hardware.nix24
-rw-r--r--systems/hermes/nixos/locales.nix20
-rw-r--r--systems/hermes/nixos/networking.nix32
-rw-r--r--systems/hermes/nixos/programs.nix61
-rw-r--r--systems/hermes/nixos/services.nix27
-rw-r--r--systems/odino/home-manager/default.nix5
-rw-r--r--systems/odino/home-manager/leo/home.nix13
-rw-r--r--systems/odino/home-manager/leo/programs.nix11
-rw-r--r--systems/odino/nixos/boot.nix19
-rw-r--r--systems/odino/nixos/default.nix36
-rw-r--r--systems/odino/nixos/hardware.nix28
-rw-r--r--systems/odino/nixos/locales.nix20
-rw-r--r--systems/odino/nixos/networking.nix31
-rw-r--r--systems/odino/nixos/programs.nix26
-rw-r--r--systems/odino/nixos/services.nix8
21 files changed, 507 insertions, 0 deletions
diff --git a/systems/hermes/home-manager/default.nix b/systems/hermes/home-manager/default.nix
new file mode 100644
index 0000000..bb6ef28
--- /dev/null
+++ b/systems/hermes/home-manager/default.nix
@@ -0,0 +1,5 @@
+{...}: {
+ imports = [
+ ./leo/home.nix
+ ];
+}
diff --git a/systems/hermes/home-manager/leo/home.nix b/systems/hermes/home-manager/leo/home.nix
new file mode 100644
index 0000000..e0c3d6f
--- /dev/null
+++ b/systems/hermes/home-manager/leo/home.nix
@@ -0,0 +1,13 @@
+{...}: {
+ 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
new file mode 100644
index 0000000..bad305e
--- /dev/null
+++ b/systems/hermes/home-manager/leo/programs.nix
@@ -0,0 +1,19 @@
+{...}: {
+ 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 = true;
+ alacritty.enable = true;
+ zed.enable = true;
+
+ zsh.enable = true;
+ tmux.enable = true;
+ fastfetch.enable = true;
+}
diff --git a/systems/hermes/nixos/boot.nix b/systems/hermes/nixos/boot.nix
new file mode 100644
index 0000000..f7ff6b4
--- /dev/null
+++ b/systems/hermes/nixos/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/nixos/default.nix b/systems/hermes/nixos/default.nix
new file mode 100644
index 0000000..a9c92dd
--- /dev/null
+++ b/systems/hermes/nixos/default.nix
@@ -0,0 +1,37 @@
+{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 = {
+ l = "eza -lh";
+ ll = "eza -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";
+ };
+
+ # Version
+ system.stateVersion = "25.05";
+}
diff --git a/systems/hermes/nixos/gui.nix b/systems/hermes/nixos/gui.nix
new file mode 100644
index 0000000..df28557
--- /dev/null
+++ b/systems/hermes/nixos/gui.nix
@@ -0,0 +1,51 @@
+{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;
+ };
+
+ xfce.enable = true;
+}
diff --git a/systems/hermes/nixos/hardware.nix b/systems/hermes/nixos/hardware.nix
new file mode 100644
index 0000000..52ab29c
--- /dev/null
+++ b/systems/hermes/nixos/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/nixos/locales.nix b/systems/hermes/nixos/locales.nix
new file mode 100644
index 0000000..2d2363d
--- /dev/null
+++ b/systems/hermes/nixos/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/nixos/networking.nix b/systems/hermes/nixos/networking.nix
new file mode 100644
index 0000000..2bfc8c1
--- /dev/null
+++ b/systems/hermes/nixos/networking.nix
@@ -0,0 +1,32 @@
+{lib, pkgs, ...}: {
+ networking = {
+ hostName = "hermes";
+ useDHCP = lib.mkDefault true;
+
+ nameservers = [ "208.67.222.222" "208.67.220.220" ];
+
+ networkmanager.enable = true;
+ firewall.enable = false;
+
+ wg-quick.interfaces."home" = {
+ privateKeyFile = "/home/leo/.wireguard/private.key";
+ address = [ "10.69.0.3/24" ];
+ dns = [ "38.242.201.177" ];
+
+ peers = [
+ {
+ publicKey = "rwUMCdhjQbQt9uGjljfdABj4DSJFgL62bzT13sg8LmU=";
+ allowedIPs = [ "10.69.0.0/24" ];
+ endpoint = "leoflo.me:51820";
+ persistentKeepalive = 25;
+ }
+ ];
+ };
+ };
+
+ # Bluetooth
+ hardware.bluetooth.enable = true;
+
+ # Packages
+ environment.systemPackages = with pkgs; [ openfortivpn ];
+}
diff --git a/systems/hermes/nixos/programs.nix b/systems/hermes/nixos/programs.nix
new file mode 100644
index 0000000..6ff5c45
--- /dev/null
+++ b/systems/hermes/nixos/programs.nix
@@ -0,0 +1,61 @@
+{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
+
+ # Graphical
+ librewolf thunderbird keepassxc
+ veracrypt feather
+
+ # Media
+ vlc ffmpeg yt-dlp
+ gpu-screen-recorder gpu-screen-recorder-gtk
+
+ # Unibo stuff
+ digital
+ inputs.dbmain-nix.packages.${pkgs.stdenv.hostPlatform.system}.default
+
+ # Home manager
+ inputs.home-manager.packages.${pkgs.stdenv.hostPlatform.system}.home-manager
+ ];
+
+ # Dynamic linking
+ programs.nix-ld.enable = true;
+
+ # AppImages
+ programs.appimage = {
+ enable = true;
+ binfmt = true;
+ };
+
+ # Docker
+ virtualisation.docker.enable = true;
+ users.extraGroups."docker".members = [ "leo" ];
+
+ # Virt manager
+ virtualisation = {
+ libvirtd.enable = true;
+ spiceUSBRedirection.enable = true;
+ };
+ users.groups."libvirtd".members = [ "leo" ];
+ programs.virt-manager.enable = true;
+
+ # Custom
+ git.enable = true;
+ fonts.enable = true;
+ games.enable = true;
+}
diff --git a/systems/hermes/nixos/services.nix b/systems/hermes/nixos/services.nix
new file mode 100644
index 0000000..79ab3df
--- /dev/null
+++ b/systems/hermes/nixos/services.nix
@@ -0,0 +1,27 @@
+{...}: {
+ imports = [
+ ../../../components/services/i2pd.nix
+ ];
+
+ services = {
+ dbus.enable = true;
+ libinput.enable = true;
+ power-profiles-daemon.enable = true;
+ printing.enable = true;
+
+ # Flatpaks
+ flatpak.enable = true;
+
+ # Audio
+ pulseaudio.enable = false;
+ pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ };
+ };
+
+ # Custom
+ i2pd.enable = true;
+}
diff --git a/systems/odino/home-manager/default.nix b/systems/odino/home-manager/default.nix
new file mode 100644
index 0000000..bb6ef28
--- /dev/null
+++ b/systems/odino/home-manager/default.nix
@@ -0,0 +1,5 @@
+{...}: {
+ imports = [
+ ./leo/home.nix
+ ];
+}
diff --git a/systems/odino/home-manager/leo/home.nix b/systems/odino/home-manager/leo/home.nix
new file mode 100644
index 0000000..e0c3d6f
--- /dev/null
+++ b/systems/odino/home-manager/leo/home.nix
@@ -0,0 +1,13 @@
+{...}: {
+ 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
new file mode 100644
index 0000000..eac28b0
--- /dev/null
+++ b/systems/odino/home-manager/leo/programs.nix
@@ -0,0 +1,11 @@
+{...}: {
+ 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/nixos/boot.nix b/systems/odino/nixos/boot.nix
new file mode 100644
index 0000000..52b2d3e
--- /dev/null
+++ b/systems/odino/nixos/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/nixos/default.nix b/systems/odino/nixos/default.nix
new file mode 100644
index 0000000..e58ea6a
--- /dev/null
+++ b/systems/odino/nixos/default.nix
@@ -0,0 +1,36 @@
+{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 = {
+ l = "eza -lh";
+ ll = "eza -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
new file mode 100644
index 0000000..4bb260c
--- /dev/null
+++ b/systems/odino/nixos/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/nixos/locales.nix b/systems/odino/nixos/locales.nix
new file mode 100644
index 0000000..2d2363d
--- /dev/null
+++ b/systems/odino/nixos/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/nixos/networking.nix b/systems/odino/nixos/networking.nix
new file mode 100644
index 0000000..ca9cf74
--- /dev/null
+++ b/systems/odino/nixos/networking.nix
@@ -0,0 +1,31 @@
+{lib, ...}: {
+ networking = {
+ hostName = "odino";
+ useDHCP = lib.mkDefault true;
+
+ nameservers = [ "208.67.222.222" "208.67.220.220" ];
+
+ networkmanager.enable = true;
+
+ firewall = {
+ enable = true;
+
+ allowedTCPPorts = [ 22 ];
+ allowedUDPPorts = [ 51820 ];
+ };
+
+ 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
new file mode 100644
index 0000000..3e890cb
--- /dev/null
+++ b/systems/odino/nixos/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
+ git.enable = true;
+}
diff --git a/systems/odino/nixos/services.nix b/systems/odino/nixos/services.nix
new file mode 100644
index 0000000..36c8515
--- /dev/null
+++ b/systems/odino/nixos/services.nix
@@ -0,0 +1,8 @@
+{...}: {
+ imports = [
+ ../../../components/services/openssh.nix
+ ];
+
+ # Custom
+ openssh.enable = true;
+}