diff --git a/flake.lock b/flake.lock index aaca325..112196d 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,27 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1686049354, + "narHash": "sha256-yvMTBhMd+p2JzlxXFE/TFyVog+yzOL2MuLkmLsSXWe8=", + "owner": "nix-community", + "repo": "NUR", + "rev": "a27b5b81ea6dcf5a69df5a7921ad833c2ea48b33", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "disko": "disko", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nur": "nur" } } }, diff --git a/flake.nix b/flake.nix index 7ee5e64..77941be 100644 --- a/flake.nix +++ b/flake.nix @@ -1,4 +1,4 @@ -{ description = "Fully Declarative and Reproducible System"; +{ description = "Fully Declarative YOLO"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; @@ -26,20 +26,19 @@ }; }; - me = "bryan"; - desktop = "socratesV2"; - in - { nixosConfigurations.${desktop} = nixpkgs.lib.nixosSystem { + { nixosConfigurations.desktop = nixpkgs.lib.nixosSystem { inherit pkgs; + inherit system; modules = [ - (import ./sysConfig { inherit me desktop; }) + ./sysConfig/desktop nur.nixosModules.nur disko.nixosModules.disko - home-manager.nixosModules.home-manager{ + home-manager.nixosModules.home-manager + { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.${me} = import ./homeConfig/home.nix { inherit me; }; + home-manager.users.bryan = import ./homeConfig/home.nix; } ]; }; diff --git a/homeConfig/home.nix b/homeConfig/home.nix index 72469ee..f86b950 100644 --- a/homeConfig/home.nix +++ b/homeConfig/home.nix @@ -1,16 +1,14 @@ -{ me, config, ... }: +{ pkgs, config, ... }: -{ +{ + programs.home-manager.enable = true; + imports = ./modules/default.nix; home.stateVersion = "22.11"; - home = { - username = me; - homeDirectory = "/home/${me}"; - }; + home.username = "bryan"; + home.homeDirectory = "/home/bryan"; - imports = ./modules; - - config.modules = { + modules = { gui.enable = true; browsers.enable = true; alacritty.enable = true; diff --git a/homeConfig/modules/alacritty/default.nix b/homeConfig/modules/alacritty/default.nix index e2a7aad..b872b15 100644 --- a/homeConfig/modules/alacritty/default.nix +++ b/homeConfig/modules/alacritty/default.nix @@ -7,7 +7,7 @@ let in { options.modules.alacritty = { enable = mkEnableOption "alacritty"; }; config = mkIf cfg.enable { - programs.alacritty = import ./alacritty.nix { inherit pkgs; }; + programs.alacritty = import ./config/alacritty.nix { inherit pkgs; }; home.packages = with pkgs; [ terminus-nerdfont diff --git a/homeConfig/modules/bash/default.nix b/homeConfig/modules/bash/default.nix index 5b131d1..9ff39b0 100644 --- a/homeConfig/modules/bash/default.nix +++ b/homeConfig/modules/bash/default.nix @@ -13,8 +13,8 @@ in initExtra = import ./config/prompt.nix; profileExtra = import ./config/bashprofile.nix; - bashrcExtra = import ./bashrc.nix; - shellAliases = import ./alias.nix; + bashrcExtra = import ./config/bashrc.nix; + shellAliases = import ./config/alias.nix; }; services.gpg-agent.enableBashIntegration = true; diff --git a/homeConfig/modules/browsers/default.nix b/homeConfig/modules/browsers/default.nix index 33704b8..54e9766 100644 --- a/homeConfig/modules/browsers/default.nix +++ b/homeConfig/modules/browsers/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, config, me, ... }: +{ pkgs, lib, config, ... }: with lib; let @@ -9,7 +9,7 @@ in config = mkIf cfg.enable { programs.firefox = { enabled = true; - profiles.${me} = import (config/${me}.nix) { inherit pkgs; }; + profiles.bryan = import config/bryan.nix { inherit pkgs; }; }; home.packages = [ diff --git a/homeConfig/modules/default.nix b/homeConfig/modules/default.nix index 11196be..a0376c6 100644 --- a/homeConfig/modules/default.nix +++ b/homeConfig/modules/default.nix @@ -1 +1,15 @@ -{ imports = ./.; } +{ + imports = [ + ./alacritty/default.nix + ./bash/default.nix + ./browsers/default.nix + ./corn/default.nix + ./fun/default.nix + ./git/default.nix + ./gpg/default.nix + ./gui/default.nix + ./neovim/default.nix + ./security/default.nix + ./utils/default.nix + ]; +} diff --git a/homeConfig/modules/neovim/default.nix b/homeConfig/modules/neovim/default.nix index 0f9863d..91a2cc4 100644 --- a/homeConfig/modules/neovim/default.nix +++ b/homeConfig/modules/neovim/default.nix @@ -13,7 +13,7 @@ in vimAlias = true; extraLuaConfig = import ./config/init.nix; - generatedConfigs.lua = import ./config/config.nix; + generatedConfigs = {lua = import ./config/config.nix;}; plugins = import ./config/plugins.nix { inherit pkgs; }; extraPackages = import ./config/lsp.nix { inherit pkgs; }; }; diff --git a/sysConfig/desktop/hardware.nix b/sysConfig/desktop/hardware.nix index d591336..7922d74 100644 --- a/sysConfig/desktop/hardware.nix +++ b/sysConfig/desktop/hardware.nix @@ -53,7 +53,7 @@ }; # Virtualisation - nix.system-features = "kvm"; + nix.settings.system-features = "kvm"; environment.systemPackages = pkgs.virt-manager; virtualisation.libvirtd = { diff --git a/sysConfig/desktop/system.nix b/sysConfig/desktop/system.nix index b235c60..80e5371 100644 --- a/sysConfig/desktop/system.nix +++ b/sysConfig/desktop/system.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, desktop, me, ... }: +{ pkgs, lib, ... }: { system.stateVersion = "22.11"; environment.defaultPackages = [ ]; @@ -8,10 +8,12 @@ extraOptions = "experimental-features = nix-command flakes"; settings = { auto-optimise-store = true; + trusted-users = [ "bryan" ]; }; gc = { - automatics = true; - options = "weekly"; + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; }; }; environment.systemPackages = with pkgs; [ nix-init pavucontrol ]; @@ -30,10 +32,10 @@ }; # Users - users.users.${me} = { + users.users.bryan = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "home-manager" "input" "video" "audio" "kvm" "libvirtd" "docker" ]; - openssh.authorizedKeys.keyFiles = [ /etc/ssh/authorized_keys ]; + openssh.authorizedKeys.keyFiles = [ /home/bryan/.ssh/authorized_keys ]; }; security.sudo = { @@ -48,7 +50,7 @@ cron = { enable = true; systemCronJobs = [ - "0 0 * * * ${me} /home/${me}/Documents/scripts/lnbackup_script.sh" + "0 0 * * * bryan /home/bryan/Documents/scripts/lnbackup_script.sh" ]; }; }; @@ -77,7 +79,7 @@ # Networking networking = { - hostName = desktop; + hostName = "socratesV2"; useDHCP = lib.mkDefault true; networkmanager.enable = true; firewall = { @@ -89,6 +91,10 @@ services.openssh = { enable = true; startWhenNeeded = true; - settings.PasswordAuthentication = false; + settings = { + permitRootLogin = false; + X11Forwarding = true; + PasswordAuthentication = false; + }; }; }