diff options
| -rw-r--r-- | flake.nix | 5 | ||||
| -rw-r--r-- | home-manager/doretta.nix | 122 | ||||
| -rw-r--r-- | machines/doretta/configuration.nix | 1 | ||||
| -rw-r--r-- | modules/home-manager/virt-manager.nix | 8 | ||||
| -rw-r--r-- | modules/nixos/services.nix | 2 | ||||
| -rw-r--r-- | modules/users/defin.nix | 2 | ||||
| -rw-r--r-- | modules/users/jerry.nix | 22 |
7 files changed, 157 insertions, 5 deletions
@@ -276,8 +276,6 @@ ./machines/betsy/configuration.nix # lix-module.nixosModules.default - ./modules/nixos/hyprland.nix - ./modules/nixos/bluetooth.nix ./modules/nixos/nix-common.nix ./modules/nixos/environment.nix @@ -287,6 +285,7 @@ ./modules/users/defin.nix ./modules/users/root.nix + ./modules/users/jerry.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; @@ -313,7 +312,7 @@ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/default.nix; + home-manager.users.defin = import ./home-manager/doretta.nix; home-manager.extraSpecialArgs = { inherit inputs; }; } ]; diff --git a/home-manager/doretta.nix b/home-manager/doretta.nix new file mode 100644 index 0000000..3096662 --- /dev/null +++ b/home-manager/doretta.nix @@ -0,0 +1,122 @@ +{ config, pkgs, ... }: +# let +# home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz"; +# unstable = import <nixpkgs-unstable>{}; +# in +{ + imports = [ + ../modules/home-manager/starship.nix + ../modules/home-manager/btop.nix + ../modules/home-manager/helix.nix + ../modules/home-manager/shell.nix + ../modules/home-manager/bat.nix + ../modules/home-manager/virt-manager.nix + ]; + + nixpkgs = { + # texlive.combined.scheme-medium; + # system = "x84_64-linux"; + config.allowUnfree = true; + }; + + # home-manager.users.defin= { + home = { + # Home Manager needs a bit of information about you and the paths it should + # manage. + username = "defin"; + homeDirectory = "/home/defin"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + stateVersion = "23.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + packages = with pkgs; [ + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + pass + btop # better top + starship + eza # better ls + zoxide # better cd + broot # tree view files + procs # process view + gnupg + #helix plugins + # vadimcn.vscode-lldb + # yaml-language-server + # typescript-language-server + # rust-analyzer + # solargraph + # clangd + # vscode-json-language-server + # lua-language-server + # marksman + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + 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 + # ''; + }; + + + # You can also manage environment variables but you will have to manually + # source + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/defin/etc/profile.d/hm-session-vars.sh + # + # if you don't want to manage your shell through Home Manager. + sessionVariables = { + EDITOR = "hx"; + }; + }; + + programs = { + ssh.matchBlocks = { + serverAliveCountMax = 6; + serverAliveInterval = 30; + port = 2200; + "git.wormcar.gay" = { + user = "devinf"; + host = "git.wormcar.gay"; + port = 2200; + }; + }; + git = { + enable = true; + userName = "Devin Finlinson"; + userEmail = "devin.finlinson@pm.me"; + includes = [{path = "~/.gitconfig.local";}]; + extraConfig = { + core = {editor = "hx";}; + pull = {rebase = false;}; + }; + }; + + # Let Home Manager install and manage itself. + # home-manager.enable = true; + }; +} diff --git a/machines/doretta/configuration.nix b/machines/doretta/configuration.nix index 99dca37..0d20b83 100644 --- a/machines/doretta/configuration.nix +++ b/machines/doretta/configuration.nix @@ -22,6 +22,7 @@ virtualisation.libvirtd = { enable = true; }; + programs.virt-manager.enable = true; # Set your time zone. time.timeZone = "US/Mountain"; diff --git a/modules/home-manager/virt-manager.nix b/modules/home-manager/virt-manager.nix new file mode 100644 index 0000000..b8bb430 --- /dev/null +++ b/modules/home-manager/virt-manager.nix @@ -0,0 +1,8 @@ +{ inputs, ... }: { + dconf.settings = { + "org/virt-manager/virt-manager/connections" = { + autoconnect = ["qemu:///system"]; + uris = ["qemu:///system"]; + }; + }; +}
\ No newline at end of file diff --git a/modules/nixos/services.nix b/modules/nixos/services.nix index f7c22ba..daa07d7 100644 --- a/modules/nixos/services.nix +++ b/modules/nixos/services.nix @@ -32,7 +32,7 @@ # Enable CUPS to print documents. printing = { enable = true; - drivers = with pkgs; [ epson-escpr gutenprint ]; + drivers = with pkgs; [ epson-escpr2 epsonscan2 gutenprint ]; }; avahi = { enable = true; diff --git a/modules/users/defin.nix b/modules/users/defin.nix index 24863d6..8931187 100644 --- a/modules/users/defin.nix +++ b/modules/users/defin.nix @@ -7,7 +7,7 @@ users.defin = { isNormalUser = true; description = "Devin Finlinson"; - extraGroups = [ "wheel" "builders" "video" "input" "docker" "dialout" "wireshark" "networkmanager" ]; # (wheel) Enable ‘sudo’ for the user. + extraGroups = [ "wheel" "builders" "video" "input" "docker" "dialout" "wireshark" "networkmanager" "libvirtd" ]; # (wheel) Enable ‘sudo’ for the user. shell = pkgs.nushell; hashedPassword = "$6$UljPNAdxZ22lP3Bc$8VaEAacZxtXM3Zji2IA7Jf5fXs9pFnAVQff1d8IbfFOKCvjibceyopOAjRXa8lXtpOSJgPW1OO1dzOspqhWnz0"; diff --git a/modules/users/jerry.nix b/modules/users/jerry.nix new file mode 100644 index 0000000..b9f8b95 --- /dev/null +++ b/modules/users/jerry.nix @@ -0,0 +1,22 @@ +{config, pkgs, lib, ... }: { + + # Define a user account. Don't forget to set a password with ‘passwd’. + users = { + + users.jerry = { + isNormalUser = true; + description = "Jerry Finlinson"; + extraGroups = [ "input" "wireshark" ]; # (wheel) Enable ‘sudo’ for the user. + shell = pkgs.nushell; + }; + }; + + security.pam = { + sshAgentAuth.enable = true; + # services.sudo.sshAgentAuth = true; + }; + # I can't think of a better spot to put this rn. + services.openssh = { + ports = [ 22 2200 ]; # needed because isp blocks ssh over 22 + }; +} |
