Compare changes

Choose any two refs to compare.

+43 -22
flake.lock
···
"type": "github"
}
},
"eilean": {
"inputs": {
"eon": [
···
"opam-nix": "opam-nix"
},
"locked": {
-
"lastModified": 1742472252,
-
"narHash": "sha256-mwX2p4JbFGIcrbacKh+khU4s2fzHy9oDjAYIJ887MMI=",
"owner": "RyanGibb",
"repo": "eon",
-
"rev": "c55e4f79f12b1b704e386ce01c8a282e98f26ae3",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1742655702,
-
"narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=",
"owner": "nix-community",
"repo": "home-manager",
-
"rev": "0948aeedc296f964140d9429223c7e4a0702a1ff",
"type": "github"
},
"original": {
···
},
"nixos-hardware": {
"locked": {
-
"lastModified": 1742806253,
-
"narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=",
"owner": "nixos",
"repo": "nixos-hardware",
-
"rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726",
"type": "github"
},
"original": {
···
},
"nixpkgs-unstable": {
"locked": {
-
"lastModified": 1742889210,
-
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
"owner": "nixos",
"repo": "nixpkgs",
-
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
"type": "github"
},
"original": {
···
},
"nixpkgs_2": {
"locked": {
-
"lastModified": 1742751704,
-
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
"owner": "nixos",
"repo": "nixpkgs",
-
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
"type": "github"
},
"original": {
···
"agenix": "agenix",
"alec-website": "alec-website",
"deploy-rs": "deploy-rs",
"eilean": "eilean",
"eon": "eon",
"fn06-website": "fn06-website",
···
]
},
"locked": {
-
"lastModified": 1742921920,
-
"narHash": "sha256-NXAQbw7TFPJ7BPzfYrl2i7FKPXSNtQ+d93XIvRI9f6o=",
"ref": "refs/heads/master",
-
"rev": "527e848514f4d7c62468c36b7959d2e0983e33f4",
-
"revCount": 382,
"type": "git",
"url": "https://tangled.sh/@tangled.sh/core"
},
···
"rust-overlay": "rust-overlay"
},
"locked": {
-
"lastModified": 1740819101,
-
"narHash": "sha256-E2YADfdQt3q4QWU5ieftfoJ+tQnFxIDvn/T8b4CNlFk=",
"owner": "bcyran",
"repo": "timewall",
-
"rev": "9f2c12b3ee55b7fe7cc24e83ec283248906872b1",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"disko": {
+
"inputs": {
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1743598667,
+
"narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=",
+
"owner": "nix-community",
+
"repo": "disko",
+
"rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-community",
+
"repo": "disko",
+
"type": "github"
+
}
+
},
"eilean": {
"inputs": {
"eon": [
···
"opam-nix": "opam-nix"
},
"locked": {
+
"lastModified": 1743149102,
+
"narHash": "sha256-pW24ij8CqAdU8m5OFD1amwNmovf25YRygl1bv+s390o=",
"owner": "RyanGibb",
"repo": "eon",
+
"rev": "81bdd51d1e2651c46df2a1ce38b7df5661e7eef1",
"type": "github"
},
"original": {
···
]
},
"locked": {
+
"lastModified": 1743387206,
+
"narHash": "sha256-24N3NAuZZbYqZ39NgToZgHUw6M7xHrtrAm18kv0+2Wo=",
"owner": "nix-community",
"repo": "home-manager",
+
"rev": "15c5f9d04fabd176f30286c8f52bbdb2c853a146",
"type": "github"
},
"original": {
···
},
"nixos-hardware": {
"locked": {
+
"lastModified": 1743420942,
+
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
"owner": "nixos",
"repo": "nixos-hardware",
+
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
"type": "github"
},
"original": {
···
},
"nixpkgs-unstable": {
"locked": {
+
"lastModified": 1743448293,
+
"narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
"owner": "nixos",
"repo": "nixpkgs",
+
"rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3",
"type": "github"
},
"original": {
···
},
"nixpkgs_2": {
"locked": {
+
"lastModified": 1743501102,
+
"narHash": "sha256-7PCBQ4aGVF8OrzMkzqtYSKyoQuU2jtpPi4lmABpe5X4=",
"owner": "nixos",
"repo": "nixpkgs",
+
"rev": "02f2af8c8a8c3b2c05028936a1e84daefa1171d4",
"type": "github"
},
"original": {
···
"agenix": "agenix",
"alec-website": "alec-website",
"deploy-rs": "deploy-rs",
+
"disko": "disko",
"eilean": "eilean",
"eon": "eon",
"fn06-website": "fn06-website",
···
]
},
"locked": {
+
"lastModified": 1743620557,
+
"narHash": "sha256-w7a9Qn/IUdCe+gk5cMvSUS+YKItK2iTiu2Qcq49a+zU=",
"ref": "refs/heads/master",
+
"rev": "19ee94f42ab259c218762e6f0ed87952f80b5162",
+
"revCount": 420,
"type": "git",
"url": "https://tangled.sh/@tangled.sh/core"
},
···
"rust-overlay": "rust-overlay"
},
"locked": {
+
"lastModified": 1743524557,
+
"narHash": "sha256-0rNcLtKWbjI0VqlusrqPMcpPgdkkZGkOIt9s3CnsCao=",
"owner": "bcyran",
"repo": "timewall",
+
"rev": "789befef40bf0d45e48285f17f512b41924cfeb7",
"type": "github"
},
"original": {
+3 -1
flake.nix
···
nur.url = "github:nix-community/NUR/e9e77b7985ef9bdeca12a38523c63d47555cc89b";
timewall.url = "github:bcyran/timewall/";
tangled.url = "git+https://tangled.sh/@tangled.sh/core";
# deduplicate flake inputs
eilean.inputs.nixpkgs.follows = "nixpkgs";
···
nur.inputs.nixpkgs.follows = "nixpkgs";
timewall.inputs.nixpkgs.follows = "nixpkgs";
tangled.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
···
(
{ config, ... }:
{
-
networking.hostName = "${host}";
# pin nix command's nixpkgs flake to the system flake to avoid unnecessary downloads
nix.registry.nixpkgs.flake = host-nixpkgs;
system.stateVersion = "24.05";
···
nur.url = "github:nix-community/NUR/e9e77b7985ef9bdeca12a38523c63d47555cc89b";
timewall.url = "github:bcyran/timewall/";
tangled.url = "git+https://tangled.sh/@tangled.sh/core";
+
disko.url = "github:nix-community/disko";
# deduplicate flake inputs
eilean.inputs.nixpkgs.follows = "nixpkgs";
···
nur.inputs.nixpkgs.follows = "nixpkgs";
timewall.inputs.nixpkgs.follows = "nixpkgs";
tangled.inputs.nixpkgs.follows = "nixpkgs";
+
disko.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
···
(
{ config, ... }:
{
+
networking.hostName = host-nixpkgs.lib.mkDefault "${host}";
# pin nix command's nixpkgs flake to the system flake to avoid unnecessary downloads
nix.registry.nixpkgs.flake = host-nixpkgs;
system.stateVersion = "24.05";
-6
home/default.nix
···
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
-
set-window-option -g mode-keys vi
set-option -g mouse on
set-option -g set-titles on
···
# https://stackoverflow.com/questions/62182401/neovim-screen-lagging-when-switching-mode-from-insert-to-normal
# locking
set -s escape-time 0
-
set -g lock-command ${pkgs.vlock}/bin/vlock
-
set -g lock-after-time 0 # Seconds; 0 = never
-
bind L lock-session
# for .zprofile display environment starting https://github.com/tmux/tmux/issues/3483
set-option -g update-environment XDG_VTNR
# Allow clipboard with OSC-52 work
···
bind-key -r f run-shell "tmux neww tmux-sessionizer"
# reload
bind-key r source-file ~/.config/tmux/tmux.conf
-
# kill unattached
-
bind-key K run-shell 'tmux ls | grep -v attached | cut -d: -f1 | xargs -I {} tmux kill-window -t {}'
'';
};
···
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
set-window-option -g mode-keys vi
set-option -g mouse on
set-option -g set-titles on
···
# https://stackoverflow.com/questions/62182401/neovim-screen-lagging-when-switching-mode-from-insert-to-normal
# locking
set -s escape-time 0
# for .zprofile display environment starting https://github.com/tmux/tmux/issues/3483
set-option -g update-environment XDG_VTNR
# Allow clipboard with OSC-52 work
···
bind-key -r f run-shell "tmux neww tmux-sessionizer"
# reload
bind-key r source-file ~/.config/tmux/tmux.conf
'';
};
-1
home/gui/sway.nix
···
export MOZ_ENABLE_WAYLAND=1
export MOZ_DBUS_REMOTE=1
export QT_STYLE_OVERRIDE="Fusion"
-
export WLR_NO_HARDWARE_CURSORS=1
export NIXOS_OZONE_WL=1
# for intellij
···
export MOZ_ENABLE_WAYLAND=1
export MOZ_DBUS_REMOTE=1
export QT_STYLE_OVERRIDE="Fusion"
export NIXOS_OZONE_WL=1
# for intellij
+3
home/zsh.cfg
···
setopt autocd nomatch notify interactive_comments inc_append_history
unsetopt beep extendedglob share_history
···
+
+
# https://www.emacswiki.org/emacs/TrampMode#h5o-9
+
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
setopt autocd nomatch notify interactive_comments inc_append_history
unsetopt beep extendedglob share_history
+2 -1
hosts/gecko/default.nix
···
emacs.enable = true;
};
home.sessionVariables = {
-
LEDGER_FILE = "~/vault/finances.ledger";
};
programs.git.extraConfig.commit.gpgSign = true;
programs.direnv = {
···
emacs.enable = true;
};
home.sessionVariables = {
+
LEDGER_FILE = "$HOME/vault/finances.ledger";
+
CALENDAR_DIR = "$HOME/calendar";
};
programs.git.extraConfig.commit.gpgSign = true;
programs.direnv = {
+31
hosts/hippo/default.nix
···
···
+
{
+
pkgs,
+
config,
+
lib,
+
disko,
+
...
+
}:
+
+
{
+
imports = [
+
./hardware-configuration.nix
+
disko.nixosModules.disko
+
./disk-config.nix
+
];
+
+
custom = {
+
enable = true;
+
autoUpgrade.enable = true;
+
homeManager.enable = true;
+
};
+
+
home-manager.users.${config.custom.username}.config.custom.machineColour = "blue";
+
+
networking.hostName = "iphito";
+
+
services.openssh.openFirewall = true;
+
+
users.users.root.openssh.authorizedKeys.keys = [
+
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA7UrJmBFWR3c7jVzpoyg4dJjON9c7t9bT9acfrj6G7i mtelvers"
+
];
+
}
+33
hosts/hippo/disk-config.nix
···
···
+
{ lib, ... }:
+
+
{
+
disko.devices = {
+
disk.disk1 = {
+
device = lib.mkDefault "/dev/sda";
+
type = "disk";
+
content = {
+
type = "gpt";
+
partitions = {
+
ESP = {
+
type = "EF00";
+
size = "500M";
+
content = {
+
type = "filesystem";
+
format = "vfat";
+
mountpoint = "/boot";
+
mountOptions = [ "umask=0077" ];
+
};
+
};
+
root = {
+
size = "100%";
+
content = {
+
type = "filesystem";
+
format = "ext4";
+
mountpoint = "/";
+
};
+
};
+
};
+
};
+
};
+
};
+
}
+40
hosts/hippo/hardware-configuration.nix
···
···
+
{
+
config,
+
lib,
+
pkgs,
+
modulesPath,
+
...
+
}:
+
+
{
+
imports = [
+
(modulesPath + "/installer/scan/not-detected.nix")
+
];
+
+
boot.initrd.availableKernelModules = [
+
"megaraid_sas"
+
"xhci_pci"
+
"nvme"
+
"ahci"
+
"sd_mod"
+
];
+
boot.initrd.kernelModules = [ "dm-snapshot" ];
+
boot.kernelModules = [ "kvm-amd" ];
+
boot.extraModulePackages = [ ];
+
+
networking.useDHCP = lib.mkDefault true;
+
+
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+
+
boot.loader.grub = {
+
enable = true;
+
device = "nodev";
+
efiSupport = true;
+
efiInstallAsRemovable = true;
+
};
+
+
boot.kernelParams = [
+
"console=ttyS1,115200n8"
+
];
+
}
+38 -2
hosts/owl/services.nix
···
"capybara.fn06.org"
"shrew.freumh.org"
"knot.freumh.org"
];
# VPN
···
proxyWebsockets = true;
};
};
-
# minecraft server
services.minecraft-server = {
enable = true;
···
name = "knot";
type = "CNAME";
value = "vps";
}
# generate with
···
];
};
};
-
}
···
"capybara.fn06.org"
"shrew.freumh.org"
"knot.freumh.org"
+
"enki.freumh.org"
];
# VPN
···
proxyWebsockets = true;
};
};
+
+
services.nginx.virtualHosts."enki.freumh.org" = {
+
forceSSL = true;
+
locations."/" = {
+
proxyPass = ''
+
http://localhost:8000
+
'';
+
proxyWebsockets = true;
+
extraConfig = ''
+
# SSE-specific settings
+
proxy_buffering off;
+
proxy_read_timeout 3600s;
+
proxy_send_timeout 3600s;
+
proxy_connect_timeout 60s;
+
+
# Forward headers
+
proxy_set_header Connection "";
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
proxy_set_header X-Forwarded-Proto $scheme;
+
proxy_set_header Host $host;
+
'';
+
};
+
};
+
# minecraft server
services.minecraft-server = {
enable = true;
···
name = "knot";
type = "CNAME";
value = "vps";
+
}
+
+
{
+
name = "enki";
+
type = "CNAME";
+
value = "vps";
+
}
+
+
{
+
name = "hippo";
+
type = "A";
+
value = "128.232.124.251";
}
# generate with
···
];
};
};
+
}