From 26fce9d3d31237d2e81a0ba60f964b57b2b0d4c5 Mon Sep 17 00:00:00 2001 From: Matthew Bessette Date: Mon, 6 Apr 2026 23:19:08 -0400 Subject: [PATCH] stable? --- _hosts/.DS_Store | Bin 6148 -> 0 bytes _hosts/argon/README.md | 5 - _hosts/argon/configuration.nix | 139 --------------- _hosts/argon/hardware-configuration.nix | 42 ----- _hosts/argon/home.nix | 74 -------- _hosts/bromine/configuration.nix | 103 ----------- _hosts/bromine/hardware-configuration.nix | 41 ----- _hosts/bromine/home.nix | 55 ------ _hosts/caesium-wsl/configuration.nix | 59 ------- _hosts/caesium/GAMES.md | 10 -- _hosts/caesium/configuration.nix | 198 ---------------------- _hosts/caesium/hardware-configuration.nix | 71 -------- caesium.hardware.nix | 17 -- caesium.home.nix | 14 +- caesium.nixos.nix | 108 +++++++++++- flake.lock | 65 ++++--- flake.nix | 6 +- home-manager-modules/default.nix | 8 - home-manager-modules/firefox.nix | 31 ---- home-manager-modules/ssh.nix | 24 --- home-manager-modules/vscode.nix | 31 ---- home-manager-modules/zsh.nix | 22 --- nixos-modules/1password.nix | 19 --- nixos-modules/default.nix | 6 - nixos-modules/main-user.nix | 29 ---- 25 files changed, 153 insertions(+), 1024 deletions(-) delete mode 100644 _hosts/.DS_Store delete mode 100644 _hosts/argon/README.md delete mode 100644 _hosts/argon/configuration.nix delete mode 100644 _hosts/argon/hardware-configuration.nix delete mode 100644 _hosts/argon/home.nix delete mode 100644 _hosts/bromine/configuration.nix delete mode 100644 _hosts/bromine/hardware-configuration.nix delete mode 100644 _hosts/bromine/home.nix delete mode 100644 _hosts/caesium-wsl/configuration.nix delete mode 100644 _hosts/caesium/GAMES.md delete mode 100644 _hosts/caesium/configuration.nix delete mode 100644 _hosts/caesium/hardware-configuration.nix delete mode 100644 home-manager-modules/default.nix delete mode 100644 home-manager-modules/firefox.nix delete mode 100644 home-manager-modules/ssh.nix delete mode 100644 home-manager-modules/vscode.nix delete mode 100644 home-manager-modules/zsh.nix delete mode 100644 nixos-modules/1password.nix delete mode 100644 nixos-modules/default.nix delete mode 100644 nixos-modules/main-user.nix diff --git a/_hosts/.DS_Store b/_hosts/.DS_Store deleted file mode 100644 index 19600f7ad795a5b553b6296861611fd2304b45bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOHRWu5FJCI6_rp|s2fDqAS8MNQ-u@s0??02rKYJsg>CM`j!Up*!-_p80I@^7 z@t8JFh`K|7W+eML;~D$qsqxfAWV(xChp0tF4K&8u4!UoQ=ed<^!+SW{xHV?eai=#( zlX)pt9jbsT@cR_tZ+D9>=!(XaQsMjEuZOcq8pr)<+K0FC{Bqd7nLL~pBZg}t=9l>s z!XlmO)W`lQB{ZQKjlwfz@2(t?=kfHu!e; z{)hso*=&ubp!TYODxeB172xwBLSwWZGeLKBpmSFMU=40(7`qw(jMxFR9y39BU`A4b zl4|@F!$>;(k&m+;GeJow<95b6erMxvD8^SH6S;6QR#1CYKotlT*p$Z>*Z;HX`+u0E zPpW__@UIjwwYV2|@k+k7mR^o)ZG?7?#>R1(pi4pL%ds19DQ=@V!(7Azp!Jvu!UNMk N0!{|)RDmB=;1kZEl0^Uj diff --git a/_hosts/argon/README.md b/_hosts/argon/README.md deleted file mode 100644 index 142d34f..0000000 --- a/_hosts/argon/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Hardware - -## Thunderbolt -Device ID (0-0): d1cc8780-a003-c6ad-ffff-ffffffffffff -Device ID (1-0): 64078780-21bf-3488-ffff-ffffffffffff \ No newline at end of file diff --git a/_hosts/argon/configuration.nix b/_hosts/argon/configuration.nix deleted file mode 100644 index e9d4d1b..0000000 --- a/_hosts/argon/configuration.nix +++ /dev/null @@ -1,139 +0,0 @@ -{ config, pkgs, inputs, nix, system, ... }: - -{ - imports = [ - ./hardware-configuration.nix - inputs.home-manager.nixosModules.default - ../../nixos-modules - ]; - - # 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.11"; # Did you read the comment? - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - boot.initrd.luks.devices."luks-e9ee8166-a569-4bfc-9ada-fb2b718d9ad5".device = "/dev/disk/by-uuid/e9ee8166-a569-4bfc-9ada-fb2b718d9ad5"; - networking.hostName = "argon"; # 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 = "America/New_York"; - - # 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"; - }; - - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Thunderbolt Controller - services.hardware.bolt.enable = true; - - # Configure keymap in X11 - services.xserver = { - layout = "us"; - xkbVariant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - 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; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - ########### - # MUTABLE # - ########### - - home-manager = { - extraSpecialArgs = { inherit inputs; inherit system; }; - backupFileExtension = "backup"; - users.mbessette = import ./home.nix; - }; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # Kernel Tools - pciutils - plasma5Packages.plasma-thunderbolt - - # Cli - nodejs_22 - vim - ]; - - ################## - # CUSTOM MODULES # - ################## - - main-user.enable = true; - main-user.userName = "mbessette"; - - _1password.enable = true; - - ############ - # PROGRAMS # - ############ - - programs.zsh.enable = true; - virtualisation.docker.enable = true; - - ############ - # SERVICES # - ############ - - services.fwupd.enable = true; - - # ... -} diff --git a/_hosts/argon/hardware-configuration.nix b/_hosts/argon/hardware-configuration.nix deleted file mode 100644 index 6b3720d..0000000 --- a/_hosts/argon/hardware-configuration.nix +++ /dev/null @@ -1,42 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/1647a4ac-27a4-4410-bf17-58f3ea762251"; - fsType = "ext4"; - }; - - boot.initrd.luks.devices."luks-82108119-4645-4508-8f48-466041adbb60".device = "/dev/disk/by-uuid/82108119-4645-4508-8f48-466041adbb60"; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/69FE-9A31"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/18cdfd30-cb27-4096-a6e4-ff1fcdc09b55"; } - ]; - - # 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 - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/_hosts/argon/home.nix b/_hosts/argon/home.nix deleted file mode 100644 index 4de0b68..0000000 --- a/_hosts/argon/home.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ config, pkgs, inputs, ... }: - -{ - imports = [ - ../../home-manager-modules - ]; - - firefox.enable = true; - ssh.enable = true; - vscode.enable = true; - zsh.enable = true; - - home.username = "mbessette"; - home.homeDirectory = "/home/mbessette"; - home.stateVersion = "24.05"; # Please read the comment before changing. - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = with pkgs; [ - bruno - dbeaver-bin - moonlight-qt - signal-desktop - steam - ]; - - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - - home.sessionVariables = { - EDITOR = "vim"; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; - programs.git = { - enable = true; - userEmail = "blade30912@gmail.com"; - userName = "Matthew Bessette"; - }; - - programs.direnv = { - enable = true; - enableZshIntegration = true; - nix-direnv.enable = true; - }; - - nixpkgs = { - config.allowUnfreePredicate = pkg: - builtins.elem (pkgs.lib.getName pkg) [ - "1password-gui" - "1password" - "vscode" - "vscode-extension-ms-vsliveshare-vsliveshare" - "onepassword-password-manager" - "vscode-extension-ms-vscode-remote-remote-ssh" - "steam" - "steam-original" - ]; - }; -} diff --git a/_hosts/bromine/configuration.nix b/_hosts/bromine/configuration.nix deleted file mode 100644 index 0e58bad..0000000 --- a/_hosts/bromine/configuration.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ config, inputs, pkgs, system, ... }: - -{ - imports = [ - ./hardware-configuration.nix - ../../nixos-modules - inputs.home-manager.nixosModules.default - ]; - - # 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.11"; # Did you read the comment? - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "bromine"; # 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 = "America/New_York"; - - # 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"; - }; - - # Configure keymap in X11 - services.xserver = { - layout = "us"; - xkbVariant = ""; - }; - - ########### - # MUTABLE # - ########### - - home-manager = { - extraSpecialArgs = { inherit inputs; inherit system; }; - backupFileExtension = "backup"; - users.mbessette = import ./home.nix; - }; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - earthly - git - nodejs_20 - vim - ]; - - ################## - # CUSTOM MODULES # - ################## - - main-user.enable = true; - main-user.userName = "mbessette"; - - ############ - # PROGRAMS # - ############ - - programs.zsh.enable = true; - - ############ - # SERVICES # - ############ - - # Enable the OpenSSH daemon. - services.openssh = { - enable = true; - }; - - virtualisation.docker.enable = true; -} diff --git a/_hosts/bromine/hardware-configuration.nix b/_hosts/bromine/hardware-configuration.nix deleted file mode 100644 index 7b56d1b..0000000 --- a/_hosts/bromine/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/3063e8b5-aadd-4bcc-99c7-141748dd69d8"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/01FA-418F"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/d26174b8-281e-493e-83f2-ea38b42af2fe"; } - ]; - - # 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 - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s13f0u1u2.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s13f0u2.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/_hosts/bromine/home.nix b/_hosts/bromine/home.nix deleted file mode 100644 index 3f09e9b..0000000 --- a/_hosts/bromine/home.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ config, pkgs, inputs, ... }: - -{ - imports = [ - ../../home-manager-modules - ]; - - firefox.enable = false; - ssh.enable = false; - vscode.enable = true; - zsh.enable = true; - - home.username = "mbessette"; - home.homeDirectory = "/home/mbessette"; - home.stateVersion = "24.05"; # Please read the comment before changing. - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = with pkgs; []; - - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - - home.sessionVariables = { - EDITOR = "vim"; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; - - nixpkgs = { - config.allowUnfreePredicate = pkg: - builtins.elem (pkgs.lib.getName pkg) [ - "1password-gui" - "1password" - "vscode" - "vscode-extension-ms-vsliveshare-vsliveshare" - "onepassword-password-manager" - "vscode-extension-ms-vscode-remote-remote-ssh" - ]; - }; -} diff --git a/_hosts/caesium-wsl/configuration.nix b/_hosts/caesium-wsl/configuration.nix deleted file mode 100644 index b439f56..0000000 --- a/_hosts/caesium-wsl/configuration.nix +++ /dev/null @@ -1,59 +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, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - -# NixOS-WSL specific options are documented on the NixOS-WSL repository: -# https://github.com/nix-community/NixOS-WSL - -{ config, lib, pkgs, ... }: - -{ - imports = [ - - ]; - - environment.systemPackages = with pkgs; [ - git - wget - ]; - - programs.zsh = { - enable = true; - enableCompletion = true; - # autosuggestion.enable = true; - syntaxHighlighting.enable = true; - shellAliases = { - ll = "ls -l"; - update = "sudo nixos-rebuild switch --flake ~/nixos#caesium-wsl"; - laws = "aws --endpoint=http://localhost:8081"; - dev = "nix develop -c $SHELL"; - nixos = "code ~/nixos"; - }; - histSize = 10000; - ohMyZsh = { - enable = true; - plugins = [ "git" ]; - theme = "robbyrussell"; - }; - }; - - programs.nix-ld = { - enable = true; - package = pkgs.nix-ld-rs; # only for NixOS 24.05 - }; - - users.defaultUserShell = pkgs.zsh; - - wsl.enable = true; - wsl.defaultUser = "nixos"; - - - # 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? - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/_hosts/caesium/GAMES.md b/_hosts/caesium/GAMES.md deleted file mode 100644 index f67a391..0000000 --- a/_hosts/caesium/GAMES.md +++ /dev/null @@ -1,10 +0,0 @@ -# World of Warcraft -- Bottles via Flatpak -``` -flatpak override --user --filesystem="/data/bravo" com.usebottles.bottles -``` -- C:\Program Files\World of Warcraft\_retail\WTF\Config.wtf -``` -SET rawMouseAccelerationEnable "0" -SET MouseNoRepositioning "1" -``` diff --git a/_hosts/caesium/configuration.nix b/_hosts/caesium/configuration.nix deleted file mode 100644 index 0539658..0000000 --- a/_hosts/caesium/configuration.nix +++ /dev/null @@ -1,198 +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, lib, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - - # Bootloader. - boot.loader.systemd-boot = { - enable = true; - }; - boot.loader.efi.canTouchEfiVariables = true; - boot.kernelPackages = pkgs.linuxPackages_latest; - boot.kernelModules = [ - "r8169" - ]; - - networking.hostName = "Caesium"; # Define your hostname - - hardware.graphics = { - enable = true; - }; - - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - # 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 = "America/New_York"; - - # 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"; - }; - - # Enable the X11 windowing system. - # You can disable this if you're only using the Wayland session. - services.xserver.enable = true; - services.xserver.videoDrivers = ["nvidia"]; - - ## https://discourse.nixos.org/t/drm-kernel-driver-nvidia-drm-in-use-nvk-requires-nouveau/42222/29 - hardware.nvidia = { - modesetting.enable = true; - powerManagement.enable = false; - powerManagement.finegrained = false; - nvidiaSettings = true; - open = false; - # package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - - # Enable the KDE Plasma Desktop Environment. - services.displayManager.sddm.enable = true; - services.desktopManager.plasma6.enable = true; - services.flatpak.enable = true; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound with pipewire. - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - 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; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - - virtualisation.containers.enable = true; - virtualisation = { - podman = { - enable = true; - dockerCompat = true; - defaultNetwork.settings.dns_enabled = true; - }; - }; - - nixpkgs.config.allowUnfree = true; - - ## https://www.reddit.com/r/NixOS/comments/1dl61a8/firefox_crashing_frequently_after_updating_flake/ - environment.sessionVariables.MOZ_ENABLE_WAYLAND = 0; - - environment.systemPackages = with pkgs; [ - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - git - gparted - openssl - earthly - ]; - - programs.firefox.enable = true; - - programs.steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - localNetworkGameTransfers.openFirewall = true; - }; - - programs.zsh = { - enable = true; - enableCompletion = true; - # autosuggestion.enable = true; - syntaxHighlighting.enable = true; - shellAliases = { - ll = "ls -l"; - update = "sudo nixos-rebuild switch --flake ~/nixos#caesium"; - laws = "aws --endpoint=http://localhost:8081"; - dev = "nix develop -c $SHELL"; - nixos = "code ~/.nixos"; - }; - histSize = 10000; - ohMyZsh = { - enable = true; - plugins = [ "git" ]; - theme = "robbyrussell"; - }; - }; - - users.defaultUserShell = pkgs.zsh; - users.users.mbessette = { - isNormalUser = true; - description = "Matthew Bessette"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [ - kdePackages.kate - vscode - _1password-gui - discord - ]; - }; - - # Future - Flatpak - # https://github.com/gmodena/nix-flatpak - - # 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; - - # 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/_hosts/caesium/hardware-configuration.nix b/_hosts/caesium/hardware-configuration.nix deleted file mode 100644 index 58f67c3..0000000 --- a/_hosts/caesium/hardware-configuration.nix +++ /dev/null @@ -1,71 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "thunderbolt" "usbhid" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/99fe114e-be1a-414b-893f-669bef13baeb"; - fsType = "ext4"; - }; - - fileSystems."/nix/store" = - { device = "/dev/disk/by-uuid/77fb07a2-68f7-4f4f-a4a0-d3bcdc83b98a"; - fsType = "btrfs"; - }; - - fileSystems."/var/lib" = - { device = "/dev/disk/by-uuid/05ccb595-f73e-4a00-a3f6-1fb537c9b2a3"; - fsType = "btrfs"; - }; - - fileSystems."/data/charlie" = - { device = "/dev/disk/by-uuid/cb29be2a-a6e8-4581-98fd-1648de77e9c1"; - fsType = "ext4"; - }; - - fileSystems."/data/bravo" = - { device = "/dev/disk/by-uuid/1259b0aa-3b6d-43c3-a45a-1073e82fb554"; - fsType = "ext4"; - }; - - fileSystems."/home" = - { device = "/dev/disk/by-uuid/23e4cffe-4f57-486b-9a9f-24e715838a4d"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/EC54-3580"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - fileSystems."/data/alpha" = - { device = "/dev/disk/by-uuid/465436bf-d997-4961-b577-2a91f9061e33"; - fsType = "ext4"; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/25377ac7-4a7a-4648-abe1-f65990145c54"; } - ]; - - # 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 - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp15s0u1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp8s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/caesium.hardware.nix b/caesium.hardware.nix index 1cafcbe..e2b9781 100644 --- a/caesium.hardware.nix +++ b/caesium.hardware.nix @@ -25,18 +25,6 @@ options = [ "subvol=@nix" ]; }; - fileSystems."/usr/local/steam-games" = - { device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92"; - fsType = "btrfs"; - options = [ "subvol=@steam" ]; - }; - - fileSystems."/usr/local/bottles" = - { device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92"; - fsType = "btrfs"; - options = [ "subvol=@bottles" ]; - }; - fileSystems."/boot" = { device = "/dev/disk/by-uuid/038C-E1E1"; fsType = "vfat"; @@ -48,11 +36,6 @@ fsType = "ext4"; }; - fileSystems."/usr/local/Projects" = - { device = "/dev/disk/by-uuid/bd31dc44-4bc0-4080-95c7-faee9ebc2b79"; - fsType = "ext4"; - }; - swapDevices = [ ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; diff --git a/caesium.home.nix b/caesium.home.nix index b79aa30..aae67ee 100644 --- a/caesium.home.nix +++ b/caesium.home.nix @@ -16,6 +16,7 @@ # Managed VS Code Extensions (The "Clean" Way) programs.vscode = { enable = true; + package = pkgs.vscode-fhs; profiles.default = { userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json); extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace; [ @@ -29,6 +30,9 @@ redhat.vscode-xml vscode-icons-team.vscode-icons typescriptteam.native-preview + mkhl.direnv + oxc.oxc-vscode + biomejs.biome ]; }; }; @@ -47,7 +51,7 @@ ]; initContent = '' - export SSH_AUTH_SOCK=~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock + export SSH_AUTH_SOCK=~/.1password/agent.sock # Auto-allow direnv for directories with flake.nix auto_allow_direnv() { @@ -73,15 +77,15 @@ home.sessionVariables = { # Points to the Homebrew location mentioned in your caveat - NPM_CONFIG_PREFIX = "/usr/local/Projects/.npm-global/.npm-global"; + NPM_CONFIG_PREFIX = "/mnt/Projects/.npm-global/.npm-global"; }; home.sessionPath = [ - "/usr/local/Projects/.npm-global/bin" + "/mnt/Projects/.npm-global/bin" ]; home.file.".npmrc".text = '' - prefix=/usr/local/Projects/.npm-global/.npm-global + prefix=/mnt/Projects/.npm-global/.npm-global '' ; home.file.".config/1Password/ssh/agent.toml".source = ./config.agent.toml; @@ -96,7 +100,7 @@ }; "*" = { extraOptions = { - "IdentityAgent" = "\"~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock\""; + "IdentityAgent" = "~/.1password/agent.sock"; }; }; }; diff --git a/caesium.nixos.nix b/caesium.nixos.nix index ce8ab4a..bb7ef24 100644 --- a/caesium.nixos.nix +++ b/caesium.nixos.nix @@ -12,9 +12,11 @@ # --- BOOTLOADER --- boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + boot.kernelParams = [ "usbcore.autosuspend=-1" ]; networking.hostName = "caesium"; networking.networkmanager.enable = true; + networking.interfaces.enp13s0.wakeOnLan.enable = true; # --- STORAGE & SSD OPTIMIZATION --- # Enable TRIM for SSD longevity @@ -23,6 +25,8 @@ nix.settings.auto-optimise-store = true; # --- SWAP STRATEGY --- + systemd.targets.hibernate.enable = false; + systemd.targets.hybrid-sleep.enable = false; # Primary Swap: Compressed RAM (Fastest) zramSwap.enable = true; zramSwap.memoryPercent = 25; @@ -37,6 +41,7 @@ users.groups.storage = {}; users.users.mbessette = { isNormalUser = true; + shell = pkgs.zsh; extraGroups = [ "wheel" "networkmanager" "storage" "docker" ]; }; @@ -45,37 +50,69 @@ # We only list them here if we want to add specific options like compression. fileSystems."/nix".options = [ "subvol=@nix" "compress=zstd" "noatime" ]; - fileSystems."/usr/local/bottles" = { + fileSystems."/mnt/bottles" = { device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92"; # Use the same Alpha UUID fsType = "btrfs"; options = [ "subvol=@bottles" "compress=zstd" "noatime" ]; }; + fileSystems."/mnt/steam-games" = { + device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92"; + fsType = "btrfs"; + options = [ "subvol=@steam" "compress=zstd" "noatime" ]; + }; + + fileSystems."/mnt/Projects" = { + device = "/dev/disk/by-uuid/bd31dc44-4bc0-4080-95c7-faee9ebc2b79"; + fsType = "ext4"; + }; + # --- SYSTEM PERMISSIONS --- systemd.tmpfiles.rules = [ - "d /usr/local/steam-games 0775 mbessette storage -" - "d /usr/local/bottles 0775 mbessette storage -" - "d /usr/local/Projects 0775 mbessette storage -" - "d /usr/local/docker-data 0770 root root -" + "d /mnt 0775 mbessette storage -" + "d /mnt/steam-games 0775 mbessette storage -" + "d /mnt/bottles 0775 mbessette storage -" + "d /mnt/Projects 0775 mbessette storage -" + "d /mnt/Projects/.docker-data 0770 root root -" ]; # --- VIRTUALIZATION --- virtualisation.docker.enable = true; virtualisation.docker.daemon.settings = { - data-root = "/usr/local/docker-data"; + data-root = "/mnt/Projects/.docker-data"; }; # --- AUDIO --- + security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; + + # Use pulse.rules to target specific apps or set global pulse defaults + extraConfig.pipewire-pulse."92-discord-fix" = { + "pulse.rules" = [ + { + matches = [ { "application.name" = "~Discord*"; } ]; + actions = { + update-props = { + "pulse.min.req" = "1024/48000"; + "pulse.default.req" = "1024/48000"; + "pulse.max.req" = "2048/48000"; + "pulse.min.quantum" = "1024/48000"; + }; + }; + } + ]; + }; }; # --- OS --- # This stays 'true' to enable the graphical pipeline services.xserver.enable = true; + services.xserver.videoDrivers = [ "amdgpu" ]; + services.flatpak.enable = true; # SDDM is the login manager; Plasma 6 is the desktop services.displayManager.sddm.enable = true; @@ -84,6 +121,18 @@ # Tell SDDM to use Wayland for the login screen itself (Ultra Modern) services.displayManager.sddm.wayland.enable = true; + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + liberation_ttf + fira-code + fira-code-symbols + mplus-outline-fonts.githubRelease + dina-font + proggyfonts + ]; + # Ensure hardware acceleration is ready for Wayland hardware.graphics = { enable = true; @@ -91,16 +140,57 @@ }; # --- PROGRAMS --- - programs.steam.enable = true; + programs.zsh.enable = true; + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + extraPackages = with pkgs; [ + gperftools + ]; + package = pkgs.steam.override { + extraBwrapArgs = [ + "--bind /mnt/steam-games /mnt/steam-games" + ]; + }; + }; + + programs._1password-gui = { + enable = true; + polkitPolicyOwners = [ "mbessette" ]; + }; + + # Biome config + environment.etc."biome.json".source = ./config.biome.json; + environment.etc."oxlintrc.json".source = ./config.oxlintrc.json; + environment.systemPackages = with pkgs; [ + ethtool vim git wget curl - bottles - _1password-gui + firefox + discord + wowup-cf + spotify + faugus-launcher ]; + services.flatpak.packages = [ + # "io.github.Faugus.faugus-launcher" + ]; + + services.flatpak.overrides = { + # "io.github.Faugus.faugus-launcher".Context.filesystems = [ + # "/mtn/bottles" + # ]; + }; + + programs.appimage = { + enable = true; + binfmt = true; + }; + # --- SYSTEM VERSION --- system.stateVersion = "24.11"; # Or current stable version } \ No newline at end of file diff --git a/flake.lock b/flake.lock index 6e850eb..ebfc49b 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1771992996, - "narHash": "sha256-Y/ijH/unOPxzUicbla6yT/14RJgubUWnY2I2A6Ast2Q=", + "lastModified": 1775037210, + "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "3bfa436c1975674ca465ce34586467be301ff509", + "rev": "06648f4902343228ce2de79f291dd5a58ee12146", "type": "github" }, "original": { @@ -50,11 +50,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1771992172, - "narHash": "sha256-XdaMLD1Gjev6i3tBeVFLORc1uLGNg9XbUf+LmxpGIYo=", + "lastModified": 1775361787, + "narHash": "sha256-0UY3G8QkoXFls5ThRIN6SBLUvf8E6t4d4hV7vj+f1pI=", "owner": "rycee", "repo": "nur-expressions", - "rev": "0002367df8f1b5d8089eaf0314ddc4afe73b271a", + "rev": "f8df1456eb3ddf837e3743f1cb5bcfc7730d29d2", "type": "gitlab" }, "original": { @@ -142,11 +142,11 @@ ] }, "locked": { - "lastModified": 1771851181, - "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", + "lastModified": 1775427330, + "narHash": "sha256-pm1SDX9Tj4eHWwjtDEqSU+5QZO7nHHqU8GT0JtbI9rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", + "rev": "7e7269ac064bea120d7b23daed432a096617872d", "type": "github" }, "original": { @@ -178,6 +178,22 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1767983141, + "narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "440818969ac2cbd77bfe025e884d0aa528991374", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nix-vscode-extensions": { "inputs": { "nixpkgs": [ @@ -185,11 +201,11 @@ ] }, "locked": { - "lastModified": 1773196667, - "narHash": "sha256-jFlVopQCfQumeZ6iXTJR/jrFvuS408ReTeLfggNiLLM=", + "lastModified": 1775358276, + "narHash": "sha256-TlWo4NYKlogZZ+EF1CCMz8J2L4Q+roBb8CE74ZPHBLE=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "931b0da906b0bf70162d84074c5085934e64750d", + "rev": "cffd84d2e0ca47c61dc15b941e2383ca56106e05", "type": "github" }, "original": { @@ -200,11 +216,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1771969195, - "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", + "lastModified": 1775203647, + "narHash": "sha256-6MWaMLXK9QMndI94CIxeiPafi3wuO+imCtK9tfhsZdw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", + "rev": "80afbd13eea0b7c4ac188de949e1711b31c2b5f0", "type": "github" }, "original": { @@ -220,11 +236,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1771563879, - "narHash": "sha256-vA5hocvdGhr+jfBN7A7ogeZqIz2qx01EixXwdVsQcnE=", + "lastModified": 1774972752, + "narHash": "sha256-DnLIpFxznohpLkIFs390uZ0gxwkVyhtknhKNu+lQJK8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "379d20c55f552e91fb9f3f0382e4a97d3f452943", + "rev": "d97e078f4788cddb8d11c3c99f72a4bb9ddec221", "type": "github" }, "original": { @@ -315,11 +331,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1770019141, - "narHash": "sha256-VKS4ZLNx4PNrABoB0L8KUpc1fE7CLpQXQs985tGfaCU=", + "lastModified": 1773734432, + "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cb369ef2efd432b3cdf8622b0ffc0a97a02f3137", + "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", "type": "github" }, "original": { @@ -331,11 +347,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1771848320, - "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "lastModified": 1775036866, + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fc6539b481e1d2569f25f8799236694180c0993", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", "type": "github" }, "original": { @@ -351,6 +367,7 @@ "firefox-addons": "firefox-addons", "home-manager": "home-manager", "mac-app-util": "mac-app-util", + "nix-flatpak": "nix-flatpak", "nix-vscode-extensions": "nix-vscode-extensions", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", diff --git a/flake.nix b/flake.nix index 6d1f683..c00a79f 100644 --- a/flake.nix +++ b/flake.nix @@ -24,10 +24,11 @@ url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; - + + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; }; - outputs = { self, darwin, nixpkgs, nixos-hardware, nixos-wsl, home-manager, mac-app-util, ... }@inputs: + outputs = { self, darwin, nixpkgs, nixos-hardware, nixos-wsl, home-manager, mac-app-util, nix-flatpak, ... }@inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -63,6 +64,7 @@ specialArgs = { inherit system; inherit inputs; }; modules = [ + nix-flatpak.nixosModules.nix-flatpak ./caesium.nixos.nix { nixpkgs.config.allowUnfree = true; diff --git a/home-manager-modules/default.nix b/home-manager-modules/default.nix deleted file mode 100644 index 8bb5e03..0000000 --- a/home-manager-modules/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./firefox.nix - ./ssh.nix - ./vscode.nix - ./zsh.nix - ]; -} \ No newline at end of file diff --git a/home-manager-modules/firefox.nix b/home-manager-modules/firefox.nix deleted file mode 100644 index 6b7d511..0000000 --- a/home-manager-modules/firefox.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, inputs, pkgs, ... }: - -let - cfg = config.firefox; - ext = inputs.firefox-addons.packages.${pkgs.system}; -in -{ - options = { - firefox.enable = lib.mkEnableOption "enable firefox module"; - }; - - config.programs.firefox = lib.mkIf cfg.enable { - enable = true; - profiles.default = { - - bookmarks = [ - { - name = "Wikipedia"; - tags = ["wiki"]; - url = "https://en.wikipedia.org"; - } - ]; - - extensions = [ - # ext."1password-x-password-manager" - ext.ublock-origin - ext.plasma-integration - ]; - }; - }; -} diff --git a/home-manager-modules/ssh.nix b/home-manager-modules/ssh.nix deleted file mode 100644 index 810e20d..0000000 --- a/home-manager-modules/ssh.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.ssh; - agentPath = "~/.1password/agent.sock"; -in -{ - options = { - ssh.enable = lib.mkEnableOption "enable ssh module"; - }; - - config.programs.ssh = lib.mkIf cfg.enable { - enable = true; - forwardAgent = true; - extraConfig = '' - Host * - IdentityAgent ${agentPath} - Host bromine - HostName 192.168.1.200 - User mbessette - ForwardAgent yes - ''; - }; -} diff --git a/home-manager-modules/vscode.nix b/home-manager-modules/vscode.nix deleted file mode 100644 index 178d6ea..0000000 --- a/home-manager-modules/vscode.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, nixpkgs, pkgs, ... }: - -let - cfg = config.vscode; -in -{ - - options = { - vscode.enable = lib.mkEnableOption "enable vscode module"; - }; - - config.programs.vscode = lib.mkIf cfg.enable { - enable = true; - - extensions = with pkgs.vscode-extensions; [ - bbenoist.nix - # rokoroku.vscode-theme-darcula - eamodio.gitlens - oderwat.indent-rainbow - prisma.prisma - ms-vsliveshare.vsliveshare - ms-vscode-remote.remote-ssh - ]; - - userSettings = { - editor.tabSize = 2; - terminal.integrated.defaultProfile.linux = "zsh"; - terminal.integrated.defaultProfile.osx = "zsh"; - }; - }; -} diff --git a/home-manager-modules/zsh.nix b/home-manager-modules/zsh.nix deleted file mode 100644 index 25c1362..0000000 --- a/home-manager-modules/zsh.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.zsh; -in -{ - options = { - zsh.enable = lib.mkEnableOption "enable zsh module"; - }; - - config.programs.zsh = lib.mkIf cfg.enable { - enable = true; - autosuggestion.enable = true; - syntaxHighlighting.enable = true; - oh-my-zsh.enable = true; - oh-my-zsh.theme = "robbyrussell"; - oh-my-zsh.plugins = [ - "git" - "npm" - ]; - }; -} diff --git a/nixos-modules/1password.nix b/nixos-modules/1password.nix deleted file mode 100644 index 1d7430b..0000000 --- a/nixos-modules/1password.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config._1password; -in -{ - options = { - _1password.enable = lib.mkEnableOption "enable _1password module"; - }; - - config.programs._1password = lib.mkIf cfg.enable { - enable = true; - }; - - config.programs._1password-gui = lib.mkIf cfg.enable { - enable = true; - polkitPolicyOwners = [ "mbessette" ]; - }; -} diff --git a/nixos-modules/default.nix b/nixos-modules/default.nix deleted file mode 100644 index f83009a..0000000 --- a/nixos-modules/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ./1password.nix - ./main-user.nix - ]; -} diff --git a/nixos-modules/main-user.nix b/nixos-modules/main-user.nix deleted file mode 100644 index bd04896..0000000 --- a/nixos-modules/main-user.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - cfg = config.main-user; -in -{ - options = { - main-user.enable = lib.mkEnableOption "enable user module"; - main-user.userName = lib.mkOption { - default = "mbessette"; - description = "username"; - }; - }; - - config = lib.mkIf cfg.enable { - users.groups.docker = {}; - users.users.${cfg.userName} = { - isNormalUser = true; - initialPassword = "12345"; - description = "main user"; - shell = pkgs.zsh; - extraGroups = [ "networkmanager" "wheel" "docker" ]; - packages = with pkgs; []; - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCxwgo35pdtk5dJKYBNLk723yvxmaJzN87KW3L2U82nY5HTYkMP6eoLN2S71RRN0deSE9//1xE3Pj1RXUates5Bq42csEa0s791VEC3zWdTlYeVaHbGgyRIOtNv6s5celwvqYZkMERbvbz/7cmTbOuQf5bdvopS7tofzj83s5iwOO8pmayavZ/xWSOfau07z0Sj2KuJSjqGkLtFD9P4o9BeNc3ZxghaMidZtpUNgSq/n06aph+dZOCLQpAQlQPIxqowGX/gQSailYId0SfAtuTesFvdgi9xkokia2erxv0RVbnblSZuucYoNdEm/sAX3bMxG9mLGxpyeIRfZjNynhzQh6jk4xLNsNszWVhmh49nrBADwmjXS6vO/QT8aaByKwJNmkPZxRMOquy18bZeEOl+Qya/Ui0g9diL3c6Mqmz4SwrWiROo70nFiInEMPAl/sXZSfpWsiFsAqqV2WyFKTNBzIM+XYE8wZf5h8thh8YuE3uGduR86u9HH7IU+fNCPR0=" - ]; - }; - }; -}