From 145c6e30fb229f7eaee71478baae21d9210cbcb2 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Wed, 1 Nov 2023 14:14:50 -0500 Subject: [PATCH] Update for IVR Linux --- flake.nix | 2 ++ home/default.nix | 71 ++++++++------------------------------ home/home.nix | 1 + home/hosts/ivr/default.nix | 29 +++++++++------- home/ssh/authorized_keys | 1 + overlays/hms.sh | 30 +++------------- overlays/setup-ssh.nix | 4 +-- 7 files changed, 42 insertions(+), 96 deletions(-) diff --git a/flake.nix b/flake.nix index 44fb41b..0ec122c 100644 --- a/flake.nix +++ b/flake.nix @@ -58,6 +58,8 @@ darwinConfigurations = (import ./darwin { inherit inputs overlays; }); + homeConfigurations = (import ./home { inherit inputs overlays; }); + devShell = (flake-utils.lib.eachSystemMap flake-utils.lib.allSystems (system: let pkgs = import nixunstable { inherit system overlays; }; in pkgs.mkShell { diff --git a/home/default.nix b/home/default.nix index a2c9bc9..b73ecbc 100644 --- a/home/default.nix +++ b/home/default.nix @@ -4,61 +4,20 @@ ... }: -let - # I'm "greg" everywhere except Darwin where I'm "gregory.hellings" - user = system: - ( if ( inputs.nixstable.lib.hasSuffix "-darwin" system ) then "gregory.hellings" else "greg" ); - home = system: username: - if username == "root" then "/root" else - ( if ( inputs.nixstable.lib.hasSuffix "-darwin" system ) then "/Users/${username}" else "/home/${username}" ); - - mkhome = { - system, - gui, - gnome, - username - }: - let - stateVersion = "23.05"; - homeDirectory = home system username; - cfg = { home = { inherit username homeDirectory stateVersion; }; }; - - configDir = "${homeDirectory}/.config"; - - pkgs = import inputs.nixstable { - inherit overlays system; - config.allowUnfree = true; - config.xdg.configHome = configDir; - }; - - in inputs.hm.lib.homeManagerConfiguration rec { - inherit pkgs; - modules = [ - (import ./home.nix { - inherit inputs pkgs gui gnome; - inherit (pkgs) config lib stdenv; - }) - cfg - ]; +{ + "gregory.hellings" = + let + system = "x86_64-linux"; + pkgs = (import inputs.nixunstable { inherit system overlays; }); + in inputs.hm.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ ./home.nix ]; + extraSpecialArgs = { + inherit inputs; + gui = false; + gnome = true; + host = "ivr"; + username = "gregory.hellings"; }; - -in inputs.flake-utils.lib.eachDefaultSystem (system: { - gui = mkhome { - inherit system; - gui = true; - gnome = false; - username = user system; }; - gdm = mkhome { - inherit system; - gui = true; - gnome = true; - username = user system; - }; - cli = mkhome { - inherit system; - gui = false; - gnome = false; - username = user system; - }; -}) +} diff --git a/home/home.nix b/home/home.nix index 010381c..25e6912 100644 --- a/home/home.nix +++ b/home/home.nix @@ -38,6 +38,7 @@ copier diffutils findutils + gh git gnupatch gregpy diff --git a/home/hosts/ivr/default.nix b/home/hosts/ivr/default.nix index 7abe5a0..35f91f6 100644 --- a/home/hosts/ivr/default.nix +++ b/home/hosts/ivr/default.nix @@ -5,16 +5,21 @@ ../../vscodium.nix ]; - home.packages = with pkgs; [ - aacs - brew - ]; - home.file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [ - "[global]" - "retries = 1" - "index-url = https://pypi.python.org/simple" - "extra-index-url =" - " https://pypi.ivrtechnology.com/simple/" - " https://pypidev.ivrtechnology.com/simple/" - ]); + home = { + packages = with pkgs; [ + aacs + direnv + home-manager + ]; + file.".pip/pip.conf".text = (lib.strings.concatStringsSep "\n" [ + "[global]" + "retries = 1" + "index-url = https://pypi.python.org/simple" + "extra-index-url =" + " https://pypi.ivrtechnology.com/simple/" + " https://pypidev.ivrtechnology.com/simple/" + ]); + username = "gregory.hellings"; + homeDirectory = "/home/gregory.hellings"; + }; } diff --git a/home/ssh/authorized_keys b/home/ssh/authorized_keys index d6e20d3..2e79890 100644 --- a/home/ssh/authorized_keys +++ b/home/ssh/authorized_keys @@ -6,3 +6,4 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDR4vmc5TiymSjMB7E+oYsiTxOg+2xwnLAILYjQKPA7 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINAX6pNx5mbwIa8X+GzktyNijfYmJUpgROFpRxSW9js0 greg@linode ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQCXP9nxL5Hg1R1AtT78zJl+ObCDZsnWWAqAYhTVjpRvYpiTbODvCf2IImvUsLGMdgo/xdSSzNqQcK6+KZVeNbvRSsw0ssWw7ggYnhw/yyv/KDZwnqXsppeucicnwpQNvts154yOqAvuuMaOYCTTQoOVvecDdgtA3svIpfxL3vVB/Mq/Ns/NwoE9XKz3NBYlWytqDcvSwR6Les7RzbMIs6axSfMVNwm9w41dG1NqDMteLjKlQ8bFfrtWXZ4QHKlnEWatOgJIzbP1hU91JvvzfypjleGuE9EBCSayqhu9PuxJ1/yxMJKSMaXUl8SoPMLsPNr1ZS5ZNjkNCvZK4fI+CqyAXtbgeSGKIKqZhg9z6/fR9SG0l3Gh3Prtw+AEuE+Xzb99Bi4IAe8lTaL+lw+z+CmsXR+kcJ4nnNrmf1fnDsI4l1EctVGb3Yt3tutV6GjB4mDjIYKwNBxuIx8hlugmZIy3oEUGrh85o5wnXlJQzmhszS4eas99dj1L5tj5dF4O/ED7SyQI5e7V9Pb5AgolcvLLXcFzDuy43oU8kWvQJMMvbEIFr6qPXWmp8MvrSTucRQCCzWJVudhrYhodXA56tRoJvFIRs0s12p/YXzsmJbKxPiVwLGOlCd2CqbdM2rCqN2LkUeOAQitb/8wv4njRKZ4lgqhjyXnBtoD2Nm/NmuIERoUY9J21dOhc2tg0zLvH120xVKa+WN5HVOOG9LyKl7koyc8nqdSDKFhcN4joYmnZKfyJUJzQIhiQayEfvWfTNJiNVkMIE2OqQ4O64s/7QzOHeHSMzY4TCO7+5bK9ecOqPxCDHLHhO0xVA3/w4FscRkObjkQ6zv3UCFJTSbr4YkdUIk8OtRR2KN9y9txrt/OS1l1DigVyuYUdz/L83+Y8E8d3l0hq/S1YLMwlkCbHE8hm0HxlLuyTA3OqXizRxNk7w4ku9OC4+nHrj03i2apNG0Z/ojcGsJxSBLhPGlPWbDJ2h7YL+lkDZFitdhBZHjIQKC2dNoretA8zEzNk48Pi829NFRuXqjSsq3iOJ1sXP/lMAZvdzbZOQ8CrH5SWb9GDeWR0uh76RXzKXvv5UTtu1PpYj/BHToApc8kUAxpUh3ypjt6bS7XLYtk74PEZHD3HXbpBYBnMNPUp2ecDw6rxpLxq3rnzROriX4Uvy0sOx8Q13ZgrZwxLeEWImlK9qQT4SYytGGxt4vwG0R2B8zS1xNiNC/B8jnBrK4GwnYSuJwNMrJ8vk1u9gn1pCj51RslBsldVzVB30jxNU74iD/WQGJudJrUAYkQ5EpArKZK0GQfaRXM6VzsvyLBA02CZJkeIU0jUc6Q1Nms+C8teKrP8+EKXONT/igsLXwfLMiR2CqVP greg@nixos ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFWPSFQT0AH77wrwRhiskcBS0w4ZakBRdJywYYBsnm3S greg@genesis +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMYzms+KIe5/bYF3uCyFjA5e1AgMPLIA3c4k417coqBe gregory.hellings@ls23003 diff --git a/overlays/hms.sh b/overlays/hms.sh index ac7c6f2..2d45713 100644 --- a/overlays/hms.sh +++ b/overlays/hms.sh @@ -2,35 +2,13 @@ set -eo pipefail # Build different targets with GUI or not -arch="$(uname -m)" -if [ "$(uname -s)" == "Darwin" ]; then - # On macOS - src="${HOME}/.config/darwin/" - flavor="gui" - if [ "${arch}" == "arm64" ]; then - arch=aarch64 - fi - arch="${arch}-darwin" -elif [ x"${WSL_DISTRO_NAME}" != "x" ]; then - src=/etc/nixos - flavor="cli" - arch="${arch}-linux" -else - # On Linux systems - if [ -z "${DISPLAY}" ]; then - flavor="cli" - else - flavor="gdm" - fi - src=/etc/nixos - arch="${arch}-linux" -fi - # Build and switch -echo "Building ${flavor}.${arch}" +user="$(whoami)" +src="${HOME}/.config/nix" +echo "Building ${user}" dest=$(mktemp -d) pushd "${dest}" > /dev/null -nix build "${src}#homeConfigurations.${flavor}.${arch}.activationPackage" +nix build "${src}#homeConfigurations.\"${user}\".activationPackage" ./result/activate popd > /dev/null rm -r "${dest}" diff --git a/overlays/setup-ssh.nix b/overlays/setup-ssh.nix index 7077e0b..511b615 100644 --- a/overlays/setup-ssh.nix +++ b/overlays/setup-ssh.nix @@ -1,3 +1,3 @@ -{ pkgs, ... }: +{ pkgs, gh, ... }: -pkgs.writeShellScriptBin "setup-ssh" (builtins.readFile ./setup-ssh.sh) +pkgs.writeShellScriptBin "setup-ssh" (builtins.replaceStrings ["gh "] ["${gh}/bin/gh "] (builtins.readFile ./setup-ssh.sh))