From 1348257dfe43941b5ebffa476be5091d275d6a57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lex=20Santiago?= Date: Thu, 30 May 2024 01:12:50 -0400 Subject: [PATCH 1/4] Establish directories and empty files for modularization --- desktop environment/autologin.nix | 0 desktop environment/default.nix | 0 desktop environment/fonts.nix | 0 hosts/domus/domus.nix | 0 hosts/primus/networking.nix | 0 hosts/primus/primus.nix | 0 programs/communication.nix | 0 programs/default.nix | 0 programs/games.nix | 0 programs/media.nix | 0 programs/misc.nix | 0 programs/productivity.nix | 0 shell/default.nix | 0 13 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 desktop environment/autologin.nix create mode 100644 desktop environment/default.nix create mode 100644 desktop environment/fonts.nix create mode 100644 hosts/domus/domus.nix create mode 100644 hosts/primus/networking.nix create mode 100644 hosts/primus/primus.nix create mode 100644 programs/communication.nix create mode 100644 programs/default.nix create mode 100644 programs/games.nix create mode 100644 programs/media.nix create mode 100644 programs/misc.nix create mode 100644 programs/productivity.nix create mode 100644 shell/default.nix diff --git a/desktop environment/autologin.nix b/desktop environment/autologin.nix new file mode 100644 index 0000000..e69de29 diff --git a/desktop environment/default.nix b/desktop environment/default.nix new file mode 100644 index 0000000..e69de29 diff --git a/desktop environment/fonts.nix b/desktop environment/fonts.nix new file mode 100644 index 0000000..e69de29 diff --git a/hosts/domus/domus.nix b/hosts/domus/domus.nix new file mode 100644 index 0000000..e69de29 diff --git a/hosts/primus/networking.nix b/hosts/primus/networking.nix new file mode 100644 index 0000000..e69de29 diff --git a/hosts/primus/primus.nix b/hosts/primus/primus.nix new file mode 100644 index 0000000..e69de29 diff --git a/programs/communication.nix b/programs/communication.nix new file mode 100644 index 0000000..e69de29 diff --git a/programs/default.nix b/programs/default.nix new file mode 100644 index 0000000..e69de29 diff --git a/programs/games.nix b/programs/games.nix new file mode 100644 index 0000000..e69de29 diff --git a/programs/media.nix b/programs/media.nix new file mode 100644 index 0000000..e69de29 diff --git a/programs/misc.nix b/programs/misc.nix new file mode 100644 index 0000000..e69de29 diff --git a/programs/productivity.nix b/programs/productivity.nix new file mode 100644 index 0000000..e69de29 diff --git a/shell/default.nix b/shell/default.nix new file mode 100644 index 0000000..e69de29 -- 2.38.5 From 311eb38d799ba3e7e72cf8b62c53237386ef0326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lex=20Santiago?= Date: Thu, 30 May 2024 01:22:46 -0400 Subject: [PATCH 2/4] Move current config into its new place to begin modularizing --- flake.nix | 4 +--- configuration.nix => hosts/primus/default.nix | 0 .../primus/hardware-configuration.nix | 0 hosts/primus/primus.nix | 0 4 files changed, 1 insertion(+), 3 deletions(-) rename configuration.nix => hosts/primus/default.nix (100%) rename hardware-configuration.nix => hosts/primus/hardware-configuration.nix (100%) delete mode 100644 hosts/primus/primus.nix diff --git a/flake.nix b/flake.nix index 2701bf9..49be1bc 100644 --- a/flake.nix +++ b/flake.nix @@ -9,9 +9,7 @@ nixosConfigurations.primus = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - # Import the previous configuration.nix we used, - # so the old configuration file still takes effect - ./configuration.nix + ./hosts/primus ]; }; }; diff --git a/configuration.nix b/hosts/primus/default.nix similarity index 100% rename from configuration.nix rename to hosts/primus/default.nix diff --git a/hardware-configuration.nix b/hosts/primus/hardware-configuration.nix similarity index 100% rename from hardware-configuration.nix rename to hosts/primus/hardware-configuration.nix diff --git a/hosts/primus/primus.nix b/hosts/primus/primus.nix deleted file mode 100644 index e69de29..0000000 -- 2.38.5 From c5d428d2624e22c90123f4f882b8b00639a2c911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lex=20Santiago?= Date: Thu, 30 May 2024 01:41:21 -0400 Subject: [PATCH 3/4] Populate networking.nix --- hosts/primus/default.nix | 24 ++++-------------------- hosts/primus/networking.nix | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/hosts/primus/default.nix b/hosts/primus/default.nix index 56f7765..8aec8c9 100644 --- a/hosts/primus/default.nix +++ b/hosts/primus/default.nix @@ -1,7 +1,10 @@ { config, pkgs, ... }: { - imports = [ ./hardware-configuration.nix ]; + imports = [ + ./hardware-configuration.nix + ./networking.nix + ]; # Bootloader (UEFI) boot.loader.systemd-boot.enable = true; @@ -34,9 +37,6 @@ xorg.libX11 ]; - # Hostname - networking.hostName = "primus"; - # KDE Partition Manager programs.partition-manager.enable = true; @@ -45,10 +45,6 @@ users.defaultUserShell = pkgs.zsh; programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; - - # WLAN - networking.networkmanager.enable = true; - # Tailscale services.tailscale.enable = true; @@ -227,18 +223,6 @@ programs.gnupg.agent.enable = true; services.pcscd.enable = true; - networking.firewall = { - enable = true; - allowedTCPPorts = [ 53317 ]; # LocalSend - allowedTCPPortRanges = [ - { from = 1714; to = 1764; } # KDE Connect - ]; - allowedUDPPorts = [ 53317 ]; # LocalSend - allowedUDPPortRanges = [ - { from = 1714; to = 1764; } # KDE Connect - ]; - }; - system.stateVersion = "23.11"; } diff --git a/hosts/primus/networking.nix b/hosts/primus/networking.nix index e69de29..f0b67fa 100644 --- a/hosts/primus/networking.nix +++ b/hosts/primus/networking.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: + +{ + networking = { + hostName = "primus"; + networkmanager.enable = true; + firewall = { + enable = true; + allowedTCPPorts = [ 53317 ]; # LocalSend + allowedTCPPortRanges = [ + { from = 1714; to = 1764; } # KDE Connect + ]; + allowedUDPPorts = [ 53317 ]; # LocalSend + allowedUDPPortRanges = [ + { from = 1714; to = 1764; } # KDE Connect + ]; + }; + }; +} -- 2.38.5 From f1ea489d083f944012b215c5bee85b3018c39641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lex=20Santiago?= Date: Tue, 4 Jun 2024 18:23:32 -0400 Subject: [PATCH 4/4] Populate shell, system, and desktop modules --- desktop environment/autologin.nix | 0 desktop environment/default.nix | 0 desktop environment/fonts.nix | 0 desktop/autologin.nix | 7 +++ desktop/default.nix | 48 +++++++++++++++++++++ desktop/plasma.nix | 9 ++++ flake.nix | 5 +++ hosts/primus/default.nix | 72 ------------------------------- shell/default.nix | 8 ++++ system/default.nix | 11 +++++ 10 files changed, 88 insertions(+), 72 deletions(-) delete mode 100644 desktop environment/autologin.nix delete mode 100644 desktop environment/default.nix delete mode 100644 desktop environment/fonts.nix create mode 100644 desktop/autologin.nix create mode 100644 desktop/default.nix create mode 100644 desktop/plasma.nix create mode 100644 system/default.nix diff --git a/desktop environment/autologin.nix b/desktop environment/autologin.nix deleted file mode 100644 index e69de29..0000000 diff --git a/desktop environment/default.nix b/desktop environment/default.nix deleted file mode 100644 index e69de29..0000000 diff --git a/desktop environment/fonts.nix b/desktop environment/fonts.nix deleted file mode 100644 index e69de29..0000000 diff --git a/desktop/autologin.nix b/desktop/autologin.nix new file mode 100644 index 0000000..394ea7b --- /dev/null +++ b/desktop/autologin.nix @@ -0,0 +1,7 @@ +{config, pkgs, ...}: +{ + services.displayManager.autoLogin = { + enable = true; + user = "alexuty"; + }; +} diff --git a/desktop/default.nix b/desktop/default.nix new file mode 100644 index 0000000..21f9129 --- /dev/null +++ b/desktop/default.nix @@ -0,0 +1,48 @@ +{config, pkgs, ...}: +{ + hardware.pulseaudio.enable = false; + + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; + }; + + security.rtkit.enable = true; + + services = { + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + printing = { + drivers = [ + pkgs.hplipWithPlugin + pkgs.gutenprint + pkgs.gutenprintBin + ]; + enable = true; + }; + xserver.enable = true; + }; + + sound.enable = true; + + time.timeZone = "America/New_York"; +} diff --git a/desktop/plasma.nix b/desktop/plasma.nix new file mode 100644 index 0000000..ac4e243 --- /dev/null +++ b/desktop/plasma.nix @@ -0,0 +1,9 @@ +{config, pkgs, ...}: +{ + services.desktopManager.plasma6.enable = true; + programs.partition-manager.enable = true; + services.xserver.xkb = { + layout = "es,us"; + options = "grp:win_space_toggle"; + }; +} diff --git a/flake.nix b/flake.nix index 49be1bc..6e59a47 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,11 @@ system = "x86_64-linux"; modules = [ ./hosts/primus + ./shell + ./system + ./desktop + ./desktop/autologin.nix + ./desktop/plasma.nix ]; }; }; diff --git a/hosts/primus/default.nix b/hosts/primus/default.nix index 8aec8c9..d926ce3 100644 --- a/hosts/primus/default.nix +++ b/hosts/primus/default.nix @@ -37,78 +37,12 @@ xorg.libX11 ]; - # KDE Partition Manager - programs.partition-manager.enable = true; - - # zsh - programs.zsh.enable = true; - users.defaultUserShell = pkgs.zsh; - programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; - # Tailscale services.tailscale.enable = true; # Bluetooth hardware.bluetooth.enable = true; - # i18n - time.timeZone = "America/New_York"; - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; - - # X11 - services.xserver.enable = true; - - # Plasma 6 - services.desktopManager.plasma6.enable = true; - - # Automatic login (to avoid entering a second pasword) - services.displayManager.autoLogin.enable = true; - services.displayManager.autoLogin.user = "alexuty"; - - # Keyboard settings (xkb) - services.xserver.xkb = { - layout = "es,us"; - options = "grp:win_space_toggle"; - }; - - # Keyboard settings (console) - console.keyMap = "es"; - - # Printing - services.printing.enable = true; - services.avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - services.printing.drivers = [ - pkgs.hplipWithPlugin - pkgs.gutenprint - pkgs.gutenprintBin - ]; - - # Pipewire - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - # Touchpad support services.libinput.enable = true; @@ -173,12 +107,6 @@ }; })]; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # Enable nix command and flakes - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - # System packages environment.systemPackages = with pkgs; [ android-tools diff --git a/shell/default.nix b/shell/default.nix index e69de29..37b5142 100644 --- a/shell/default.nix +++ b/shell/default.nix @@ -0,0 +1,8 @@ +{config, pkgs, ...}: +{ + programs.zsh = { + enable = true; + promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; + }; + users.defaultUserShell = pkgs.zsh; +} diff --git a/system/default.nix b/system/default.nix new file mode 100644 index 0000000..2822a15 --- /dev/null +++ b/system/default.nix @@ -0,0 +1,11 @@ +{config, pkgs, ...}: +{ + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # Enable nix command and flakes + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Keyboard settings (console) + console.keyMap = "es"; +} -- 2.38.5