Compare commits

..

10 commits

7 changed files with 120 additions and 25 deletions

View file

@ -46,6 +46,8 @@ in {
micromamba
most
nextflow
p7zip
pdfgrep
pipx
python3
zulu17

View file

@ -2,6 +2,7 @@
imports = [
./../programs/firefox.nix
./../programs/ghostty.nix
./../programs/zed.nix
./../services/gpg-agent.nix
];

View file

@ -179,6 +179,7 @@
name:
- chromium
- firefoxpwa
- ghostty
- inkscape
- kate
- kdenlive
@ -258,6 +259,7 @@
- com.logseq.Logseq
- io.freetubeapp.FreeTube
- io.github.alainm23.planify
- io.github.dweymouth.supersonic
- io.openrct2.OpenRCT2
- org.zulip.Zulip
- net.ankiweb.Anki

17
programs/ghostty.nix Normal file
View file

@ -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";
};
};
}

View file

@ -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";

View file

@ -33,6 +33,59 @@
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")
(localApp "Canvas")
(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
@ -127,8 +180,10 @@
"anki"
"anythingllm"
"db-browser-for-sqlite"
"dolphin"
"firefox"
"freetube"
"ghostty"
"inkscape"
"iterm2"
"logi-options+"
@ -140,6 +195,7 @@
"openrct2"
"porting-kit"
"qownnotes"
"qt-creator"
"rstudio"
"signal"
"slack"
@ -157,6 +213,7 @@
"zulip"
];
masApps = {
"Amperfy Music" = 1530145038;
"Bitwarden" = 1352778147;
"Tailscale" = 1475387142;
};

View file

@ -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?