diff options
| -rw-r--r-- | flake.nix | 2 | ||||
| -rw-r--r-- | home-manager/doretta.nix | 122 | ||||
| -rw-r--r-- | machines/doretta/configuration.nix | 2 | ||||
| -rw-r--r-- | modules/home-manager/virt-manager.nix | 8 | ||||
| -rw-r--r-- | modules/users/defin.nix | 2 |
5 files changed, 133 insertions, 3 deletions
@@ -312,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 98cdbf2..0d20b83 100644 --- a/machines/doretta/configuration.nix +++ b/machines/doretta/configuration.nix @@ -22,7 +22,7 @@ virtualisation.libvirtd = { enable = true; }; - virtualisation.vmware.host.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/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"; |
