summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo <noreply@leoflo.me>2026-02-28 16:27:59 +0100
committerLeonardo <noreply@leoflo.me>2026-02-28 19:02:07 +0100
commitbb11479130b0988e93408aa917cfc872d427d95f (patch)
tree58d37004d9529f927fcab0a5672bc6697d9b3c24
parent1507e4e369bd73b85f191fef20a7509283a418aa (diff)
downloadnixos-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.nix18
-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.nix15
-rw-r--r--flake.nix10
-rw-r--r--hermes/home-manager/leo/programs/default.nix19
-rw-r--r--hermes/home-manager/leo/programs/zsh.nix45
-rw-r--r--hermes/nixos/default.nix26
-rw-r--r--odino/home-manager/leo/programs/default.nix9
-rw-r--r--odino/home-manager/leo/programs/fastfetch.nix57
-rw-r--r--odino/nixos/hardware-configuration.nix40
-rw-r--r--odino/nixos/programs/default.nix38
-rw-r--r--odino/nixos/services/default.nix12
-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.nix19
-rw-r--r--systems/hermes/nixos/boot.nix (renamed from hermes/nixos/boot.nix)0
-rw-r--r--systems/hermes/nixos/default.nix37
-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.nix11
-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.nix26
-rw-r--r--systems/odino/nixos/services.nix8
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;
+ };
+ };
+ };
+}
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/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;
+}