From 30d279565c8fb090f497ca0904be2672efff0a27 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Fri, 22 Aug 2025 15:58:59 -0500 Subject: [PATCH 01/10] Install Amperfy music app --- systems/darwin/corianne.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/systems/darwin/corianne.nix b/systems/darwin/corianne.nix index a07cc97..2ac258b 100644 --- a/systems/darwin/corianne.nix +++ b/systems/darwin/corianne.nix @@ -157,6 +157,7 @@ "zulip" ]; masApps = { + "Amperfy Music" = 1530145038; "Bitwarden" = 1352778147; "Tailscale" = 1475387142; }; From b8ad5e0eef00796c0c4cc4de7cb19a08a3c3e19e Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Fri, 22 Aug 2025 15:59:21 -0500 Subject: [PATCH 02/10] Manage Dock with nix-darwin --- systems/darwin/corianne.nix | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/systems/darwin/corianne.nix b/systems/darwin/corianne.nix index 2ac258b..a6d532b 100644 --- a/systems/darwin/corianne.nix +++ b/systems/darwin/corianne.nix @@ -33,6 +33,58 @@ system.keyboard.enableKeyMapping = true; system.primaryUser = "millironx"; + system.defaults.dock = { + autohide = false; + minimize-to-application = true; + mru-spaces = false; + persistent-apps = let + dedupDotApp = appName: + if pkgs.lib.strings.hasSuffix ".app" appName then + appName + else + appName + ".app"; + macAppPath = { location, name }: "${location}/${dedupDotApp name}"; + sysApp = appName: { + app = macAppPath { + location = "/Applications"; + name = appName; + }; + }; + chromeApp = appName: { + app = macAppPath { + location = "/Users/millironx/Applications/Chromium Apps.localized"; + name = appName; + }; + }; + localApp = appName: { + app = macAppPath { + location = "/Users/millironx/Applications"; + name = appName; + }; + }; + in [ + (sysApp "Firefox") + (chromeApp "Messages") + (sysApp "Signal") + (sysApp "Thunderbird") + (sysApp "Immich") + (sysApp "Logseq") + (sysApp "Zed") + (sysApp "Steam") + (sysApp "Amperfy") + (sysApp "Microsoft Word") + (sysApp "Microsoft Excel") + (sysApp "Microsoft PowerPoint") + (sysApp "Zotero") + (localApp "VetPrep") + (chromeApp "Instinct Dashboard") + (chromeApp "Carestream") + ]; + show-process-indicators = true; + show-recents = false; + tilesize = 48; + }; + # nix-darwin doesn't provide a nice injection point for running activation # scripts like home-manager does. In other words, we can't add an arbitrary # number of activation scripts with well-defined entry points into the system From 5e119c2d64b59ec159e957edfbdac2ab9b7e7076 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Fri, 22 Aug 2025 15:59:39 -0500 Subject: [PATCH 03/10] install pdfgrep on all homes --- homes/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/homes/common.nix b/homes/common.nix index f387f4b..9a33cf1 100644 --- a/homes/common.nix +++ b/homes/common.nix @@ -46,6 +46,7 @@ in { micromamba most nextflow + pdfgrep pipx python3 zulu17 From 26c26057b552ff88a6379c9936b66e183936c376 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Sat, 23 Aug 2025 19:51:58 -0500 Subject: [PATCH 04/10] refactor: Skip intermediate clone step for update-nixos service --- services/nixos-update.nix | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/services/nixos-update.nix b/services/nixos-update.nix index 5fad1d6..ab19529 100644 --- a/services/nixos-update.nix +++ b/services/nixos-update.nix @@ -2,35 +2,21 @@ { pkgs, ... }: { - environment.systemPackages = with pkgs; - [ - (pkgs.writeScriptBin "update-nixos" '' - #!${pkgs.bash}/bin/bash - echo "Requesting system update..." - ${pkgs.systemd}/bin/systemctl start nixos-update.service - '') - ]; + environment.systemPackages = [ + (pkgs.writeScriptBin "update-nixos" '' + #!${pkgs.bash}/bin/bash + echo "Requesting system update..." + ${pkgs.systemd}/bin/systemctl start nixos-update.service + '') + ]; # Service to update NixOS configuration from git repo systemd.services."nixos-update" = { description = "Update NixOS configuration from git repository"; - path = with pkgs; [ git coreutils ]; + path = with pkgs; [ coreutils ]; script = '' - # Ensure the directory exists - mkdir -p /srv/config - - # Clone/pull the repository - if [ -d "/srv/config/.git" ]; then - cd /srv/config - git fetch origin - git reset --hard origin/master - else - rm -rf /srv/config - git clone https://code.millironx.com/millironx/nix-dotfiles.git /srv/config - fi - - # Rebuild the system - ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake /srv/config#bosephus + # Rebuild the system directly from the remote flake + ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake git+https://code.millironx.com/millironx/nix-dotfiles.git#bosephus ''; serviceConfig = { Type = "oneshot"; From c7b04c47c777d55bce0d8138d96ec6f36b0c1a0e Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Sun, 31 Aug 2025 12:31:42 -0600 Subject: [PATCH 05/10] install p7zip --- homes/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/homes/common.nix b/homes/common.nix index 9a33cf1..a94198c 100644 --- a/homes/common.nix +++ b/homes/common.nix @@ -46,6 +46,7 @@ in { micromamba most nextflow + p7zip pdfgrep pipx python3 From 9381c1d63f5cd92f9d3f3ca45a0bfab773c6d359 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Mon, 1 Sep 2025 16:41:04 -0600 Subject: [PATCH 06/10] Install Supersonic (Navidrome client) via Flatpak --- playbook.yaml | 1 + systems/linux/bosephus.nix | 32 +++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/playbook.yaml b/playbook.yaml index 3ed7300..d260094 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -258,6 +258,7 @@ - com.logseq.Logseq - io.freetubeapp.FreeTube - io.github.alainm23.planify + - io.github.dweymouth.supersonic - io.openrct2.OpenRCT2 - org.zulip.Zulip - net.ankiweb.Anki diff --git a/systems/linux/bosephus.nix b/systems/linux/bosephus.nix index a3c7c7a..9b2052a 100644 --- a/systems/linux/bosephus.nix +++ b/systems/linux/bosephus.nix @@ -11,6 +11,7 @@ ./../../services/nixos-update.nix ./../../services/samba.nix ./../../services/pihole.nix + ./../../services/galaxy.nix ]; # Bootloader. @@ -93,11 +94,40 @@ programs.zsh.enable = true; - environment.systemPackages = with pkgs; [ neovim git borgbackup ]; + environment.systemPackages = with pkgs; [ + neovim + git + borgbackup + # Galaxy dependencies + python3 + python3Packages.virtualenv + python3Packages.pip + python3Packages.setuptools + python3Packages.wheel + nodejs + which + procps + gcc + gnumake + ]; services = { openssh.enable = true; tailscale.enable = true; + galaxy = { + enable = true; + host = "0.0.0.0"; # Allow external connections + port = 8080; + dataDir = "/var/lib/galaxy"; + user = "galaxy"; + group = "galaxy"; + }; + }; + + # Virtual memory settings for Galaxy + boot.kernel.sysctl = { + "vm.swappiness" = 10; + "vm.min_free_kbytes" = 65536; }; system.stateVersion = "25.05"; # Did you read the comment? From 50a923bccf9145f188e34192bd441e2cdea459ca Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:46:45 -0500 Subject: [PATCH 07/10] Add Canvas to MacOS dock --- systems/darwin/corianne.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/systems/darwin/corianne.nix b/systems/darwin/corianne.nix index a6d532b..e61a26b 100644 --- a/systems/darwin/corianne.nix +++ b/systems/darwin/corianne.nix @@ -75,6 +75,7 @@ (sysApp "Microsoft Word") (sysApp "Microsoft Excel") (sysApp "Microsoft PowerPoint") + (localApp "Canvas") (sysApp "Zotero") (localApp "VetPrep") (chromeApp "Instinct Dashboard") From 78649f141ea138ae6d2335764ca21b96d43217a7 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:48:45 -0500 Subject: [PATCH 08/10] install Dolphin via Homebrew on MacOS --- systems/darwin/corianne.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/systems/darwin/corianne.nix b/systems/darwin/corianne.nix index e61a26b..ae04dee 100644 --- a/systems/darwin/corianne.nix +++ b/systems/darwin/corianne.nix @@ -180,6 +180,7 @@ "anki" "anythingllm" "db-browser-for-sqlite" + "dolphin" "firefox" "freetube" "inkscape" From 42700ba6b54fcc7fe814cb4919772ee4d7c8a347 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:49:27 -0500 Subject: [PATCH 09/10] install QT Creator via Homebrew on MacOS --- systems/darwin/corianne.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/systems/darwin/corianne.nix b/systems/darwin/corianne.nix index ae04dee..9ec22de 100644 --- a/systems/darwin/corianne.nix +++ b/systems/darwin/corianne.nix @@ -194,6 +194,7 @@ "openrct2" "porting-kit" "qownnotes" + "qt-creator" "rstudio" "signal" "slack" From ea4e1300c7d71fea171e52fabacd4e471a28fc13 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" <25492070+MillironX@users.noreply.github.com> Date: Thu, 25 Sep 2025 13:52:00 -0500 Subject: [PATCH 10/10] add ghostty config --- homes/desktop.nix | 1 + playbook.yaml | 1 + programs/ghostty.nix | 17 +++++++++++++++++ systems/darwin/corianne.nix | 1 + 4 files changed, 20 insertions(+) create mode 100644 programs/ghostty.nix diff --git a/homes/desktop.nix b/homes/desktop.nix index 0e376ce..1a7e7d9 100644 --- a/homes/desktop.nix +++ b/homes/desktop.nix @@ -2,6 +2,7 @@ imports = [ ./../programs/firefox.nix + ./../programs/ghostty.nix ./../programs/zed.nix ./../services/gpg-agent.nix ]; diff --git a/playbook.yaml b/playbook.yaml index d260094..cd47a15 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -179,6 +179,7 @@ name: - chromium - firefoxpwa + - ghostty - inkscape - kate - kdenlive diff --git a/programs/ghostty.nix b/programs/ghostty.nix new file mode 100644 index 0000000..ea54cde --- /dev/null +++ b/programs/ghostty.nix @@ -0,0 +1,17 @@ +{ ... }: { + programs.ghostty = { + enable = true; + package = null; + enableBashIntegration = true; + enableZshIntegration = true; + settings = { + quick-terminal-position = "top"; + quick-terminal-screen = "main"; + quick-terminal-autohide = true; + quick-terminal-size = "50%,50%"; + keybind = "global:cmd+backquote=toggle_quick_terminal"; + macos-hidden = "always"; + linux-cgroup = "always"; + }; + }; +} diff --git a/systems/darwin/corianne.nix b/systems/darwin/corianne.nix index 9ec22de..f8067ce 100644 --- a/systems/darwin/corianne.nix +++ b/systems/darwin/corianne.nix @@ -183,6 +183,7 @@ "dolphin" "firefox" "freetube" + "ghostty" "inkscape" "iterm2" "logi-options+"