diff --git a/configuration.nix b/configuration.nix index 043bbb7..32811a7 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,13 +1,27 @@ # 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’). +# and in the NixOS manual (accessible by running 'nixos-help'). { config, pkgs, ... }: +let + # Fetch home-manager + home-manager = builtins.fetchTarball { + url = "https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz"; + }; + + # Fetch kickstart-nvim + kickstart-nvim = builtins.fetchGit { + url = "https://github.com/0xWheatyz/kickstart.nvim"; + ref = "master"; + }; +in { imports = [ # Include the results of the hardware scan. - /etc/nixos/hardware-configuration.nix + ./hardware-configuration.nix + # Import home-manager module + (import "${home-manager}/nixos") ]; ## Commented out as defined at the end of the page @@ -136,7 +150,36 @@ # 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 = "25.11"; # Did you read the comment? - + + # Home Manager Configuration + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.l-wyatt = import ./home.nix; + home-manager.sharedModules = [ + # Kickstart-nvim module + ({ config, lib, pkgs, ... }: { + options.programs.neovim-kickstart = { + enable = lib.mkEnableOption "kickstart.nvim configuration"; + }; + + config = lib.mkIf config.programs.neovim-kickstart.enable { + home.file.".config/nvim" = { + source = kickstart-nvim; + recursive = true; + }; + + home.packages = with pkgs; [ + neovim + ripgrep + fd + gcc + gnumake + git + ]; + }; + }) + ]; + ### Start of self configuration # Configure grub to provide ubuntu option boot.loader.grub.enable = true; diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..58855d1 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,39 @@ +# 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" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/2e63927a-129d-400a-b532-5e98dd1f53d0"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/6FAB-C1E3"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # 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.enp193s0f3u2.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/home.nix b/home.nix index c8880ba..f90a7ca 100644 --- a/home.nix +++ b/home.nix @@ -88,6 +88,15 @@ ''; }; + # Configure cursor theme + home.pointerCursor = { + gtk.enable = true; + x11.enable = true; + name = "Adwaita"; + package = pkgs.adwaita-icon-theme; + size = 24; + }; + # Manage your git configuration declaratively programs.git = { enable = true; @@ -172,8 +181,8 @@ proxyJump = "_JumpHost"; }; "git" = { - hostname = "10.0.0.9"; - port = 122; + hostname = "10.0.1.10"; + port = 22; user = "git"; }; };