aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps.nix16
-rw-r--r--boot.nix64
-rw-r--r--configuration.nix164
-rw-r--r--environment.nix12
-rw-r--r--home.nix29
-rw-r--r--nvidia.nix26
-rw-r--r--services.nix31
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";
+ };
+}