From 1b05fa3745f87ccdfa77a5a1f03d5058f12e1ab9 Mon Sep 17 00:00:00 2001 From: Noah Masur <7386960+nmasur@users.noreply.github.com> Date: Sat, 8 Mar 2025 12:58:37 -0500 Subject: [PATCH] build vm for staff --- hosts-by-platform/default.nix | 6 +- hosts-by-platform/x86_64-linux/default.nix | 22 ------- hosts-by-platform/x86_64-linux/staff.nix | 62 +++++++++++++++++++ .../{swan/default.nix => swan.nix} | 0 .../{tempest/default.nix => tempest.nix} | 0 pkgs/tools/misc/osc/package.nix | 6 +- pkgs/tools/text/ren-find/package.nix | 13 ++++ pkgs/tools/text/ren/package.nix | 12 ---- pkgs/tools/text/rep-grep/package.nix | 13 ++++ pkgs/tools/text/rep/package.nix | 12 ---- .../modules/nmasur/profiles/power-user.nix | 14 ++--- 11 files changed, 102 insertions(+), 58 deletions(-) delete mode 100644 hosts-by-platform/x86_64-linux/default.nix create mode 100644 hosts-by-platform/x86_64-linux/staff.nix rename hosts-by-platform/x86_64-linux/{swan/default.nix => swan.nix} (100%) rename hosts-by-platform/x86_64-linux/{tempest/default.nix => tempest.nix} (100%) create mode 100644 pkgs/tools/text/ren-find/package.nix delete mode 100644 pkgs/tools/text/ren/package.nix create mode 100644 pkgs/tools/text/rep-grep/package.nix delete mode 100644 pkgs/tools/text/rep/package.nix diff --git a/hosts-by-platform/default.nix b/hosts-by-platform/default.nix index d87a176..dd140e9 100644 --- a/hosts-by-platform/default.nix +++ b/hosts-by-platform/default.nix @@ -22,6 +22,8 @@ in aarch64-linux-hosts = lib.pipe (lib.filesystem.listFilesRecursive ./aarch64-linux) [ # Get only files ending in default.nix (builtins.filter (name: lib.hasSuffix "default.nix" name)) + # Remove the first file + (builtins.filter (name: name != ./aarch64-linux/default.nix)) # Import each host function (map (file: { name = builtins.baseNameOf (builtins.dirOf file); @@ -32,10 +34,10 @@ in ]; x86_64-linux-hosts = lib.pipe (lib.filesystem.listFilesRecursive ./x86_64-linux) [ # Get only files ending in default.nix - (builtins.filter (name: lib.hasSuffix "default.nix" name)) + (builtins.filter (name: lib.hasSuffix ".nix" name)) # Import each host function (map (file: { - name = builtins.baseNameOf (builtins.dirOf file); + name = lib.removeSuffix ".nix" (builtins.baseNameOf file); value = import file; })) # Convert to an attrset of hostname -> host function diff --git a/hosts-by-platform/x86_64-linux/default.nix b/hosts-by-platform/x86_64-linux/default.nix deleted file mode 100644 index 0d927f6..0000000 --- a/hosts-by-platform/x86_64-linux/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -# Return a list of all NixOS hosts - -{ nixpkgs, ... }: - -let - inherit (nixpkgs) lib; -in - -lib.pipe (lib.filesystem.listFilesRecursive ./.) [ - # Get only files ending in default.nix - (builtins.filter (name: lib.hasSuffix "default.nix" name)) - # Remove this file - (builtins.filter (name: name != ./default.nix)) - # Import each host function - map - (file: { - name = builtins.baseNameOf (builtins.dirOf file); - value = import file; - }) - # Convert to an attrset of hostname -> host function - (builtins.listToAttrs) -] diff --git a/hosts-by-platform/x86_64-linux/staff.nix b/hosts-by-platform/x86_64-linux/staff.nix new file mode 100644 index 0000000..4df102e --- /dev/null +++ b/hosts-by-platform/x86_64-linux/staff.nix @@ -0,0 +1,62 @@ +# The Staff +# System configuration test + +rec { + # Hardware + networking.hostName = "staff"; + + nmasur.settings = { + username = "noah"; + fullName = "Noah Masur"; + }; + + nmasur.profiles = { + base.enable = true; + home.enable = true; + gui.enable = true; + }; + nmasur.presets.services.cloudflared.enable = false; + + home-manager.users."noah" = { + nmasur.settings = { + username = nmasur.settings.username; + fullName = nmasur.settings.fullName; + }; + nmasur.profiles = { + common.enable = true; + linux-base.enable = true; + linux-gui.enable = true; + power-user.enable = true; + }; + nmasur.presets.services.mbsync = { + user = nmasur.settings.username; + server = "noahmasur.com"; + }; + home.stateVersion = "23.05"; + }; + + system.stateVersion = "23.05"; + # Not sure what's necessary but too afraid to remove anything + # File systems must be declared in order to boot + + # This is the root filesystem containing NixOS + fileSystems."/" = { + device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; + + # This is the boot filesystem for Grub + fileSystems."/boot" = { + device = "/dev/disk/by-label/boot"; + fsType = "vfat"; + }; + + # Allows private remote access over the internet + # nmasur.presets.services.cloudflared = { + # tunnel = { + # id = "ac133a82-31fb-480c-942a-cdbcd4c58173"; + # credentialsFile = ../../private/cloudflared-tempest.age; + # ca = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPY6C0HmdFCaxYtJxFr3qV4/1X4Q8KrYQ1hlme3u1hJXK+xW+lc9Y9glWHrhiTKilB7carYTB80US0O47gI5yU4= open-ssh-ca@cloudflareaccess.org"; + # }; + # }; +} diff --git a/hosts-by-platform/x86_64-linux/swan/default.nix b/hosts-by-platform/x86_64-linux/swan.nix similarity index 100% rename from hosts-by-platform/x86_64-linux/swan/default.nix rename to hosts-by-platform/x86_64-linux/swan.nix diff --git a/hosts-by-platform/x86_64-linux/tempest/default.nix b/hosts-by-platform/x86_64-linux/tempest.nix similarity index 100% rename from hosts-by-platform/x86_64-linux/tempest/default.nix rename to hosts-by-platform/x86_64-linux/tempest.nix diff --git a/pkgs/tools/misc/osc/package.nix b/pkgs/tools/misc/osc/package.nix index b4de03a..da5ee90 100644 --- a/pkgs/tools/misc/osc/package.nix +++ b/pkgs/tools/misc/osc/package.nix @@ -9,12 +9,12 @@ buildGoModule { pname = "osc"; - version = "v0.4.6"; + version = "v0.4.7"; src = fetchFromGitHub { owner = "theimpostor"; repo = "osc"; - rev = "4af7c8e54ecc499097121909f02ecb42a8a60d24"; - sha256 = lib.fakeSha256; + rev = "c8e1e2f42a5d5fb628eaa48e889bde578deb8d33"; + sha256 = "sha256-MfEBbYT99tEtlOMmdl3iq2d07KYsN1tu5tDRFW3676g="; }; vendorHash = "sha256-POtQWIjPObsfa3YZ1dLZgedZFUcc4HeTWjU20AucoKc="; diff --git a/pkgs/tools/text/ren-find/package.nix b/pkgs/tools/text/ren-find/package.nix new file mode 100644 index 0000000..3a73a29 --- /dev/null +++ b/pkgs/tools/text/ren-find/package.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +pkgs.rustPlatform.buildRustPackage { + pname = "ren-find"; + version = "0.0.7"; + src = pkgs.fetchFromGitHub { + owner = "robenkleene"; + repo = "ren-find"; + rev = "50c40172e354caffee48932266edd7c7a76a20fd"; + sha256 = "sha256-zVIt6Xp+Mvym6gySvHIZJt1QgzKVP/wbTGTubWk6kzI="; + }; + useFetchCargoVendor = true; + cargoHash = "sha256-lSeO/GaJPZ8zosOIJRXVIEuPXaBg1GBvKBIuXtu1xZg="; +} diff --git a/pkgs/tools/text/ren/package.nix b/pkgs/tools/text/ren/package.nix deleted file mode 100644 index 240c99e..0000000 --- a/pkgs/tools/text/ren/package.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -pkgs.rustPlatform.buildRustPackage { - pname = "ren-find"; - version = "0.0.7"; - src = pkgs.fetchFromGitHub { - owner = "robenkleene"; - repo = "ren-find"; - rev = "4af7c8e54ecc499097121909f02ecb42a8a60d24"; - sha256 = pkgs.lib.fakeHash; - }; - cargoHash = "sha256-3bI3j2xvNHp4kyLEq/DZvRJBF2rn6pE4n8oXh67edDI="; -} diff --git a/pkgs/tools/text/rep-grep/package.nix b/pkgs/tools/text/rep-grep/package.nix new file mode 100644 index 0000000..2c367d5 --- /dev/null +++ b/pkgs/tools/text/rep-grep/package.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +pkgs.rustPlatform.buildRustPackage { + pname = "rep-grep"; + version = "0.0.7"; + src = pkgs.fetchFromGitHub { + owner = "robenkleene"; + repo = "rep-grep"; + rev = "2a24f95170aa14b5182b2287125664a62f8688ef"; + sha256 = "sha256-gBxrbGCy6JEHnmgJmcm8sgtEvCAqra8/gPGsfCEfLqg="; + }; + useFetchCargoVendor = true; + cargoHash = "sha256-t4tfQaFq4EV4ZWeU+IestSFiSAIeVQslTZhLbpKVoO4="; +} diff --git a/pkgs/tools/text/rep/package.nix b/pkgs/tools/text/rep/package.nix deleted file mode 100644 index b538020..0000000 --- a/pkgs/tools/text/rep/package.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -pkgs.rustPlatform.buildRustPackage { - pname = "rep-grep"; - version = "0.0.7"; - src = pkgs.fetchFromGitHub { - owner = "robenkleene"; - repo = "rep-grep"; - rev = "4af7c8e54ecc499097121909f02ecb42a8a60d24"; - sha256 = pkgs.lib.fakeHash; - }; - cargoHash = "sha256-GEr3VvQ0VTKHUbW/GFEgwLpQWP2ZhS/4KYjDvfFLgxo="; -} diff --git a/platforms/home-manager/modules/nmasur/profiles/power-user.nix b/platforms/home-manager/modules/nmasur/profiles/power-user.nix index bf1c047..3cb69e7 100644 --- a/platforms/home-manager/modules/nmasur/profiles/power-user.nix +++ b/platforms/home-manager/modules/nmasur/profiles/power-user.nix @@ -21,8 +21,8 @@ in pkgs.jo # JSON output pkgs.nmasur.osc # Clipboard over SSH pkgs.qrencode # Generate qr codes - pkgs.ren # Rename files - pkgs.rep # Replace text in files + pkgs.nmasur.ren-find # Rename files + pkgs.nmasur.rep-grep # Replace text in files pkgs.spacer # Output lines in terminal pkgs.tealdeer # Cheatsheets pkgs.vimv-rs # Batch rename files @@ -37,16 +37,16 @@ in ]; programs.fish.shellAliases = { - "cd" = lib.mkDefault lib.getExe pkgs.zoxide; - "du" = lib.mkDefault lib.getExe pkgs.dua; - "ncdu" = lib.mkDefault lib.getExe pkgs.du-dust; - "df" = lib.mkDefault lib.getExe pkgs.duf; + "cd" = lib.mkDefault (lib.getExe pkgs.zoxide); + "du" = lib.mkDefault (lib.getExe pkgs.dua); + "ncdu" = lib.mkDefault (lib.getExe pkgs.du-dust); + "df" = lib.mkDefault (lib.getExe pkgs.duf); # Use eza (exa) instead of ls for fancier output ls = lib.mkDefault "${lib.getExe pkgs.eza} --group"; # Version of bash which works much better on the terminal - bash = lib.mkDefault lib.getExe pkgs.bashInteractive; + bash = lib.mkDefault (lib.getExe pkgs.bashInteractive); }; nmasur.presets.programs = {