diff options
| -rw-r--r-- | apps.nix | 16 | ||||
| -rw-r--r-- | boot.nix | 64 | ||||
| -rw-r--r-- | configuration.nix | 164 | ||||
| -rw-r--r-- | environment.nix | 12 | ||||
| -rw-r--r-- | home.nix | 29 | ||||
| -rw-r--r-- | nvidia.nix | 26 | ||||
| -rw-r--r-- | services.nix | 31 |
7 files changed, 185 insertions, 157 deletions
diff --git a/apps.nix b/apps.nix new file mode 100644 index 0000000..35a6bcc --- /dev/null +++ b/apps.nix @@ -0,0 +1,16 @@ +{ config, pkgs, ... }: +{ + # $ nix search wget + environment.systemPackages = with pkgs; [ + vscode + discord + localsend + bitwarden + jetbrains.pycharm-professional + jetbrains.clion + ]; + + # for Localsend + networking.firewall.allowedTCPPorts = [ 53317 ]; + networking.firewall.allowedUDPPorts = [ 53317 ]; +} diff --git a/boot.nix b/boot.nix new file mode 100644 index 0000000..05a7582 --- /dev/null +++ b/boot.nix @@ -0,0 +1,64 @@ +{ config, pkgs, ... }: +{ + fileSystems."/boot".device = "/dev/nvme0n1p6"; + boot.loader = { + grub = { + enable = true; + efiSupport = true; + devices = ["nodev"]; + useOSProber = true; + extraEntries = '' + GRUB_SAVEDEFAULT=true + menuentry "Windows" { + insmod part_gpt + insmod fat + insmod search_fs_uuid + insmod chain + chainloader /EFI/Microsoft/Boot/bootmgfw.efi + } + menuentry "Reboot" { + reboot + } + menuentry "Poweroff" { + halt + } + ''; + default = "saved"; + theme = pkgs.stdenv.mkDerivation { + pname = "distro-grub-themes"; + version = "3.1"; + src = pkgs.fetchFromGitHub { + owner = "AdisonCavani"; + repo = "distro-grub-themes"; + rev = "v3.1"; + hash = "sha256-ZcoGbbOMDDwjLhsvs77C7G7vINQnprdfI37a9ccrmPs="; + }; + installPhase = "cp -r customize/hp $out"; + }; + }; + efi.canTouchEfiVariables = true; + systemd-boot.enable = false; + }; + + system.activationScripts.diff = { + supportsDryActivation = true; + text = '' + ${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig" + ''; + }; + + time.timeZone = "Asia/Kolkata"; + time.hardwareClockInLocalTime = true; + i18n.defaultLocale = "en_IN"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_IN"; + LC_IDENTIFICATION = "en_IN"; + LC_MEASUREMENT = "en_IN"; + LC_MONETARY = "en_IN"; + LC_NAME = "en_IN"; + LC_NUMERIC = "en_IN"; + LC_PAPER = "en_IN"; + LC_TELEPHONE = "en_IN"; + LC_TIME = "en_IN"; + }; +} diff --git a/configuration.nix b/configuration.nix index 6daddfc..86ac049 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,173 +1,23 @@ { config, pkgs, ... }: -let unstable = import <nixos-unstable> { config.allowUnfree = true; }; -in { +{ imports = [ ./hardware-configuration.nix + ./boot.nix + ./services.nix + ./nvidia.nix + ./home.nix + ./environment.nix + ./apps.nix <home-manager/nixos> ]; - hardware.graphics.enable = true; - hardware.nvidia = { - modesetting.enable = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; - nvidiaSettings = true; - open = true; - }; - boot.kernelParams = [ "acpi_backlight=none" ]; - boot.initrd.kernelModules = [ "nvidia" ]; - boot.loader = { - grub = { - enable = true; - efiSupport = true; - devices = ["nodev"]; - useOSProber = true; - extraEntries = '' - GRUB_SAVEDEFAULT=true - menuentry "Windows" { - insmod part_gpt - insmod fat - insmod search_fs_uuid - insmod chain - chainloader /EFI/Microsoft/Boot/bootmgfw.efi - } - menuentry "Reboot" { - reboot - } - menuentry "Poweroff" { - halt - } - ''; - default = "saved"; - theme = pkgs.stdenv.mkDerivation { - pname = "distro-grub-themes"; - version = "3.1"; - src = pkgs.fetchFromGitHub { - owner = "AdisonCavani"; - repo = "distro-grub-themes"; - rev = "v3.1"; - hash = "sha256-ZcoGbbOMDDwjLhsvs77C7G7vINQnprdfI37a9ccrmPs="; - }; - installPhase = "cp -r customize/hp $out"; - }; - }; - efi.canTouchEfiVariables = true; - systemd-boot.enable = false; - }; - - system.activationScripts.diff = { - supportsDryActivation = true; - text = '' - ${pkgs.nvd}/bin/nvd --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig" - ''; - }; networking.hostName = "aargh-omen"; networking.networkmanager.enable = true; - time.timeZone = "Asia/Kolkata"; - time.hardwareClockInLocalTime = true; - i18n.defaultLocale = "en_IN"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_IN"; - LC_IDENTIFICATION = "en_IN"; - LC_MEASUREMENT = "en_IN"; - LC_MONETARY = "en_IN"; - LC_NAME = "en_IN"; - LC_NUMERIC = "en_IN"; - LC_PAPER = "en_IN"; - LC_TELEPHONE = "en_IN"; - LC_TIME = "en_IN"; - }; - - services.xserver.enable = true; - services.xserver.videoDrivers = [ "nvidia" ]; - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - services.printing.enable = true; - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - services.ollama = { - enable = true; - acceleration = "cuda"; - }; - users.users.aargh = { - isNormalUser = true; - description = "Aargh"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; []; - shell = pkgs.fish; - }; - programs.fish.enable = true; - home-manager.users.aargh = { pkgs, ... }: { - programs.firefox.enable = true; - home.stateVersion = "25.05"; - }; - home-manager.backupFileExtension = "hm-backup"; - nixpkgs.config.allowUnfree = true; - nixpkgs.config.cudaSupport = true; nix.settings.experimental-features = "nix-command flakes"; - # $ nix search wget - environment.systemPackages = with pkgs; [ - fastfetch - vim - wget - git - nmap - dust - vscode - discord - localsend - bitwarden - gnome-tweaks - jetbrains.pycharm-professional - jetbrains.clion - gnome-tweaks - unstable.neovim - home-manager - zoxide - starship - tmux - cmake - gcc - cargo - python311 - linuxPackages.nvidia_x11 - unstable.cudaPackages.cuda_cudart - unstable.cudaPackages.cudatoolkit - ]; - #fuck - located here for quick navigation - environment.sessionVariables = { - CUDA_HOME = "${pkgs.cudatoolkit}"; - CUDA_PATH = "${pkgs.cudatoolkit}"; - LD_LIBRARY_PATH = "${pkgs.linuxPackages.nvidia_x11}/lib"; - }; - - services.openssh.enable = true; - services.flatpak.enable = true; - services.mongodb = { - enable = true; - bind_ip = "127.0.0.1"; - package = pkgs.mongodb; - }; - - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 53317 ]; - networking.firewall.allowedUDPPorts = [ 53317 ]; - # 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 diff --git a/environment.nix b/environment.nix new file mode 100644 index 0000000..c3ed616 --- /dev/null +++ b/environment.nix @@ -0,0 +1,12 @@ +{ config, pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + gcc + cargo + python311 + zoxide + starship + tmux + cmake + ]; +} diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..85c47d4 --- /dev/null +++ b/home.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: +let unstable = import <nixos-unstable> { config.allowUnfree = true; }; +in { + users.users.aargh = { + isNormalUser = true; + description = "Aargh"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; []; + shell = pkgs.fish; + }; + programs.fish.enable = true; + home-manager.users.aargh = { pkgs, ... }: { + programs.firefox.enable = true; + home.stateVersion = "25.05"; + }; + home-manager.backupFileExtension = "hm-backup"; + + environment.systemPackages = with pkgs; [ + fastfetch + vim + wget + git + nmap + dust + gnome-tweaks + unstable.neovim + home-manager + ]; +} diff --git a/nvidia.nix b/nvidia.nix new file mode 100644 index 0000000..74dd63f --- /dev/null +++ b/nvidia.nix @@ -0,0 +1,26 @@ +{ config, pkgs, ... }: +let unstable = import <nixos-unstable> { config.allowUnfree = true; }; +in { + hardware.graphics.enable = true; + hardware.nvidia = { + modesetting.enable = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + nvidiaSettings = true; + open = true; + }; + boot.kernelParams = [ "acpi_backlight=none" ]; + boot.initrd.kernelModules = [ "nvidia" ]; + services.xserver.videoDrivers = [ "nvidia" ]; + nixpkgs.config.cudaSupport = true; + + environment.systemPackages = with pkgs; [ + linuxPackages.nvidia_x11 + unstable.cudaPackages.cuda_cudart + unstable.cudaPackages.cudatoolkit + ]; + environment.sessionVariables = { + CUDA_HOME = "${pkgs.cudatoolkit}"; + CUDA_PATH = "${pkgs.cudatoolkit}"; + LD_LIBRARY_PATH = "${pkgs.linuxPackages.nvidia_x11}/lib"; + }; +} diff --git a/services.nix b/services.nix new file mode 100644 index 0000000..626464f --- /dev/null +++ b/services.nix @@ -0,0 +1,31 @@ +{ config, pkgs, ... }: +{ + services.xserver.enable = true; + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + services.printing.enable = true; + services.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + services.openssh.enable = true; + services.flatpak.enable = true; + services.mongodb = { + enable = true; + bind_ip = "127.0.0.1"; + package = pkgs.mongodb; + }; + services.ollama = { + enable = true; + acceleration = "cuda"; + }; +} |
