From ad0614629dd04100fe1eb93bcba8abe4c7039eb2 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Fri, 28 Feb 2025 19:17:16 +0800 Subject: [PATCH 1/3] rebase: working state with fresh configuration --- flake.nix | 34 +++--- ...dware-configuration.nix => hw-nemesis.nix} | 9 +- systems/nemesis.nix | 100 ++++++++++++++++++ systems/nemesis/default.nix | 42 -------- users/{rafiq/default.nix => rafiq.nix} | 0 5 files changed, 120 insertions(+), 65 deletions(-) rename systems/{nemesis/hardware-configuration.nix => hw-nemesis.nix} (83%) create mode 100644 systems/nemesis.nix delete mode 100644 systems/nemesis/default.nix rename users/{rafiq/default.nix => rafiq.nix} (100%) diff --git a/flake.nix b/flake.nix index dfbdd6a..af40d45 100644 --- a/flake.nix +++ b/flake.nix @@ -17,30 +17,30 @@ nemesis = nixpkgs.lib.nixosSystem { specialArgs = args; modules = [ - ./systems/nemesis + ./systems/nemesis.nix # Add the home-manager user - home-manager.nixosModules.home-manager { - # Don't instantiate the home-manager instance of nixpkgs - home-manager.useGlobalPkgs = true; - # Install user packages to /etc/profiles - home-manager.useUserPackages = true; - # Pass inputs to home-manager configurations - home-manager.extraSpecialArgs = args; - # Add the users - home-manager.users.rafiq.imports = [ - ./users/rafiq - ]; - } +# home-manager.nixosModules.home-manager { +# # Don't instantiate the home-manager instance of nixpkgs +# home-manager.useGlobalPkgs = true; +# # Install user packages to /etc/profiles +# home-manager.useUserPackages = true; +# # Pass inputs to home-manager configurations +# home-manager.extraSpecialArgs = args; +# # Add the users +# home-manager.users.rafiq.imports = [ +# ./users/rafiq.nix +# ]; +# } ]; }; }; # Packages - packages.x86_64-linux.nvf = (inputs.nvf.lib.neovimConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - modules = [ ./packages/nvf.nix ]; - }).neovim; +# packages.x86_64-linux.nvf = (inputs.nvf.lib.neovimConfiguration { +# pkgs = nixpkgs.legacyPackages.x86_64-linux; +# modules = [ ./packages/nvf.nix ]; +# }).neovim; }; inputs = { diff --git a/systems/nemesis/hardware-configuration.nix b/systems/hw-nemesis.nix similarity index 83% rename from systems/nemesis/hardware-configuration.nix rename to systems/hw-nemesis.nix index de72be3..21a3e4f 100644 --- a/systems/nemesis/hardware-configuration.nix +++ b/systems/hw-nemesis.nix @@ -12,22 +12,19 @@ boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; - boot.supportedFilesystems = [ "ntfs" ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/4d62fc8f-29d1-45a5-a980-50beea5ab892"; + { device = "/dev/disk/by-uuid/e5005ea6-6c5a-4ab3-9767-ce7772582024"; fsType = "ext4"; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/F3C4-BE50"; + { device = "/dev/disk/by-uuid/6BBE-0E70"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; }; - swapDevices = - [ { device = "/dev/disk/by-uuid/1fb29964-4a65-4cf4-9b45-9534d35845bc"; } - ]; + swapDevices = [ ]; # 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 diff --git a/systems/nemesis.nix b/systems/nemesis.nix new file mode 100644 index 0000000..6497212 --- /dev/null +++ b/systems/nemesis.nix @@ -0,0 +1,100 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hw-nemesis.nix +# ../modules/networking.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nemesis"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Asia/Singapore"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_SG.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_SG.UTF-8"; + LC_IDENTIFICATION = "en_SG.UTF-8"; + LC_MEASUREMENT = "en_SG.UTF-8"; + LC_MONETARY = "en_SG.UTF-8"; + LC_NAME = "en_SG.UTF-8"; + LC_NUMERIC = "en_SG.UTF-8"; + LC_PAPER = "en_SG.UTF-8"; + LC_TELEPHONE = "en_SG.UTF-8"; + LC_TIME = "en_SG.UTF-8"; + }; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.rafiq = { + isNormalUser = true; + description = "rafiq"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; []; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + git + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + services.tailscale.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "24.11"; # Did you read the comment? + +} diff --git a/systems/nemesis/default.nix b/systems/nemesis/default.nix deleted file mode 100644 index ca04b62..0000000 --- a/systems/nemesis/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ../../modules/common.nix - ./hardware-configuration.nix - ../../scripts/hyprland-tty-launch.nix - ../../modules/nvidia.nix # Graphics settings for Nvidia GPUs - ../../modules/networking.nix # Common networking config - ../../modules/wm-hyprland.nix # Enable the hyprland wm - ]; - - networking.hostName = "nemesis"; - - # Allow nemesis to access files on the windows drive. - fileSystems."/mnt/windows" = - { device = "/dev/nvme0n1p3"; - fsType = "ntfs-3g"; - options = [ "rw" "uid=rafiq" ]; - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - firefox - koboldcpp - ]; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.11"; # Did you read the comment? - -} diff --git a/users/rafiq/default.nix b/users/rafiq.nix similarity index 100% rename from users/rafiq/default.nix rename to users/rafiq.nix From 1f8c24f0a873e3f05ed1fafdbd0ec60ba6618ef2 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Fri, 28 Feb 2025 19:24:21 +0800 Subject: [PATCH 2/3] rebase: add networking module back to system config --- systems/nemesis.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/nemesis.nix b/systems/nemesis.nix index 6497212..2b88a50 100644 --- a/systems/nemesis.nix +++ b/systems/nemesis.nix @@ -8,7 +8,7 @@ imports = [ # Include the results of the hardware scan. ./hw-nemesis.nix -# ../modules/networking.nix + ../modules/networking.nix ]; # Bootloader. @@ -87,7 +87,7 @@ # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. - networking.firewall.enable = false; + # networking.firewall.enable = false; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions From c75e2621640b4dd7883b2f83d3e1e283fc7a0c50 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Fri, 28 Feb 2025 19:52:31 +0800 Subject: [PATCH 3/3] rebase: add home config back in --- flake.nix | 32 ++++++++++++++++---------------- users/rafiq.nix | 14 +++++++------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/flake.nix b/flake.nix index af40d45..06435cb 100644 --- a/flake.nix +++ b/flake.nix @@ -20,27 +20,27 @@ ./systems/nemesis.nix # Add the home-manager user -# home-manager.nixosModules.home-manager { -# # Don't instantiate the home-manager instance of nixpkgs -# home-manager.useGlobalPkgs = true; -# # Install user packages to /etc/profiles -# home-manager.useUserPackages = true; -# # Pass inputs to home-manager configurations -# home-manager.extraSpecialArgs = args; -# # Add the users -# home-manager.users.rafiq.imports = [ -# ./users/rafiq.nix -# ]; -# } + home-manager.nixosModules.home-manager { + # Don't instantiate the home-manager instance of nixpkgs + home-manager.useGlobalPkgs = true; + # Install user packages to /etc/profiles + home-manager.useUserPackages = true; + # Pass inputs to home-manager configurations + home-manager.extraSpecialArgs = args; + # Add the users + home-manager.users.rafiq.imports = [ + ./users/rafiq.nix + ]; + } ]; }; }; # Packages -# packages.x86_64-linux.nvf = (inputs.nvf.lib.neovimConfiguration { -# pkgs = nixpkgs.legacyPackages.x86_64-linux; -# modules = [ ./packages/nvf.nix ]; -# }).neovim; + packages.x86_64-linux.nvf = (inputs.nvf.lib.neovimConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ ./packages/nvf.nix ]; + }).neovim; }; inputs = { diff --git a/users/rafiq.nix b/users/rafiq.nix index 9eb22c6..fa6251e 100644 --- a/users/rafiq.nix +++ b/users/rafiq.nix @@ -2,13 +2,13 @@ { imports = [ - ../../modules/home-git.nix # git specific configs - ../../modules/home-tmux.nix # tmux specific configs (might move this) - ../../modules/home-sh.nix # bash and other shell specific configs - ../../modules/home-wm.nix # window manager configs - ../../modules/home-editor.nix # editor specific configs - ../../modules/home-terminal.nix # terminal emulator configs - ../../modules/home-utils.nix # miscellaneous utilities + ../modules/home-git.nix # git specific configs + ../modules/home-tmux.nix # tmux specific configs (might move this) + ../modules/home-sh.nix # bash and other shell specific configs + ../modules/home-wm.nix # window manager configs + ../modules/home-editor.nix # editor specific configs + ../modules/home-terminal.nix # terminal emulator configs + ../modules/home-utils.nix # miscellaneous utilities ]; # This enables using home-manager from the command line.