diff --git a/flake.nix b/flake.nix index 25fae28..61bc1eb 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.alex = import ./home/alex/cli.nix; + home-manager.users.alex = import ./home/cli.nix; } ]; }; @@ -77,6 +77,8 @@ modules = [ ./hosts/dregil ]; }; + homeConfigurations = import ./outputs/homeConfigurations inputs; + nixosConfigurations."igor" = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; diff --git a/home/alex/home.nix b/home/alex/home.nix index 77e01e6..8f350f4 100644 --- a/home/alex/home.nix +++ b/home/alex/home.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ./cli.nix ]; + imports = [ ../cli.nix ]; home = { homeDirectory = "/home/alex"; diff --git a/home/alex/cli.nix b/home/cli.nix similarity index 97% rename from home/alex/cli.nix rename to home/cli.nix index fda3208..4ac8f6f 100644 --- a/home/alex/cli.nix +++ b/home/cli.nix @@ -10,7 +10,8 @@ let myEza = if builtins.hasAttr "eza" pkgs then "eza" else "exa"; in { - imports = [ ./programs/neovim/default.nix ./programs/emacs/default.nix ]; + imports = + [ ./alex/programs/neovim/default.nix ./alex/programs/emacs/default.nix ]; programs.home-manager.enable = true; home = { diff --git a/home/alex/local/bin/kill-old-mosh b/home/local/bin/kill-old-mosh similarity index 100% rename from home/alex/local/bin/kill-old-mosh rename to home/local/bin/kill-old-mosh diff --git a/home/alex/local/bin/merge-pdf b/home/local/bin/merge-pdf similarity index 100% rename from home/alex/local/bin/merge-pdf rename to home/local/bin/merge-pdf diff --git a/outputs/homeConfigurations/default.nix b/outputs/homeConfigurations/default.nix new file mode 100644 index 0000000..cf5c210 --- /dev/null +++ b/outputs/homeConfigurations/default.nix @@ -0,0 +1,102 @@ +inputs: +with inputs; +let + electron-overlay = final: prev: { electron = final.electron_25; }; + pkgs = import nixpkgs-unstable { + system = "x86_64-linux"; + config.allowUnfree = true; + overlays = [ emacs.overlay electron-overlay ]; + }; +in { + "alex@dregil" = home-manager-unstable.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ + ../../home/cli.nix + { + home = { + language.base = "en_US.UTF-8"; + + keyboard.layout = "us"; + keyboard.variant = "dvorak"; + keyboard.options = + [ "terminate:ctrl_alt_bksp" "caps:escape" "compose:ralt" ]; + + packages = with pkgs; [ + # social + (jitsi-meet-electron.overrideAttrs (prev: rec { + version = "2023.10.0"; + src = fetchurl { + url = + "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage"; + sha256 = "sha256-zhOx/gdsiQMuOCCE5sn+JNu0WJrH36XfvqqNvE24St8="; + name = "jitsi-meet-electron-${version}.AppImage"; + }; + })) # jitsi as a stand-alone app + discord # talk to other people + + # system tools + uhk-agent # my keyboard + mosh # ssh via udp + + # gaming support + lutris + winePackages.stagingFull + + # reading + calibre + ]; + }; + + news.display = "silent"; + + programs = { + home-manager.enable = true; + + alacritty.enable = true; + # autorandr.enable = true; + + browserpass = { + enable = true; + browsers = [ "firefox" ]; + }; + + feh.enable = true; + firefox = { + enable = true; + package = pkgs.firefox.override { + cfg = { + enableGnomeExtensions = true; + enableTridactylNative = true; + enableBrowserpass = true; + }; + }; + }; + mpv.enable = true; + rofi.enable = true; + rofi.pass.enable = true; + zathura.enable = true; + + zsh = let + auth-socket-env = '' + export SSH_AUTH_SOCK="$(${pkgs.gnupg}/bin/gpgconf -L agent-ssh-socket)" + ''; + in { + enable = true; + loginExtra = auth-socket-env; + initExtra = auth-socket-env; + }; + }; + + services.gpg-agent = { + enable = true; + enableSshSupport = true; + sshKeys = [ "9027AB16B9A7C20BD29F30F55CBA054430BF014C" ]; + }; + + # services.autorandr = { enable = true; }; + + xsession.enable = true; + } + ]; + }; +}