Compare commits
10 commits
5513928567
...
ea4e1300c7
| Author | SHA1 | Date | |
|---|---|---|---|
| ea4e1300c7 | |||
| 42700ba6b5 | |||
| 78649f141e | |||
| 50a923bccf | |||
| 9381c1d63f | |||
| c7b04c47c7 | |||
| 26c26057b5 | |||
| 5e119c2d64 | |||
| b8ad5e0eef | |||
| 30d279565c |
7 changed files with 120 additions and 25 deletions
|
|
@ -46,6 +46,8 @@ in {
|
|||
micromamba
|
||||
most
|
||||
nextflow
|
||||
p7zip
|
||||
pdfgrep
|
||||
pipx
|
||||
python3
|
||||
zulu17
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
imports = [
|
||||
./../programs/firefox.nix
|
||||
./../programs/ghostty.nix
|
||||
./../programs/zed.nix
|
||||
./../services/gpg-agent.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -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
17
programs/ghostty.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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?
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue