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
|
micromamba
|
||||||
most
|
most
|
||||||
nextflow
|
nextflow
|
||||||
|
p7zip
|
||||||
|
pdfgrep
|
||||||
pipx
|
pipx
|
||||||
python3
|
python3
|
||||||
zulu17
|
zulu17
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./../programs/firefox.nix
|
./../programs/firefox.nix
|
||||||
|
./../programs/ghostty.nix
|
||||||
./../programs/zed.nix
|
./../programs/zed.nix
|
||||||
./../services/gpg-agent.nix
|
./../services/gpg-agent.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -179,6 +179,7 @@
|
||||||
name:
|
name:
|
||||||
- chromium
|
- chromium
|
||||||
- firefoxpwa
|
- firefoxpwa
|
||||||
|
- ghostty
|
||||||
- inkscape
|
- inkscape
|
||||||
- kate
|
- kate
|
||||||
- kdenlive
|
- kdenlive
|
||||||
|
|
@ -258,6 +259,7 @@
|
||||||
- com.logseq.Logseq
|
- com.logseq.Logseq
|
||||||
- io.freetubeapp.FreeTube
|
- io.freetubeapp.FreeTube
|
||||||
- io.github.alainm23.planify
|
- io.github.alainm23.planify
|
||||||
|
- io.github.dweymouth.supersonic
|
||||||
- io.openrct2.OpenRCT2
|
- io.openrct2.OpenRCT2
|
||||||
- org.zulip.Zulip
|
- org.zulip.Zulip
|
||||||
- net.ankiweb.Anki
|
- 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,8 +2,7 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = [
|
||||||
[
|
|
||||||
(pkgs.writeScriptBin "update-nixos" ''
|
(pkgs.writeScriptBin "update-nixos" ''
|
||||||
#!${pkgs.bash}/bin/bash
|
#!${pkgs.bash}/bin/bash
|
||||||
echo "Requesting system update..."
|
echo "Requesting system update..."
|
||||||
|
|
@ -14,23 +13,10 @@
|
||||||
# Service to update NixOS configuration from git repo
|
# Service to update NixOS configuration from git repo
|
||||||
systemd.services."nixos-update" = {
|
systemd.services."nixos-update" = {
|
||||||
description = "Update NixOS configuration from git repository";
|
description = "Update NixOS configuration from git repository";
|
||||||
path = with pkgs; [ git coreutils ];
|
path = with pkgs; [ coreutils ];
|
||||||
script = ''
|
script = ''
|
||||||
# Ensure the directory exists
|
# Rebuild the system directly from the remote flake
|
||||||
mkdir -p /srv/config
|
${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake git+https://code.millironx.com/millironx/nix-dotfiles.git#bosephus
|
||||||
|
|
||||||
# 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
|
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,59 @@
|
||||||
system.keyboard.enableKeyMapping = true;
|
system.keyboard.enableKeyMapping = true;
|
||||||
system.primaryUser = "millironx";
|
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
|
# 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
|
# 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
|
# number of activation scripts with well-defined entry points into the system
|
||||||
|
|
@ -127,8 +180,10 @@
|
||||||
"anki"
|
"anki"
|
||||||
"anythingllm"
|
"anythingllm"
|
||||||
"db-browser-for-sqlite"
|
"db-browser-for-sqlite"
|
||||||
|
"dolphin"
|
||||||
"firefox"
|
"firefox"
|
||||||
"freetube"
|
"freetube"
|
||||||
|
"ghostty"
|
||||||
"inkscape"
|
"inkscape"
|
||||||
"iterm2"
|
"iterm2"
|
||||||
"logi-options+"
|
"logi-options+"
|
||||||
|
|
@ -140,6 +195,7 @@
|
||||||
"openrct2"
|
"openrct2"
|
||||||
"porting-kit"
|
"porting-kit"
|
||||||
"qownnotes"
|
"qownnotes"
|
||||||
|
"qt-creator"
|
||||||
"rstudio"
|
"rstudio"
|
||||||
"signal"
|
"signal"
|
||||||
"slack"
|
"slack"
|
||||||
|
|
@ -157,6 +213,7 @@
|
||||||
"zulip"
|
"zulip"
|
||||||
];
|
];
|
||||||
masApps = {
|
masApps = {
|
||||||
|
"Amperfy Music" = 1530145038;
|
||||||
"Bitwarden" = 1352778147;
|
"Bitwarden" = 1352778147;
|
||||||
"Tailscale" = 1475387142;
|
"Tailscale" = 1475387142;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
./../../services/nixos-update.nix
|
./../../services/nixos-update.nix
|
||||||
./../../services/samba.nix
|
./../../services/samba.nix
|
||||||
./../../services/pihole.nix
|
./../../services/pihole.nix
|
||||||
|
./../../services/galaxy.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
|
|
@ -93,11 +94,40 @@
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
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 = {
|
services = {
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
tailscale.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?
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue