From bb11479130b0988e93408aa917cfc872d427d95f Mon Sep 17 00:00:00 2001 From: Leonardo Date: Sat, 28 Feb 2026 16:27:59 +0100 Subject: nuovo layout --- components/gui/plasma.nix | 20 +++++++ components/gui/xfce.nix | 47 +++++++++++++++ components/programs/alacritty.nix | 53 +++++++++++++++++ components/programs/fastfetch.nix | 57 +++++++++++++++++++ components/programs/fonts.nix | 11 ++++ components/programs/games.nix | 16 ++++++ components/programs/git.nix | 18 ++++++ components/programs/keepassxc.nix | 33 +++++++++++ components/programs/tmux.nix | 12 ++++ components/programs/zed.nix | 37 ++++++++++++ components/programs/zsh.nix | 35 ++++++++++++ components/services/i2pd.nix | 19 +++++++ components/services/openssh.nix | 15 +++++ flake.nix | 10 ++-- hermes/home-manager/default.nix | 5 -- hermes/home-manager/leo/home.nix | 13 ----- hermes/home-manager/leo/programs/alacritty.nix | 53 ----------------- hermes/home-manager/leo/programs/default.nix | 19 ------- hermes/home-manager/leo/programs/fastfetch.nix | 57 ------------------- hermes/home-manager/leo/programs/keepassxc.nix | 33 ----------- hermes/home-manager/leo/programs/tmux.nix | 12 ---- hermes/home-manager/leo/programs/zed.nix | 37 ------------ hermes/home-manager/leo/programs/zsh.nix | 45 --------------- hermes/nixos/boot.nix | 21 ------- hermes/nixos/default.nix | 26 --------- hermes/nixos/gui/default.nix | 51 ----------------- hermes/nixos/gui/plasma.nix | 20 ------- hermes/nixos/gui/xfce.nix | 47 --------------- hermes/nixos/hardware.nix | 24 -------- hermes/nixos/locales.nix | 20 ------- hermes/nixos/networking.nix | 31 ---------- hermes/nixos/programs/default.nix | 79 -------------------------- hermes/nixos/programs/fonts.nix | 12 ---- hermes/nixos/programs/games.nix | 20 ------- hermes/nixos/services/default.nix | 38 ------------- hermes/nixos/services/i2pd.nix | 19 ------- odino/home-manager/default.nix | 5 -- odino/home-manager/leo/home.nix | 13 ----- odino/home-manager/leo/programs/default.nix | 9 --- odino/home-manager/leo/programs/fastfetch.nix | 57 ------------------- odino/home-manager/leo/programs/zsh.nix | 44 -------------- odino/nixos/boot.nix | 19 ------- odino/nixos/default.nix | 25 -------- odino/nixos/hardware-configuration.nix | 40 ------------- odino/nixos/hardware.nix | 23 -------- odino/nixos/locales.nix | 20 ------- odino/nixos/networking.nix | 31 ---------- odino/nixos/programs/default.nix | 38 ------------- odino/nixos/services/default.nix | 12 ---- 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/nixos/boot.nix | 21 +++++++ systems/hermes/nixos/default.nix | 37 ++++++++++++ systems/hermes/nixos/gui.nix | 51 +++++++++++++++++ systems/hermes/nixos/hardware.nix | 24 ++++++++ systems/hermes/nixos/locales.nix | 20 +++++++ systems/hermes/nixos/networking.nix | 32 +++++++++++ systems/hermes/nixos/programs.nix | 61 ++++++++++++++++++++ systems/hermes/nixos/services.nix | 27 +++++++++ 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/nixos/boot.nix | 19 +++++++ systems/odino/nixos/default.nix | 36 ++++++++++++ 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 +++ 70 files changed, 886 insertions(+), 1022 deletions(-) create mode 100644 components/gui/plasma.nix create mode 100644 components/gui/xfce.nix create mode 100644 components/programs/alacritty.nix create mode 100644 components/programs/fastfetch.nix create mode 100644 components/programs/fonts.nix create mode 100644 components/programs/games.nix create mode 100644 components/programs/git.nix create mode 100644 components/programs/keepassxc.nix create mode 100644 components/programs/tmux.nix create mode 100644 components/programs/zed.nix create mode 100644 components/programs/zsh.nix create mode 100644 components/services/i2pd.nix create mode 100644 components/services/openssh.nix delete mode 100644 hermes/home-manager/default.nix delete mode 100644 hermes/home-manager/leo/home.nix delete mode 100644 hermes/home-manager/leo/programs/alacritty.nix delete mode 100644 hermes/home-manager/leo/programs/default.nix delete mode 100644 hermes/home-manager/leo/programs/fastfetch.nix delete mode 100644 hermes/home-manager/leo/programs/keepassxc.nix delete mode 100644 hermes/home-manager/leo/programs/tmux.nix delete mode 100644 hermes/home-manager/leo/programs/zed.nix delete mode 100644 hermes/home-manager/leo/programs/zsh.nix delete mode 100644 hermes/nixos/boot.nix delete mode 100644 hermes/nixos/default.nix delete mode 100644 hermes/nixos/gui/default.nix delete mode 100644 hermes/nixos/gui/plasma.nix delete mode 100644 hermes/nixos/gui/xfce.nix delete mode 100644 hermes/nixos/hardware.nix delete mode 100644 hermes/nixos/locales.nix delete mode 100644 hermes/nixos/networking.nix delete mode 100644 hermes/nixos/programs/default.nix delete mode 100644 hermes/nixos/programs/fonts.nix delete mode 100644 hermes/nixos/programs/games.nix delete mode 100644 hermes/nixos/services/default.nix delete mode 100644 hermes/nixos/services/i2pd.nix delete mode 100644 odino/home-manager/default.nix delete mode 100644 odino/home-manager/leo/home.nix delete mode 100644 odino/home-manager/leo/programs/default.nix delete mode 100644 odino/home-manager/leo/programs/fastfetch.nix delete mode 100644 odino/home-manager/leo/programs/zsh.nix delete mode 100644 odino/nixos/boot.nix delete mode 100644 odino/nixos/default.nix delete mode 100644 odino/nixos/hardware-configuration.nix delete mode 100644 odino/nixos/hardware.nix delete mode 100644 odino/nixos/locales.nix delete mode 100644 odino/nixos/networking.nix delete mode 100644 odino/nixos/programs/default.nix delete mode 100644 odino/nixos/services/default.nix create mode 100644 systems/hermes/home-manager/default.nix create mode 100644 systems/hermes/home-manager/leo/home.nix create mode 100644 systems/hermes/home-manager/leo/programs.nix create mode 100644 systems/hermes/nixos/boot.nix create mode 100644 systems/hermes/nixos/default.nix create mode 100644 systems/hermes/nixos/gui.nix create mode 100644 systems/hermes/nixos/hardware.nix create mode 100644 systems/hermes/nixos/locales.nix create mode 100644 systems/hermes/nixos/networking.nix create mode 100644 systems/hermes/nixos/programs.nix create mode 100644 systems/hermes/nixos/services.nix create mode 100644 systems/odino/home-manager/default.nix create mode 100644 systems/odino/home-manager/leo/home.nix create mode 100644 systems/odino/home-manager/leo/programs.nix create mode 100644 systems/odino/nixos/boot.nix create mode 100644 systems/odino/nixos/default.nix create mode 100644 systems/odino/nixos/hardware.nix create mode 100644 systems/odino/nixos/locales.nix create mode 100644 systems/odino/nixos/networking.nix create mode 100644 systems/odino/nixos/programs.nix create mode 100644 systems/odino/nixos/services.nix diff --git a/components/gui/plasma.nix b/components/gui/plasma.nix new file mode 100644 index 0000000..fc6b6eb --- /dev/null +++ b/components/gui/plasma.nix @@ -0,0 +1,20 @@ +{lib, config, pkgs, ...}: { + options.plasma.enable = lib.mkEnableOption "KDE Plasma"; + + config = lib.mkIf config.plasma.enable { + services.desktopManager.plasma6.enable = true; + + # XDG + xdg.portal.extraPortals = with pkgs.kdePackages; [ xdg-desktop-portal-kde ]; + + # Packages + environment.systemPackages = with pkgs.kdePackages; [ + kate filelight + + flatpak-kcm + ]; + + # Excluded + environment.plasma6.excludePackages = with pkgs.kdePackages; [ plasma-browser-integration elisa discover ]; + }; +} diff --git a/components/gui/xfce.nix b/components/gui/xfce.nix new file mode 100644 index 0000000..55f1475 --- /dev/null +++ b/components/gui/xfce.nix @@ -0,0 +1,47 @@ +{inputs, lib, config, pkgs, ...}: +let + thunar-archive-plugin-with-xarchiver = pkgs.thunar-archive-plugin.overrideAttrs (old: { + postInstall = (old.postInstall or "") + '' + cp ${pkgs.xarchiver}/libexec/thunar-archive-plugin/xarchiver.tap \ + $out/libexec/thunar-archive-plugin/ + ''; + }); +in { + options.xfce.enable = lib.mkEnableOption "Xfce Desktop Environment"; + + config = lib.mkIf config.xfce.enable { + services.xserver = { + enable = true; + + desktopManager.xfce.enable = true; + }; + + # File manager + programs.thunar = { + enable = true; + + plugins = with pkgs; [ + thunar-archive-plugin-with-xarchiver + thunar-media-tags-plugin + thunar-vcs-plugin + thunar-volman + ]; + }; + + # XDG + xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; + + # Packages + environment.systemPackages = with pkgs; [ + bluez blueman + xarchiver + + xfce4-whiskermenu-plugin + xfce4-docklike-plugin + inputs.xfce4-hiddenapps-plugin.packages.x86_64-linux.default + ]; + + # Excluded + environment.xfce.excludePackages = with pkgs; [ parole ]; + }; +} diff --git a/components/programs/alacritty.nix b/components/programs/alacritty.nix new file mode 100644 index 0000000..da80465 --- /dev/null +++ b/components/programs/alacritty.nix @@ -0,0 +1,53 @@ +{lib, config, ...}: { + options.alacritty.enable = lib.mkEnableOption "Alacritty's config"; + + config = lib.mkIf config.alacritty.enable { + programs.alacritty = { + enable = true; + + settings = { + window = { + dimensions = { columns = 110; lines = 30; }; + padding = { x = 0; y = 0; }; + opacity = 1.0; + blur = false; + }; + + font = { + normal = { family = "IosevkaTerm NF"; style = "regular"; }; + bold = { family = "IosevkaTerm NF"; style = "bold"; }; + size = 14.00; + }; + + colors = { + primary = { + background = "#282c34"; + foreground = "#abb2bf"; + }; + + normal = { + black = "#1e2127"; + red = "#e06c75"; + green = "#98c379"; + yellow = "#d19a66"; + blue = "#61afef"; + magenta = "#c678dd"; + cyan = "#56b6c2"; + white = "#abb2bf"; + }; + + bright = { + black = "#5c6370"; + red = "#e06c75"; + green = "#98c379"; + yellow = "#d19a66"; + blue = "#61afef"; + magenta = "#c678dd"; + cyan = "#56b6c2"; + white = "#ffffff"; + }; + }; + }; + }; + }; +} diff --git a/components/programs/fastfetch.nix b/components/programs/fastfetch.nix new file mode 100644 index 0000000..63f148e --- /dev/null +++ b/components/programs/fastfetch.nix @@ -0,0 +1,57 @@ +{lib, config, ...}: { + options.fastfetch.enable = lib.mkEnableOption "Fastfetch's config"; + + config = lib.mkIf config.fastfetch.enable { + programs.fastfetch = { + enable = true; + + settings = { + display = { + size = { + maxPrefix = "MB"; + ndigits = 0; + spaceBeforeUnit = "never"; + }; + freq = { + ndigits = 3; + spaceBeforeUnit = "never"; + }; + }; + modules = [ + "title" + "separator" + "os" + { + type = "kernel"; + format = "{release}"; + } + { + type = "packages"; + combined = true; + } + "shell" + { + type = "display"; + compactType = "original"; + key = "Resolution"; + } + "de" + "wm" + "terminal" + "cpu" + { + type = "gpu"; + key = "GPU"; + format = "{name}"; + } + { + type = "memory"; + format = "{used} / {total}"; + } + "break" + "colors" + ]; + }; + }; + }; +} diff --git a/components/programs/fonts.nix b/components/programs/fonts.nix new file mode 100644 index 0000000..558cf83 --- /dev/null +++ b/components/programs/fonts.nix @@ -0,0 +1,11 @@ +{lib, config, pkgs, ...}: { + options.fonts.enable = lib.mkEnableOption "Additional fonts"; + + config = lib.mkIf config.fonts.enable { + environment.systemPackages = with pkgs; [ + noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji + nerd-fonts.iosevka-term nerd-fonts.jetbrains-mono + corefonts vista-fonts + ]; + }; +} diff --git a/components/programs/games.nix b/components/programs/games.nix new file mode 100644 index 0000000..560e210 --- /dev/null +++ b/components/programs/games.nix @@ -0,0 +1,16 @@ +{lib, config, pkgs, ...}: { + options.games.enable = lib.mkEnableOption "Games"; + + config = lib.mkIf config.games.enable { + hardware.steam-hardware.enable = true; + + #Steam + programs = { + gamemode.enable = true; + steam.enable = true; + }; + + # Packages + environment.systemPackages = with pkgs; [ prismlauncher heroic ]; + }; +} diff --git a/components/programs/git.nix b/components/programs/git.nix new file mode 100644 index 0000000..10226b8 --- /dev/null +++ b/components/programs/git.nix @@ -0,0 +1,18 @@ +{lib, config, ...}: { + options.git.enable = lib.mkEnableOption "Git CMS"; + + config = lib.mkIf config.git.enable { + programs.git = { + enable = true; + + config = { + init = { + defaultBranch = "master"; + }; + core = { + editor = "vim"; + }; + }; + }; + }; +} diff --git a/components/programs/keepassxc.nix b/components/programs/keepassxc.nix new file mode 100644 index 0000000..7211364 --- /dev/null +++ b/components/programs/keepassxc.nix @@ -0,0 +1,33 @@ +{lib, config, ...}: { + options.keepassxc.enable = lib.mkEnableOption "KeepassXC's config"; + + config = lib.mkIf config.keepassxc.enable { + xdg.autostart.enable = true; + + programs.keepassxc = { + enable = true; + autostart = true; + + settings = { + Browser.Enabled=true; + FdoSecrets.Enabled = true; + + GUI = { + MinimizeOnStartup = true; + MinimizeOnClose = true; + + ApplicationTheme = "dark"; + HideUsernames = true; + TrayIconAppearance = "monochrome-light"; + }; + + PasswordGenerator = { + Length = 128; + LowerCase = true; + UpperCase = true; + SpecialChars = true; + }; + }; + }; + }; +} diff --git a/components/programs/tmux.nix b/components/programs/tmux.nix new file mode 100644 index 0000000..db3f7a6 --- /dev/null +++ b/components/programs/tmux.nix @@ -0,0 +1,12 @@ +{lib, config, ...}: { + options.tmux.enable = lib.mkEnableOption "Tmux's config"; + + config = lib.mkIf config.tmux.enable { + programs.tmux = { + enable = true; + + baseIndex = 1; + clock24 = true; + }; + }; +} diff --git a/components/programs/zed.nix b/components/programs/zed.nix new file mode 100644 index 0000000..14f7195 --- /dev/null +++ b/components/programs/zed.nix @@ -0,0 +1,37 @@ +{lib, config, ...}: { + options.zed.enable = lib.mkEnableOption "Zed editor's config"; + + config = lib.mkIf config.zed.enable { + programs.zed-editor = { + enable = true; + + userSettings = { + telemetry = { + metrics = false; + }; + + ui_font_size = 18; + buffer_font_size = 18; + vim_mode = false; + + format_on_save = "off"; + hard_tabs = false; + tab_size = 2; + + theme = { + mode = "system"; + light = "Gruvbox Dark Soft"; + dark = "Gruvbox Dark Soft"; + }; + + terminal = { + shell = { + program = "zsh"; + }; + + cursor_shape = "bar"; + }; + }; + }; + }; +} diff --git a/components/programs/zsh.nix b/components/programs/zsh.nix new file mode 100644 index 0000000..9ace5fd --- /dev/null +++ b/components/programs/zsh.nix @@ -0,0 +1,35 @@ +{lib, config, ...}: { + options.zsh.enable = lib.mkEnableOption "ZSH config"; + + config = lib.mkIf config.zsh.enable { + programs.zsh = { + enable = true; + enableCompletion = true; + enableVteIntegration = true; + + syntaxHighlighting.enable = true; + + history.size = 10000; + + oh-my-zsh = { + enable = true; + theme = "robbyrussell"; + + plugins = [ "git" "ssh" ]; + }; + + initContent = '' + # Ctrl + arrow keys + bindkey '^[Oc' forward-word + bindkey '^[Od' backward-word + bindkey '^[[1;5D' backward-word + bindkey '^[[1;5C' forward-word + bindkey '^H' backward-kill-word + + # Theme + autoload -U colors + colors + ''; + }; + }; +} diff --git a/components/services/i2pd.nix b/components/services/i2pd.nix new file mode 100644 index 0000000..8477dc3 --- /dev/null +++ b/components/services/i2pd.nix @@ -0,0 +1,19 @@ +{lib, config, ...}: { + options.i2pd.enable = lib.mkEnableOption "An I2P router"; + + config = lib.mkIf config.i2pd.enable { + services.i2pd = { + enable = true; + address = "127.0.0.1"; + port = 4444; + + proto = { + http.enable = true; + httpProxy.enable = true; + socksProxy.enable = true; + sam.enable = true; + i2cp.enable = true; + }; + }; + }; +} diff --git a/components/services/openssh.nix b/components/services/openssh.nix new file mode 100644 index 0000000..66a6499 --- /dev/null +++ b/components/services/openssh.nix @@ -0,0 +1,15 @@ +{lib, config, ...}: { + options.openssh.enable = lib.mkEnableOption "OpenSSH server"; + + config = lib.mkIf config.openssh.enable { + services.openssh = { + enable = true; + + settings = { + PermitRootLogin = "no"; + PasswordAuthentication = false; + PrintMotd = false; + }; + }; + }; +} diff --git a/flake.nix b/flake.nix index 789cbfa..819c5f6 100644 --- a/flake.nix +++ b/flake.nix @@ -18,26 +18,28 @@ system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { + # NixOS nixosConfigurations."hermes" = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system; }; - modules = [ ./hermes/nixos ]; + modules = [ ./systems/hermes/nixos ]; }; nixosConfigurations."odino" = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system; }; - modules = [ ./odino/nixos ]; + modules = [ ./systems/odino/nixos ]; }; + # Home manager homeConfigurations."hermes" = home-manager.lib.homeManagerConfiguration { extraSpecialArgs = { inherit inputs; }; pkgs = pkgs; - modules = [ ./hermes/home-manager ]; + modules = [ ./systems/hermes/home-manager ]; }; homeConfigurations."odino" = home-manager.lib.homeManagerConfiguration { extraSpecialArgs = { inherit inputs; }; pkgs = pkgs; - modules = [ ./odino/home-manager ]; + modules = [ ./systems/odino/home-manager ]; }; }; } diff --git a/hermes/home-manager/default.nix b/hermes/home-manager/default.nix deleted file mode 100644 index bb6ef28..0000000 --- a/hermes/home-manager/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - imports = [ - ./leo/home.nix - ]; -} diff --git a/hermes/home-manager/leo/home.nix b/hermes/home-manager/leo/home.nix deleted file mode 100644 index 332cb6e..0000000 --- a/hermes/home-manager/leo/home.nix +++ /dev/null @@ -1,13 +0,0 @@ -{...}: { - imports = [ - ./programs - ]; - - home = { - username = "leo"; - homeDirectory = "/home/leo"; - }; - - # Version - home.stateVersion = "25.05"; -} diff --git a/hermes/home-manager/leo/programs/alacritty.nix b/hermes/home-manager/leo/programs/alacritty.nix deleted file mode 100644 index 3f128c2..0000000 --- a/hermes/home-manager/leo/programs/alacritty.nix +++ /dev/null @@ -1,53 +0,0 @@ -{lib, config, ...}: { - options.alacritty.enable = lib.mkEnableOption "alacritty config"; - - config = lib.mkIf config.alacritty.enable { - programs.alacritty = { - enable = true; - - settings = { - window = { - dimensions = { columns = 110; lines = 30; }; - padding = { x = 0; y = 0; }; - opacity = 1.0; - blur = false; - }; - - font = { - normal = { family = "IosevkaTerm NF"; style = "regular"; }; - bold = { family = "IosevkaTerm NF"; style = "bold"; }; - size = 14.00; - }; - - colors = { - primary = { - background = "#282c34"; - foreground = "#abb2bf"; - }; - - normal = { - black = "#1e2127"; - red = "#e06c75"; - green = "#98c379"; - yellow = "#d19a66"; - blue = "#61afef"; - magenta = "#c678dd"; - cyan = "#56b6c2"; - white = "#abb2bf"; - }; - - bright = { - black = "#5c6370"; - red = "#e06c75"; - green = "#98c379"; - yellow = "#d19a66"; - blue = "#61afef"; - magenta = "#c678dd"; - cyan = "#56b6c2"; - white = "#ffffff"; - }; - }; - }; - }; - }; -} diff --git a/hermes/home-manager/leo/programs/default.nix b/hermes/home-manager/leo/programs/default.nix deleted file mode 100644 index f19a4dc..0000000 --- a/hermes/home-manager/leo/programs/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{...}: { - imports = [ - ./keepassxc.nix - ./alacritty.nix - ./zed.nix - - ./zsh.nix - ./tmux.nix - ./fastfetch.nix - ]; - - keepassxc.enable = true; - alacritty.enable = true; - zed.enable = true; - - zsh.enable = true; - tmux.enable = true; - fastfetch.enable = true; -} diff --git a/hermes/home-manager/leo/programs/fastfetch.nix b/hermes/home-manager/leo/programs/fastfetch.nix deleted file mode 100644 index 94eccab..0000000 --- a/hermes/home-manager/leo/programs/fastfetch.nix +++ /dev/null @@ -1,57 +0,0 @@ -{lib, config, ...}: { - options.fastfetch.enable = lib.mkEnableOption "fastfetch config"; - - config = lib.mkIf config.fastfetch.enable { - programs.fastfetch = { - enable = true; - - settings = { - display = { - size = { - maxPrefix = "MB"; - ndigits = 0; - spaceBeforeUnit = "never"; - }; - freq = { - ndigits = 3; - spaceBeforeUnit = "never"; - }; - }; - modules = [ - "title" - "separator" - "os" - { - type = "kernel"; - format = "{release}"; - } - { - type = "packages"; - combined = true; - } - "shell" - { - type = "display"; - compactType = "original"; - key = "Resolution"; - } - "de" - "wm" - "terminal" - "cpu" - { - type = "gpu"; - key = "GPU"; - format = "{name}"; - } - { - type = "memory"; - format = "{used} / {total}"; - } - "break" - "colors" - ]; - }; - }; - }; -} diff --git a/hermes/home-manager/leo/programs/keepassxc.nix b/hermes/home-manager/leo/programs/keepassxc.nix deleted file mode 100644 index a741376..0000000 --- a/hermes/home-manager/leo/programs/keepassxc.nix +++ /dev/null @@ -1,33 +0,0 @@ -{lib, config, ...}: { - options.keepassxc.enable = lib.mkEnableOption "keepassxc config"; - - config = lib.mkIf config.keepassxc.enable { - xdg.autostart.enable = true; - - programs.keepassxc = { - enable = true; - autostart = true; - - settings = { - Browser.Enabled=true; - FdoSecrets.Enabled = true; - - GUI = { - MinimizeOnStartup = true; - MinimizeOnClose = true; - - ApplicationTheme = "dark"; - HideUsernames = true; - TrayIconAppearance = "monochrome-light"; - }; - - PasswordGenerator = { - Length = 128; - LowerCase = true; - UpperCase = true; - SpecialChars = true; - }; - }; - }; - }; -} diff --git a/hermes/home-manager/leo/programs/tmux.nix b/hermes/home-manager/leo/programs/tmux.nix deleted file mode 100644 index f7a74a8..0000000 --- a/hermes/home-manager/leo/programs/tmux.nix +++ /dev/null @@ -1,12 +0,0 @@ -{lib, config, ...}: { - options.tmux.enable = lib.mkEnableOption "tmux config"; - - config = lib.mkIf config.tmux.enable { - programs.tmux = { - enable = true; - - baseIndex = 1; - clock24 = true; - }; - }; -} diff --git a/hermes/home-manager/leo/programs/zed.nix b/hermes/home-manager/leo/programs/zed.nix deleted file mode 100644 index 538bed0..0000000 --- a/hermes/home-manager/leo/programs/zed.nix +++ /dev/null @@ -1,37 +0,0 @@ -{lib, config, ...}: { - options.zed.enable = lib.mkEnableOption "zed config"; - - config = lib.mkIf config.zed.enable { - programs.zed-editor = { - enable = true; - - userSettings = { - telemetry = { - metrics = false; - }; - - ui_font_size = 18; - buffer_font_size = 18; - vim_mode = false; - - format_on_save = "off"; - hard_tabs = false; - tab_size = 2; - - theme = { - mode = "system"; - light = "Gruvbox Dark Soft"; - dark = "Gruvbox Dark Soft"; - }; - - terminal = { - shell = { - program = "zsh"; - }; - - cursor_shape = "bar"; - }; - }; - }; - }; -} diff --git a/hermes/home-manager/leo/programs/zsh.nix b/hermes/home-manager/leo/programs/zsh.nix deleted file mode 100644 index 3e2f86e..0000000 --- a/hermes/home-manager/leo/programs/zsh.nix +++ /dev/null @@ -1,45 +0,0 @@ -{lib, config, ...}: { - options.zsh.enable = lib.mkEnableOption "zsh config"; - - config = lib.mkIf config.zsh.enable { - programs.zsh = { - enable = true; - enableCompletion = true; - enableVteIntegration = true; - syntaxHighlighting.enable = true; - - history.size = 10000; - - oh-my-zsh = { - enable = true; - theme = "fishy"; - plugins = [ "git" "ssh" ]; - }; - - shellAliases = { - ls = "ls -lh --color=auto"; - l = "ls"; - ll = "ls -a"; - ssh = "TERM=xterm-256color ssh"; - wine = "wine64"; - - 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"; - }; - - initContent = '' - # Ctrl + arrow keys - bindkey '^[Oc' forward-word - bindkey '^[Od' backward-word - bindkey '^[[1;5D' backward-word - bindkey '^[[1;5C' forward-word - bindkey '^H' backward-kill-word - - # Theme - autoload -U colors - colors - ''; - }; - }; -} diff --git a/hermes/nixos/boot.nix b/hermes/nixos/boot.nix deleted file mode 100644 index f7ff6b4..0000000 --- a/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/hermes/nixos/default.nix b/hermes/nixos/default.nix deleted file mode 100644 index c23603e..0000000 --- a/hermes/nixos/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./hardware.nix - ./boot.nix - ./networking.nix - ./locales.nix - - ./gui - ./services - ./programs - ]; - - # Experimental features - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Users - users.users.leo = { - isNormalUser = true; - shell = pkgs.zsh; - - extraGroups = [ "networkmanager" "video" "wheel" ]; - }; - - # Version - system.stateVersion = "25.05"; -} diff --git a/hermes/nixos/gui/default.nix b/hermes/nixos/gui/default.nix deleted file mode 100644 index 4d6f651..0000000 --- a/hermes/nixos/gui/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./xfce.nix - ./plasma.nix - ]; - - # Drivers - 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 = ""; - }; - }; - - # Custom - # - # NOTE: kde and xfce cannot be enabled due to conflicting pinetry package - xfce.enable = true; - plasma.enable = false; -} diff --git a/hermes/nixos/gui/plasma.nix b/hermes/nixos/gui/plasma.nix deleted file mode 100644 index fb6afad..0000000 --- a/hermes/nixos/gui/plasma.nix +++ /dev/null @@ -1,20 +0,0 @@ -{lib, config, pkgs, ...}: { - options.plasma.enable = lib.mkEnableOption "kde plasma"; - - config = lib.mkIf config.plasma.enable { - services.desktopManager.plasma6.enable = true; - - # Packages - environment.systemPackages = with pkgs.kdePackages; [ - kate filelight - - flatpak-kcm - ]; - - # Excluded - environment.plasma6.excludePackages = with pkgs.kdePackages; [ - plasma-browser-integration - elisa okular discover - ]; - }; -} diff --git a/hermes/nixos/gui/xfce.nix b/hermes/nixos/gui/xfce.nix deleted file mode 100644 index e037e68..0000000 --- a/hermes/nixos/gui/xfce.nix +++ /dev/null @@ -1,47 +0,0 @@ -{inputs, lib, config, pkgs, ...}: -let - thunar-archive-plugin-with-xarchiver = pkgs.thunar-archive-plugin.overrideAttrs (old: { - postInstall = (old.postInstall or "") + '' - cp ${pkgs.xarchiver}/libexec/thunar-archive-plugin/xarchiver.tap \ - $out/libexec/thunar-archive-plugin/ - ''; - }); -in { - options.xfce.enable = lib.mkEnableOption "xfce de"; - - config = lib.mkIf config.xfce.enable { - services.xserver = { - enable = true; - - desktopManager.xfce.enable = true; - }; - - # File manager - programs.thunar = { - enable = true; - - plugins = with pkgs; [ - thunar-archive-plugin-with-xarchiver - thunar-media-tags-plugin - thunar-vcs-plugin - thunar-volman - ]; - }; - - # XDG - xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; - - # Packages - environment.systemPackages = with pkgs; [ - bluez blueman - xarchiver - - xfce4-whiskermenu-plugin - xfce4-docklike-plugin - inputs.xfce4-hiddenapps-plugin.packages.x86_64-linux.default - ]; - - # Excluded - environment.xfce.excludePackages = with pkgs; [ parole ]; - }; -} diff --git a/hermes/nixos/hardware.nix b/hermes/nixos/hardware.nix deleted file mode 100644 index 52ab29c..0000000 --- a/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/hermes/nixos/locales.nix b/hermes/nixos/locales.nix deleted file mode 100644 index 2d2363d..0000000 --- a/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/hermes/nixos/networking.nix b/hermes/nixos/networking.nix deleted file mode 100644 index 595a9cc..0000000 --- a/hermes/nixos/networking.nix +++ /dev/null @@ -1,31 +0,0 @@ -{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; - } - ]; - }; - }; - - # Packages - environment.systemPackages = with pkgs; [ - openfortivpn openfortivpn-webview - ]; -} diff --git a/hermes/nixos/programs/default.nix b/hermes/nixos/programs/default.nix deleted file mode 100644 index 741c1c5..0000000 --- a/hermes/nixos/programs/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{inputs, pkgs, ...}: { - imports = [ - ./fonts.nix - ./games.nix - - inputs.home-manager.nixosModules.home-manager - ]; - - nixpkgs.config.allowUnfree = true; - - # Packages - environment.systemPackages = with pkgs; [ - librewolf thunderbird - keepassxc veracrypt kdePackages.kleopatra - electrum feather - vlc ffmpeg yt-dlp - - openssh rsync wireguard-tools dig - alacritty zed-editor tmux vim - nil nixd - - ascii file fastfetch btop dysk - exfat ntfs3g android-tools - - claude-code - - # Home manager - inputs.home-manager.packages.${pkgs.stdenv.hostPlatform.system}.home-manager - - # Unibo stuff - digital - inputs.dbmain-nix.packages.${pkgs.stdenv.hostPlatform.system}.default - ]; - - # Dynamic linking - programs.nix-ld.enable = true; - - # AppImages - programs.appimage = { - enable = true; - binfmt = true; - }; - - # Zsh - programs.zsh.enable = true; - - # Git - programs.git = { - enable = true; - - config = { - init = { - defaultBranch = "master"; - }; - core = { - editor = "vim"; - }; - }; - }; - - # GPG - programs.gnupg.agent.enable = 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 - fonts.enable = true; - games.enable = true; -} diff --git a/hermes/nixos/programs/fonts.nix b/hermes/nixos/programs/fonts.nix deleted file mode 100644 index d6d6bac..0000000 --- a/hermes/nixos/programs/fonts.nix +++ /dev/null @@ -1,12 +0,0 @@ -{lib, config, pkgs, ...}: { - options.fonts.enable = lib.mkEnableOption "fonts"; - - config = lib.mkIf config.fonts.enable { - # Packages - environment.systemPackages = with pkgs; [ - noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji - nerd-fonts.iosevka-term nerd-fonts.jetbrains-mono - corefonts vista-fonts - ]; - }; -} diff --git a/hermes/nixos/programs/games.nix b/hermes/nixos/programs/games.nix deleted file mode 100644 index f697872..0000000 --- a/hermes/nixos/programs/games.nix +++ /dev/null @@ -1,20 +0,0 @@ -{lib, config, pkgs, ...}: { - options.games.enable = lib.mkEnableOption "steam and other game launchers"; - - config = lib.mkIf config.games.enable { - hardware.steam-hardware.enable = true; - - #Steam - programs = { - gamemode.enable = true; - steam.enable = true; - }; - - # Packages - environment.systemPackages = with pkgs; [ - prismlauncher heroic - - gpu-screen-recorder gpu-screen-recorder-gtk - ]; - }; -} diff --git a/hermes/nixos/services/default.nix b/hermes/nixos/services/default.nix deleted file mode 100644 index a618e55..0000000 --- a/hermes/nixos/services/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{...}: { - imports = [ - ./i2pd.nix - ]; - - # Security - security = { - rtkit.enable = true; - polkit.enable = true; - }; - - # Audio - services = { - pulseaudio.enable = false; - - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - }; - - # Bluetooth - hardware.bluetooth.enable = true; - - # Services - services = { - dbus.enable = true; - libinput.enable = true; - power-profiles-daemon.enable = true; - flatpak.enable = true; - printing.enable = true; - }; - - # Custom - i2pd.enable = true; -} diff --git a/hermes/nixos/services/i2pd.nix b/hermes/nixos/services/i2pd.nix deleted file mode 100644 index 1da75e4..0000000 --- a/hermes/nixos/services/i2pd.nix +++ /dev/null @@ -1,19 +0,0 @@ -{lib, config, ...}: { - options.i2pd.enable = lib.mkEnableOption "i2pd router"; - - config = lib.mkIf config.i2pd.enable { - services.i2pd = { - enable = true; - address = "127.0.0.1"; - port = 4444; - - proto = { - http.enable = true; - httpProxy.enable = true; - socksProxy.enable = true; - sam.enable = true; - i2cp.enable = true; - }; - }; - }; -} diff --git a/odino/home-manager/default.nix b/odino/home-manager/default.nix deleted file mode 100644 index bb6ef28..0000000 --- a/odino/home-manager/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - imports = [ - ./leo/home.nix - ]; -} diff --git a/odino/home-manager/leo/home.nix b/odino/home-manager/leo/home.nix deleted file mode 100644 index 332cb6e..0000000 --- a/odino/home-manager/leo/home.nix +++ /dev/null @@ -1,13 +0,0 @@ -{...}: { - imports = [ - ./programs - ]; - - home = { - username = "leo"; - homeDirectory = "/home/leo"; - }; - - # Version - home.stateVersion = "25.05"; -} diff --git a/odino/home-manager/leo/programs/default.nix b/odino/home-manager/leo/programs/default.nix deleted file mode 100644 index 711109e..0000000 --- a/odino/home-manager/leo/programs/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{...}: { - imports = [ - ./zsh.nix - ./fastfetch.nix - ]; - - zsh.enable = true; - fastfetch.enable = true; -} diff --git a/odino/home-manager/leo/programs/fastfetch.nix b/odino/home-manager/leo/programs/fastfetch.nix deleted file mode 100644 index 94eccab..0000000 --- a/odino/home-manager/leo/programs/fastfetch.nix +++ /dev/null @@ -1,57 +0,0 @@ -{lib, config, ...}: { - options.fastfetch.enable = lib.mkEnableOption "fastfetch config"; - - config = lib.mkIf config.fastfetch.enable { - programs.fastfetch = { - enable = true; - - settings = { - display = { - size = { - maxPrefix = "MB"; - ndigits = 0; - spaceBeforeUnit = "never"; - }; - freq = { - ndigits = 3; - spaceBeforeUnit = "never"; - }; - }; - modules = [ - "title" - "separator" - "os" - { - type = "kernel"; - format = "{release}"; - } - { - type = "packages"; - combined = true; - } - "shell" - { - type = "display"; - compactType = "original"; - key = "Resolution"; - } - "de" - "wm" - "terminal" - "cpu" - { - type = "gpu"; - key = "GPU"; - format = "{name}"; - } - { - type = "memory"; - format = "{used} / {total}"; - } - "break" - "colors" - ]; - }; - }; - }; -} diff --git a/odino/home-manager/leo/programs/zsh.nix b/odino/home-manager/leo/programs/zsh.nix deleted file mode 100644 index c42d1a5..0000000 --- a/odino/home-manager/leo/programs/zsh.nix +++ /dev/null @@ -1,44 +0,0 @@ -{lib, config, ...}: { - options.zsh.enable = lib.mkEnableOption "zsh config"; - - config = lib.mkIf config.zsh.enable { - programs.zsh = { - enable = true; - enableCompletion = true; - enableVteIntegration = true; - syntaxHighlighting.enable = true; - - history.size = 10000; - - oh-my-zsh = { - enable = true; - theme = "fishy"; - plugins = [ "git" "ssh" ]; - }; - - shellAliases = { - ls = "ls -lh --color=auto"; - l = "ls"; - ll = "ls -a"; - ssh = "TERM=xterm-256color ssh"; - - 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"; - }; - - initContent = '' - # Ctrl + arrow keys - bindkey '^[Oc' forward-word - bindkey '^[Od' backward-word - bindkey '^[[1;5D' backward-word - bindkey '^[[1;5C' forward-word - bindkey '^H' backward-kill-word - - # Theme - autoload -U colors - colors - ''; - }; - }; -} diff --git a/odino/nixos/boot.nix b/odino/nixos/boot.nix deleted file mode 100644 index 52b2d3e..0000000 --- a/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/odino/nixos/default.nix b/odino/nixos/default.nix deleted file mode 100644 index 014a544..0000000 --- a/odino/nixos/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./hardware.nix - ./boot.nix - ./networking.nix - ./locales.nix - - ./services - ./programs - ]; - - # Experimental features - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # Users - users.users.leo = { - isNormalUser = true; - shell = pkgs.zsh; - - extraGroups = [ "wheel" "networkmanager" ]; - }; - - # Version - system.stateVersion = "25.05"; -} diff --git a/odino/nixos/hardware-configuration.nix b/odino/nixos/hardware-configuration.nix deleted file mode 100644 index 39fd4ba..0000000 --- a/odino/nixos/hardware-configuration.nix +++ /dev/null @@ -1,40 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - 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" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/8478cb29-8a67-4842-b9ed-16a226506cb7"; } - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.eno1.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/odino/nixos/hardware.nix b/odino/nixos/hardware.nix deleted file mode 100644 index 7049ed2..0000000 --- a/odino/nixos/hardware.nix +++ /dev/null @@ -1,23 +0,0 @@ -{config, lib, pkgs, 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" ]; - }; - - 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/odino/nixos/locales.nix b/odino/nixos/locales.nix deleted file mode 100644 index 2d2363d..0000000 --- a/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/odino/nixos/networking.nix b/odino/nixos/networking.nix deleted file mode 100644 index ca9cf74..0000000 --- a/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" ]; - - 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/odino/nixos/programs/default.nix b/odino/nixos/programs/default.nix deleted file mode 100644 index 1d0b03c..0000000 --- a/odino/nixos/programs/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{inputs, pkgs, ...}: { - imports = [ - inputs.home-manager.nixosModules.home-manager - ]; - - nixpkgs.config.allowUnfree = true; - - # Packages - environment.systemPackages = with pkgs; [ - rsync wireguard-tools - tmux vim - fastfetch btop dysk - - # Home manager - inputs.home-manager.packages.${pkgs.stdenv.hostPlatform.system}.home-manager - ]; - - # Zsh - programs.zsh.enable = true; - - # Git - programs.git = { - enable = true; - - config = { - init = { - defaultBranch = "master"; - }; - core = { - editor = "vim"; - }; - }; - }; - - # Docker - virtualisation.docker.enable = true; - users.extraGroups."docker".members = [ "leo" ]; -} diff --git a/odino/nixos/services/default.nix b/odino/nixos/services/default.nix deleted file mode 100644 index eeabc7c..0000000 --- a/odino/nixos/services/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - # OpenSSH - services.openssh = { - enable = true; - - settings = { - PermitRootLogin = "no"; - PasswordAuthentication = false; - PrintMotd = false; - }; - }; -} 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; +} -- cgit v1.3