diff options
| author | Dylan <boss@tehbox.org> | 2025-09-16 16:43:55 +1200 |
|---|---|---|
| committer | Dylan <boss@tehbox.org> | 2025-09-16 16:43:55 +1200 |
| commit | d1395f9e6768551967f85128ccab19d12dec4c6f (patch) | |
| tree | 804d86634796edd5e378cb05ee2fda0a71d02497 /configuration.nix | |
| parent | c1b48e9f2bfc4ae0e48d0c8e35ad1f4a2189ec30 (diff) | |
| download | nixos-configuration-d1395f9e6768551967f85128ccab19d12dec4c6f.tar.gz nixos-configuration-d1395f9e6768551967f85128ccab19d12dec4c6f.zip | |
feat: added server configuration and setup sops-nix
Diffstat (limited to 'configuration.nix')
| -rw-r--r-- | configuration.nix | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index aa843dd..0000000 --- a/configuration.nix +++ /dev/null @@ -1,293 +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’). - -{ config, pkgs, inputs, ... }: - -let - nvidia-offload = pkgs.writeShellScriptBin "prime-run" '' -export __NV_PRIME_RENDER_OFFLOAD=1 -export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 -export __GLX_VENDOR_LIBRARY_NAME=nvidia -export __VK_LAYER_NV_optimus=NVIDIA_only -exec "$@" -''; -in -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - inputs.YATwm.nixosModules.default - #inputs.spicetify-nix.nixosModules.default - ]; - - - nix.nixPath = [ "/etc/nix/path" ]; - nix.registry.nixpkgs.flake = inputs.nixpkgs; - environment.etc."nix/path/nixpkgs".source = inputs.nixpkgs; - - # Use the systemd-boot EFI boot loader. - boot = { - loader.grub.enable = true; - loader.grub.device = "nodev"; - loader.grub.efiSupport = true; - loader.grub.enableCryptodisk = true; - # loader.grub.useOSProber = true; - loader.efi.canTouchEfiVariables = true; - kernel.sysctl."kernel.sysrq" = 502; - plymouth.enable = true; - }; - - - networking.hostName = "nixy"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - - # Set your time zone. - time.timeZone = "NZ"; - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - #keyMap = "us"; - #useXkbConfig = true; # use xkbOptions in tty. - }; - - nixpkgs.config.allowUnfree = true; - hardware.graphics.enable = true; - hardware.nvidia.modesetting.enable = true; - hardware.nvidia.open = true; - hardware.nvidia.prime = { - offload.enable = true; - - nvidiaBusId = "PCI:1:0:0"; - intelBusId = "PCI:5:0:0"; - }; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - - # Enable the X11 windowing system. - services.xserver = { - enable = true; - videoDrivers = [ "nvidia" ]; - - desktopManager = { - xterm.enable = false; - #default = "none"; - }; - - deviceSection = '' - Option "DRI" "2" - Option "TearFree" "true" - ''; - - windowManager.i3 = { - enable = true; - package = pkgs.i3-gaps; - }; - - windowManager.YATwm = { - enable = true; - package = inputs.YATwm.packages.x86_64-linux.YATwm; - }; - }; - programs.i3lock.enable = true; - programs.hyprland = { - enable = true; - #package = inputs.hyprland.packages.${pkgs.system}.hyprland; - #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; - }; - services.displayManager = { - #defaultSession = "none+i3"; - sddm.enable = true; - #sddm.theme = "catppuccin-macchiato"; - # ly.enable = true; - }; - # services.xserver.displayManager = { - # lightdm.enable = true; - # }; - - # Configure keymap in X11 - services.xserver.xkb.layout = "us"; - services.xserver.xkb.options = "caps:super"; - - - security.pam.services.swaylock = {}; - - # Enable CUPS to print documents. - services.printing.enable = true; - services.printing.drivers = [ pkgs.hplip ]; - services.avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - - # Enable sound. - #sound.enable = true; - services.pipewire = - { - enable = true; - alsa.enable = false; - alsa.support32Bit = false; - pulse.enable = true; - }; - - services.upower.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - security.rtkit.enable = true; - services.libinput = { - enable = true; - mouse = { - accelProfile = "flat"; - }; - }; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.boss = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" "input" "uinput" ]; - }; - - fonts.packages = with pkgs; [ - #(nerdfonts.override { fonts = [ "Cousine" ]; }) - nerd-fonts.cousine - ]; - - # List packages installed in system profile. To search, run: - # $ nix search wget - nix = { - settings = { - experimental-features = [ "nix-command" "flakes" ]; - auto-optimise-store = true; - - trusted-users = [ "boss" ]; - - substituters = [ - "https://cache.nixos.org" - ]; - - # trusted-public-keys = [ - # "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - # ]; - }; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than +5"; - }; - optimise.automatic = true; - }; - environment.systemPackages = with pkgs; - [ - nvidia-offload - vim - firefox - pfetch - neofetch - pinentry-gtk2 - git - ]; - documentation.dev.enable = true; - - hardware.graphics.enable32Bit = true; - - programs.steam = { - enable = true; - extraCompatPackages = with pkgs; [ - proton-ge-bin - ]; - }; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - programs.gnupg = { - agent = { - enable = true; - pinentryPackage = pkgs.pinentry-gtk2; - }; - # enableSSHSupport = true; - }; - - hardware.bluetooth.enable = true; # enables support for Bluetooth - hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot - services.blueman.enable = true; - - systemd.tmpfiles.rules = [ - "f /var/lib/systemd/linger/boss" # enables lingering - ]; - - - services.ratbagd.enable = true; - - stylix = { - enable = true; - - base16Scheme = "${pkgs.base16-schemes}/share/themes/material-palenight.yaml"; - - image = ./wallpaper.png; - targets.grub.useImage = true; - - opacity = { - terminal = 0.8; - }; - - polarity = "dark"; - - fonts = { - monospace = { - package = pkgs.nerd-fonts.cousine; - name = "Cousine Nerd Font Mono"; - }; - - serif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Serif"; - }; - - sansSerif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Sans"; - }; - - emoji = { - package = pkgs.noto-fonts-emoji; - name = "Noto Color Emoji"; - }; - - sizes = { - terminal = 10; - applications = 10; - desktop = 10; - popups = 10; - }; - }; - - cursor = { - package = pkgs.nordzy-cursor-theme; - name = "Nordzy-cursors"; - size = 20; - }; - }; - - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; - - # 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.05"; # Did you read the comment? - -} |
