diff --git a/flake.nix b/flake.nix index dfbdd6a..06435cb 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ nemesis = nixpkgs.lib.nixosSystem { specialArgs = args; modules = [ - ./systems/nemesis + ./systems/nemesis.nix # Add the home-manager user home-manager.nixosModules.home-manager { @@ -29,7 +29,7 @@ home-manager.extraSpecialArgs = args; # Add the users home-manager.users.rafiq.imports = [ - ./users/rafiq + ./users/rafiq.nix ]; } ]; 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..2b88a50 --- /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.nix b/users/rafiq.nix new file mode 100644 index 0000000..fa6251e --- /dev/null +++ b/users/rafiq.nix @@ -0,0 +1,26 @@ +{ self, pkgs, ... }: + +{ + 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 + ]; + + # This enables using home-manager from the command line. + programs.home-manager.enable = true; + + home = { + username = "rafiq"; + homeDirectory = "/home/rafiq"; + + # This defines the version home-manager + # was originally bulit against on this system. + # Do not change it. + stateVersion = "25.05"; + }; +} diff --git a/users/rafiq/default.nix b/users/rafiq/default.nix deleted file mode 100644 index 9eb22c6..0000000 --- a/users/rafiq/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ self, pkgs, ... }: - -{ - 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 - ]; - - # This enables using home-manager from the command line. - programs.home-manager.enable = true; - - home = { - username = "rafiq"; - homeDirectory = "/home/rafiq"; - - # This defines the version home-manager - # was originally bulit against on this system. - # Do not change it. - stateVersion = "25.05"; - }; -}