diff options
| author | Leonardo <noreply@leoflo.me> | 2026-02-28 16:27:59 +0100 |
|---|---|---|
| committer | Leonardo <noreply@leoflo.me> | 2026-02-28 19:02:07 +0100 |
| commit | bb11479130b0988e93408aa917cfc872d427d95f (patch) | |
| tree | 58d37004d9529f927fcab0a5672bc6697d9b3c24 | |
| parent | 1507e4e369bd73b85f191fef20a7509283a418aa (diff) | |
| download | nixos-bb11479130b0988e93408aa917cfc872d427d95f.tar.gz nixos-bb11479130b0988e93408aa917cfc872d427d95f.zip | |
nuovo layout
| -rw-r--r-- | components/gui/plasma.nix (renamed from hermes/nixos/gui/plasma.nix) | 10 | ||||
| -rw-r--r-- | components/gui/xfce.nix (renamed from hermes/nixos/gui/xfce.nix) | 2 | ||||
| -rw-r--r-- | components/programs/alacritty.nix (renamed from hermes/home-manager/leo/programs/alacritty.nix) | 2 | ||||
| -rw-r--r-- | components/programs/fastfetch.nix (renamed from hermes/home-manager/leo/programs/fastfetch.nix) | 2 | ||||
| -rw-r--r-- | components/programs/fonts.nix (renamed from hermes/nixos/programs/fonts.nix) | 3 | ||||
| -rw-r--r-- | components/programs/games.nix (renamed from hermes/nixos/programs/games.nix) | 8 | ||||
| -rw-r--r-- | components/programs/git.nix | 18 | ||||
| -rw-r--r-- | components/programs/keepassxc.nix (renamed from hermes/home-manager/leo/programs/keepassxc.nix) | 2 | ||||
| -rw-r--r-- | components/programs/tmux.nix (renamed from hermes/home-manager/leo/programs/tmux.nix) | 2 | ||||
| -rw-r--r-- | components/programs/zed.nix (renamed from hermes/home-manager/leo/programs/zed.nix) | 2 | ||||
| -rw-r--r-- | components/programs/zsh.nix (renamed from odino/home-manager/leo/programs/zsh.nix) | 17 | ||||
| -rw-r--r-- | components/services/i2pd.nix (renamed from hermes/nixos/services/i2pd.nix) | 2 | ||||
| -rw-r--r-- | components/services/openssh.nix | 15 | ||||
| -rw-r--r-- | flake.nix | 10 | ||||
| -rw-r--r-- | hermes/home-manager/leo/programs/default.nix | 19 | ||||
| -rw-r--r-- | hermes/home-manager/leo/programs/zsh.nix | 45 | ||||
| -rw-r--r-- | hermes/nixos/default.nix | 26 | ||||
| -rw-r--r-- | odino/home-manager/leo/programs/default.nix | 9 | ||||
| -rw-r--r-- | odino/home-manager/leo/programs/fastfetch.nix | 57 | ||||
| -rw-r--r-- | odino/nixos/hardware-configuration.nix | 40 | ||||
| -rw-r--r-- | odino/nixos/programs/default.nix | 38 | ||||
| -rw-r--r-- | odino/nixos/services/default.nix | 12 | ||||
| -rw-r--r-- | systems/hermes/home-manager/default.nix (renamed from hermes/home-manager/default.nix) | 0 | ||||
| -rw-r--r-- | systems/hermes/home-manager/leo/home.nix (renamed from hermes/home-manager/leo/home.nix) | 2 | ||||
| -rw-r--r-- | systems/hermes/home-manager/leo/programs.nix | 19 | ||||
| -rw-r--r-- | systems/hermes/nixos/boot.nix (renamed from hermes/nixos/boot.nix) | 0 | ||||
| -rw-r--r-- | systems/hermes/nixos/default.nix | 37 | ||||
| -rw-r--r-- | systems/hermes/nixos/gui.nix (renamed from hermes/nixos/gui/default.nix) | 20 | ||||
| -rw-r--r-- | systems/hermes/nixos/hardware.nix (renamed from hermes/nixos/hardware.nix) | 0 | ||||
| -rw-r--r-- | systems/hermes/nixos/locales.nix (renamed from hermes/nixos/locales.nix) | 0 | ||||
| -rw-r--r-- | systems/hermes/nixos/networking.nix (renamed from hermes/nixos/networking.nix) | 7 | ||||
| -rw-r--r-- | systems/hermes/nixos/programs.nix (renamed from hermes/nixos/programs/default.nix) | 48 | ||||
| -rw-r--r-- | systems/hermes/nixos/services.nix (renamed from hermes/nixos/services/default.nix) | 31 | ||||
| -rw-r--r-- | systems/odino/home-manager/default.nix (renamed from odino/home-manager/default.nix) | 0 | ||||
| -rw-r--r-- | systems/odino/home-manager/leo/home.nix (renamed from odino/home-manager/leo/home.nix) | 2 | ||||
| -rw-r--r-- | systems/odino/home-manager/leo/programs.nix | 11 | ||||
| -rw-r--r-- | systems/odino/nixos/boot.nix (renamed from odino/nixos/boot.nix) | 0 | ||||
| -rw-r--r-- | systems/odino/nixos/default.nix (renamed from odino/nixos/default.nix) | 15 | ||||
| -rw-r--r-- | systems/odino/nixos/hardware.nix (renamed from odino/nixos/hardware.nix) | 7 | ||||
| -rw-r--r-- | systems/odino/nixos/locales.nix (renamed from odino/nixos/locales.nix) | 0 | ||||
| -rw-r--r-- | systems/odino/nixos/networking.nix (renamed from odino/nixos/networking.nix) | 0 | ||||
| -rw-r--r-- | systems/odino/nixos/programs.nix | 26 | ||||
| -rw-r--r-- | systems/odino/nixos/services.nix | 8 |
43 files changed, 219 insertions, 355 deletions
diff --git a/hermes/nixos/gui/plasma.nix b/components/gui/plasma.nix index fb6afad..fc6b6eb 100644 --- a/hermes/nixos/gui/plasma.nix +++ b/components/gui/plasma.nix @@ -1,9 +1,12 @@ {lib, config, pkgs, ...}: { - options.plasma.enable = lib.mkEnableOption "kde plasma"; + 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 @@ -12,9 +15,6 @@ ]; # Excluded - environment.plasma6.excludePackages = with pkgs.kdePackages; [ - plasma-browser-integration - elisa okular discover - ]; + environment.plasma6.excludePackages = with pkgs.kdePackages; [ plasma-browser-integration elisa discover ]; }; } diff --git a/hermes/nixos/gui/xfce.nix b/components/gui/xfce.nix index e037e68..55f1475 100644 --- a/hermes/nixos/gui/xfce.nix +++ b/components/gui/xfce.nix @@ -7,7 +7,7 @@ let ''; }); in { - options.xfce.enable = lib.mkEnableOption "xfce de"; + options.xfce.enable = lib.mkEnableOption "Xfce Desktop Environment"; config = lib.mkIf config.xfce.enable { services.xserver = { diff --git a/hermes/home-manager/leo/programs/alacritty.nix b/components/programs/alacritty.nix index 3f128c2..da80465 100644 --- a/hermes/home-manager/leo/programs/alacritty.nix +++ b/components/programs/alacritty.nix @@ -1,5 +1,5 @@ {lib, config, ...}: { - options.alacritty.enable = lib.mkEnableOption "alacritty config"; + options.alacritty.enable = lib.mkEnableOption "Alacritty's config"; config = lib.mkIf config.alacritty.enable { programs.alacritty = { diff --git a/hermes/home-manager/leo/programs/fastfetch.nix b/components/programs/fastfetch.nix index 94eccab..63f148e 100644 --- a/hermes/home-manager/leo/programs/fastfetch.nix +++ b/components/programs/fastfetch.nix @@ -1,5 +1,5 @@ {lib, config, ...}: { - options.fastfetch.enable = lib.mkEnableOption "fastfetch config"; + options.fastfetch.enable = lib.mkEnableOption "Fastfetch's config"; config = lib.mkIf config.fastfetch.enable { programs.fastfetch = { diff --git a/hermes/nixos/programs/fonts.nix b/components/programs/fonts.nix index d6d6bac..558cf83 100644 --- a/hermes/nixos/programs/fonts.nix +++ b/components/programs/fonts.nix @@ -1,8 +1,7 @@ {lib, config, pkgs, ...}: { - options.fonts.enable = lib.mkEnableOption "fonts"; + options.fonts.enable = lib.mkEnableOption "Additional 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 diff --git a/hermes/nixos/programs/games.nix b/components/programs/games.nix index f697872..560e210 100644 --- a/hermes/nixos/programs/games.nix +++ b/components/programs/games.nix @@ -1,5 +1,5 @@ {lib, config, pkgs, ...}: { - options.games.enable = lib.mkEnableOption "steam and other game launchers"; + options.games.enable = lib.mkEnableOption "Games"; config = lib.mkIf config.games.enable { hardware.steam-hardware.enable = true; @@ -11,10 +11,6 @@ }; # Packages - environment.systemPackages = with pkgs; [ - prismlauncher heroic - - gpu-screen-recorder gpu-screen-recorder-gtk - ]; + 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/hermes/home-manager/leo/programs/keepassxc.nix b/components/programs/keepassxc.nix index a741376..7211364 100644 --- a/hermes/home-manager/leo/programs/keepassxc.nix +++ b/components/programs/keepassxc.nix @@ -1,5 +1,5 @@ {lib, config, ...}: { - options.keepassxc.enable = lib.mkEnableOption "keepassxc config"; + options.keepassxc.enable = lib.mkEnableOption "KeepassXC's config"; config = lib.mkIf config.keepassxc.enable { xdg.autostart.enable = true; diff --git a/hermes/home-manager/leo/programs/tmux.nix b/components/programs/tmux.nix index f7a74a8..db3f7a6 100644 --- a/hermes/home-manager/leo/programs/tmux.nix +++ b/components/programs/tmux.nix @@ -1,5 +1,5 @@ {lib, config, ...}: { - options.tmux.enable = lib.mkEnableOption "tmux config"; + options.tmux.enable = lib.mkEnableOption "Tmux's config"; config = lib.mkIf config.tmux.enable { programs.tmux = { diff --git a/hermes/home-manager/leo/programs/zed.nix b/components/programs/zed.nix index 538bed0..14f7195 100644 --- a/hermes/home-manager/leo/programs/zed.nix +++ b/components/programs/zed.nix @@ -1,5 +1,5 @@ {lib, config, ...}: { - options.zed.enable = lib.mkEnableOption "zed config"; + options.zed.enable = lib.mkEnableOption "Zed editor's config"; config = lib.mkIf config.zed.enable { programs.zed-editor = { diff --git a/odino/home-manager/leo/programs/zsh.nix b/components/programs/zsh.nix index c42d1a5..9ace5fd 100644 --- a/odino/home-manager/leo/programs/zsh.nix +++ b/components/programs/zsh.nix @@ -1,30 +1,21 @@ {lib, config, ...}: { - options.zsh.enable = lib.mkEnableOption "zsh 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" ]; - }; + theme = "robbyrussell"; - 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"; + plugins = [ "git" "ssh" ]; }; initContent = '' diff --git a/hermes/nixos/services/i2pd.nix b/components/services/i2pd.nix index 1da75e4..8477dc3 100644 --- a/hermes/nixos/services/i2pd.nix +++ b/components/services/i2pd.nix @@ -1,5 +1,5 @@ {lib, config, ...}: { - options.i2pd.enable = lib.mkEnableOption "i2pd router"; + options.i2pd.enable = lib.mkEnableOption "An I2P router"; config = lib.mkIf config.i2pd.enable { services.i2pd = { 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; + }; + }; + }; +} @@ -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/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/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/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/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/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.<interface>.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/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/hermes/home-manager/default.nix b/systems/hermes/home-manager/default.nix index bb6ef28..bb6ef28 100644 --- a/hermes/home-manager/default.nix +++ b/systems/hermes/home-manager/default.nix diff --git a/hermes/home-manager/leo/home.nix b/systems/hermes/home-manager/leo/home.nix index 332cb6e..e0c3d6f 100644 --- a/hermes/home-manager/leo/home.nix +++ b/systems/hermes/home-manager/leo/home.nix @@ -1,6 +1,6 @@ {...}: { imports = [ - ./programs + ./programs.nix ]; home = { 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/hermes/nixos/boot.nix b/systems/hermes/nixos/boot.nix index f7ff6b4..f7ff6b4 100644 --- a/hermes/nixos/boot.nix +++ b/systems/hermes/nixos/boot.nix 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/hermes/nixos/gui/default.nix b/systems/hermes/nixos/gui.nix index 4d6f651..df28557 100644 --- a/hermes/nixos/gui/default.nix +++ b/systems/hermes/nixos/gui.nix @@ -1,15 +1,13 @@ {pkgs, ...}: { imports = [ - ./xfce.nix - ./plasma.nix + ../../../components/gui/xfce.nix ]; - # Drivers + # Graphics hardware.graphics = { enable = true; - extraPackages = with pkgs; [ - intel-media-driver - ]; + + extraPackages = with pkgs; [ intel-media-driver ]; }; # Ly @@ -43,9 +41,11 @@ }; }; - # Custom - # - # NOTE: kde and xfce cannot be enabled due to conflicting pinetry package + # Security + security = { + rtkit.enable = true; + polkit.enable = true; + }; + xfce.enable = true; - plasma.enable = false; } diff --git a/hermes/nixos/hardware.nix b/systems/hermes/nixos/hardware.nix index 52ab29c..52ab29c 100644 --- a/hermes/nixos/hardware.nix +++ b/systems/hermes/nixos/hardware.nix diff --git a/hermes/nixos/locales.nix b/systems/hermes/nixos/locales.nix index 2d2363d..2d2363d 100644 --- a/hermes/nixos/locales.nix +++ b/systems/hermes/nixos/locales.nix diff --git a/hermes/nixos/networking.nix b/systems/hermes/nixos/networking.nix index 595a9cc..2bfc8c1 100644 --- a/hermes/nixos/networking.nix +++ b/systems/hermes/nixos/networking.nix @@ -24,8 +24,9 @@ }; }; + # Bluetooth + hardware.bluetooth.enable = true; + # Packages - environment.systemPackages = with pkgs; [ - openfortivpn openfortivpn-webview - ]; + environment.systemPackages = with pkgs; [ openfortivpn ]; } diff --git a/hermes/nixos/programs/default.nix b/systems/hermes/nixos/programs.nix index 741c1c5..6ff5c45 100644 --- a/hermes/nixos/programs/default.nix +++ b/systems/hermes/nixos/programs.nix @@ -1,7 +1,8 @@ {inputs, pkgs, ...}: { imports = [ - ./fonts.nix - ./games.nix + ../../../components/programs/git.nix + ../../../components/programs/fonts.nix + ../../../components/programs/games.nix inputs.home-manager.nixosModules.home-manager ]; @@ -10,26 +11,26 @@ # Packages environment.systemPackages = with pkgs; [ - librewolf thunderbird - keepassxc veracrypt kdePackages.kleopatra - electrum feather - vlc ffmpeg yt-dlp - + ascii file fastfetch eza btop dysk openssh rsync wireguard-tools dig - alacritty zed-editor tmux vim + alacritty zed-editor tmux vim claude-code nil nixd - - ascii file fastfetch btop dysk exfat ntfs3g android-tools - claude-code + # Graphical + librewolf thunderbird keepassxc + veracrypt feather - # Home manager - inputs.home-manager.packages.${pkgs.stdenv.hostPlatform.system}.home-manager + # 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 @@ -41,26 +42,6 @@ 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" ]; @@ -74,6 +55,7 @@ programs.virt-manager.enable = true; # Custom + git.enable = true; fonts.enable = true; games.enable = true; } diff --git a/hermes/nixos/services/default.nix b/systems/hermes/nixos/services.nix index a618e55..79ab3df 100644 --- a/hermes/nixos/services/default.nix +++ b/systems/hermes/nixos/services.nix @@ -1,18 +1,19 @@ {...}: { imports = [ - ./i2pd.nix + ../../../components/services/i2pd.nix ]; - # Security - security = { - rtkit.enable = true; - polkit.enable = true; - }; - - # Audio services = { - pulseaudio.enable = false; + 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; @@ -21,18 +22,6 @@ }; }; - # 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/odino/home-manager/default.nix b/systems/odino/home-manager/default.nix index bb6ef28..bb6ef28 100644 --- a/odino/home-manager/default.nix +++ b/systems/odino/home-manager/default.nix diff --git a/odino/home-manager/leo/home.nix b/systems/odino/home-manager/leo/home.nix index 332cb6e..e0c3d6f 100644 --- a/odino/home-manager/leo/home.nix +++ b/systems/odino/home-manager/leo/home.nix @@ -1,6 +1,6 @@ {...}: { imports = [ - ./programs + ./programs.nix ]; home = { 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/odino/nixos/boot.nix b/systems/odino/nixos/boot.nix index 52b2d3e..52b2d3e 100644 --- a/odino/nixos/boot.nix +++ b/systems/odino/nixos/boot.nix diff --git a/odino/nixos/default.nix b/systems/odino/nixos/default.nix index 014a544..e58ea6a 100644 --- a/odino/nixos/default.nix +++ b/systems/odino/nixos/default.nix @@ -5,8 +5,8 @@ ./networking.nix ./locales.nix - ./services - ./programs + ./services.nix + ./programs.nix ]; # Experimental features @@ -20,6 +20,17 @@ 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/odino/nixos/hardware.nix b/systems/odino/nixos/hardware.nix index 7049ed2..4bb260c 100644 --- a/odino/nixos/hardware.nix +++ b/systems/odino/nixos/hardware.nix @@ -1,4 +1,4 @@ -{config, lib, pkgs, modulesPath, ...}: { +{config, lib, modulesPath, ...}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -14,6 +14,11 @@ 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"; } ]; diff --git a/odino/nixos/locales.nix b/systems/odino/nixos/locales.nix index 2d2363d..2d2363d 100644 --- a/odino/nixos/locales.nix +++ b/systems/odino/nixos/locales.nix diff --git a/odino/nixos/networking.nix b/systems/odino/nixos/networking.nix index ca9cf74..ca9cf74 100644 --- a/odino/nixos/networking.nix +++ b/systems/odino/nixos/networking.nix 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; +} |
