summaryrefslogtreecommitdiff
path: root/machines/khad/default.nix
diff options
context:
space:
mode:
authorDevin Finlinson <devin.finlinson@pm.me>2025-02-04 02:39:06 -0700
committerDevin Finlinson <devin.finlinson@pm.me>2025-02-04 02:39:06 -0700
commit6c7cbf26418e228697a419e69c973e9c67cc699e (patch)
tree59a1575dd67cf7d47e2a43440d489c451cf01764 /machines/khad/default.nix
parent6616a92152c5f887fa3b0e4d3db2498af0d36a66 (diff)
mega cleanup of flake.nix using Misterio77 config as reference
Diffstat (limited to 'machines/khad/default.nix')
-rw-r--r--machines/khad/default.nix174
1 files changed, 174 insertions, 0 deletions
diff --git a/machines/khad/default.nix b/machines/khad/default.nix
new file mode 100644
index 0000000..f41eab8
--- /dev/null
+++ b/machines/khad/default.nix
@@ -0,0 +1,174 @@
+# 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.
+ ./hardware-configuration.nix
+
+ ../../modules/users/defin.nix
+ ../../modules/users/root.nix
+
+ ../../modules/nixos/hyprland.nix
+
+ ../../modules/nixos/bluetooth.nix
+ ../../modules/nixos/environment.nix
+ ../../modules/nixos/kde-connect.nix
+ ../../modules/nixos/nix-common.nix
+ ../../modules/nixos/services.nix
+ ../../modules/nixos/tailscale.nix
+ ../../modules/nixos/steam.nix
+ # ../../modules/nixos/sway.nix
+ ../../modules/nixos/system-packages.nix
+ ];
+
+ # Use the systemd-boot EFI boot loader.
+ boot = {
+ loader = {
+ systemd-boot.enable = true;
+ efi.canTouchEfiVariables = true;
+ };
+ kernelPackages = pkgs.linuxPackages_latest; # use latest kernel
+ };
+ hardware.onlykey.enable = true;
+
+ networking.hostName = "khad"; # 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.
+
+ nixpkgs = {
+ # texlive.combined.scheme-medium;
+ system = "x84_64-linux";
+ config.allowUnfree = true;
+ };
+
+ # services.xserver.videoDrivers = [ "nvidia" ];
+ services.displayManager.sddm.autoNumlock = true;
+ hardware.graphics = {
+ # enable = true;
+ enable32Bit = true;
+ };
+
+ environment.shellInit = ''export NIXPATH="/nix/var/nix/profiles/per-user/$USER/channels:nixos-config=/etc/nixos/machines/khad/configuration.nix"'';
+
+ # Set your time zone.
+ time.timeZone = "America/Denver";
+
+ # 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";
+
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "en_US.UTF-8";
+ LC_IDENTIFICATION = "en_US.UTF-8";
+ LC_MEASUREMENT = "en_US.UTF-8";
+ LC_MONETARY = "en_US.UTF-8";
+ LC_NAME = "en_US.UTF-8";
+ LC_NUMERIC = "en_US.UTF-8";
+ LC_PAPER = "en_US.UTF-8";
+ LC_TELEPHONE = "en_US.UTF-8";
+ LC_TIME = "en_US.UTF-8";
+ };
+
+ # console = {
+ # font = "Lat2-Terminus16";
+ # keyMap = "us";
+ # useXkbConfig = true; # use xkbOptions in tty.
+ # };
+
+ # # Enable the X11 windowing system.
+ services.xserver.enable = true;
+
+
+ # # Enable the Plasma 6 Desktop Environment.
+ services.displayManager.sddm.enable = true;
+ services.desktopManager.plasma6.enable = true;
+
+
+ # Configure keymap in X11
+ services.xserver.xkb.layout = "us";
+ # services.xserver.xkbOptions = "eurosign:e,caps:escape";
+
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+
+ # Enable sound.
+ # sound.enable = true;
+ security.rtkit.enable = true; #not sure what this does
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use Jack applications, uncomment this
+ jack.enable = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ # # wineWowPackages.waylandFull
+ # # wine
+ # # docker
+ android-tools
+ adbfs-rootless
+ ];
+ virtualisation.docker = {
+ enable = true;
+ storageDriver = "btrfs";
+ rootless = {
+ enable = true;
+ setSocketVariable = true;
+ };
+ };
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ # services.xserver.libinput.enable = true;
+
+
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ programs = {
+ wireshark = {
+ enable = true;
+ package = pkgs.wireshark;
+ };
+ light.enable = true;
+ mtr.enable = true;
+ gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ };
+ };
+
+ # List services that you want to enable:
+
+ # Enable the OpenSSH daemon.
+ services.openssh.enable = true;
+
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ # networking.firewall.enable = false;
+
+ # 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 = "23.05"; # Did you read the comment?
+
+}
+