Compare commits
59 Commits
345f498212
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b2458bbefc | |||
| 70302671ff | |||
| 0c78fd12a1 | |||
| 7a2a6ccd23 | |||
| ad70686b05 | |||
| 0c69a2c32e | |||
| 0c631272ea | |||
| b745739914 | |||
| 67b3c38f52 | |||
| e70a5473c4 | |||
| 96a17d3313 | |||
| ed2def05a2 | |||
| 0482012f79 | |||
| f5cd434ac0 | |||
| 48e51cb952 | |||
| 7463facb62 | |||
| d006e30a31 | |||
| 7aa9f6c785 | |||
| 55534e65ff | |||
| e934e19ecb | |||
| b4f21226ef | |||
| ca8931192d | |||
| c9fa01aaf0 | |||
| 6a5fd198b5 | |||
| 795e73be77 | |||
| b4c63b8b79 | |||
| 356b2a82aa | |||
| 448432926f | |||
| 1447336288 | |||
| 104ef84243 | |||
| 898868900c | |||
| 0fb5035fc1 | |||
| 59c4299ae7 | |||
| 921b0527ab | |||
| 36ed8aeff0 | |||
| 91f10904d2 | |||
| bc73d5ec6e | |||
| e8b47ea4a5 | |||
| b941192860 | |||
| 249e95075c | |||
| 876f7e6c3f | |||
| 6ed74b4d37 | |||
| 95c859b3f4 | |||
| 2325e48006 | |||
| 39ac040d98 | |||
| 608506ec3b | |||
| 204803689f | |||
| 43e0876595 | |||
| dea59a0c17 | |||
| 14043ea855 | |||
| b78485c0d6 | |||
| 1542c5ba2f | |||
| aea31984d0 | |||
| efe8575777 | |||
| 805e028eaa | |||
| 5885f86813 | |||
| e41939f2e1 | |||
| c1a50c2ce9 | |||
| f89861cad7 |
3
.Trash-1000/info/nextcloud.cfg.trashinfo
Normal file
3
.Trash-1000/info/nextcloud.cfg.trashinfo
Normal file
@@ -0,0 +1,3 @@
|
||||
[Trash Info]
|
||||
Path=/home/chris/.config/nixos/initial-configs/nextcloud.cfg
|
||||
DeletionDate=2026-03-23T21:32:08
|
||||
78
flake.lock
generated
78
flake.lock
generated
@@ -25,11 +25,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772866605,
|
||||
"narHash": "sha256-r2ucLztXQFRu70VrGtNcL3PONyazxDPwq/hSn7opD+I=",
|
||||
"lastModified": 1774640361,
|
||||
"narHash": "sha256-5PLTPbnbtK0iDbsB9yFeHr5y/pv6/XzoVm/CDeXXt/c=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"rev": "1a52df65c679d17f9889abeb5593aa7ffc40f681",
|
||||
"rev": "d30652147d8e16ebc849b779b8ef495a894b0dd4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -46,11 +46,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1772957263,
|
||||
"narHash": "sha256-Rg/pXdpJFK5pGwUEu0wop942QgbrEch+dWB05h3l7uc=",
|
||||
"lastModified": 1775448173,
|
||||
"narHash": "sha256-C6OJuD3A4KDNz4QaYedkYtXzKHPecG5YYyMGLq7UwY8=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "be0d1413792f3811be7e0c4e9b17e94cbbe73fb9",
|
||||
"rev": "5b0fb7d54dea38c47e5c58058c166e790a0e0cf1",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@@ -81,11 +81,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"lastModified": 1775087534,
|
||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -140,11 +140,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772893680,
|
||||
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
|
||||
"lastModified": 1775036584,
|
||||
"narHash": "sha256-zW0lyy7ZNNT/x8JhzFHBsP2IPx7ATZIPai4FJj12BgU=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
|
||||
"rev": "4e0eb042b67d863b1b34b3f64d52ceb9cd926735",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -182,11 +182,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772633058,
|
||||
"narHash": "sha256-SO7JapRy2HPhgmqiLbfnW1kMx5rakPMKZ9z3wtRLQjI=",
|
||||
"lastModified": 1775425411,
|
||||
"narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "080657a04188aca25f8a6c70a0fb2ea7e37f1865",
|
||||
"rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -243,11 +243,11 @@
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774013813,
|
||||
"narHash": "sha256-gaKNu+dW6lA4LU8PM4pNqmaqoY8hIggM7ticP6VjVFk=",
|
||||
"lastModified": 1775445570,
|
||||
"narHash": "sha256-Vo+fChd5PkSnbHDKPQSROMDPmPPuFsRTqeVpEWd7afU=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "342bd5c65526d57b7bed200c8219d1a48414c806",
|
||||
"rev": "98a1511fbc84643be14c6c60816bdad1d00a004a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -274,11 +274,11 @@
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1772328832,
|
||||
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
||||
"lastModified": 1774748309,
|
||||
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
||||
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -304,11 +304,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1772773019,
|
||||
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
||||
"lastModified": 1775036866,
|
||||
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
|
||||
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -320,11 +320,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1772773019,
|
||||
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
||||
"lastModified": 1764242076,
|
||||
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
|
||||
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -352,11 +352,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1773507054,
|
||||
"narHash": "sha256-Q8U5VXgrcxmCxPtCCJCIZkcAX3FCZwGh1GNVIXxMND0=",
|
||||
"lastModified": 1775126147,
|
||||
"narHash": "sha256-J0dZU4atgcfo4QvM9D92uQ0Oe1eLTxBVXjJzdEMQpD0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e80236013dc8b77aa49ca90e7a12d86f5d8d64c9",
|
||||
"rev": "8d8c1fa5b412c223ffa47410867813290cdedfef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -368,11 +368,11 @@
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1772822230,
|
||||
"narHash": "sha256-yf3iYLGbGVlIthlQIk5/4/EQDZNNEmuqKZkQssMljuw=",
|
||||
"lastModified": 1775305101,
|
||||
"narHash": "sha256-/74n1oQPtKG52Yw41cbToxspxHbYz6O3vi+XEw16Qe8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "71caefce12ba78d84fe618cf61644dce01cf3a96",
|
||||
"rev": "36a601196c4ebf49e035270e10b2d103fe39076b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -471,11 +471,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772443545,
|
||||
"narHash": "sha256-oD3lameQXilKcgxQORR2l0+iDbnCO61+mjYD3MEVbuQ=",
|
||||
"lastModified": 1775048999,
|
||||
"narHash": "sha256-w35TNOdJcgMdt98XusY8DjmY4UPv3NQ7m+vR8oliWRU=",
|
||||
"owner": "peteonrails",
|
||||
"repo": "voxtype",
|
||||
"rev": "d011f3ff074a6a14c14e75fefb375a408e9e8887",
|
||||
"rev": "f292b6e1c9dbcfe4cdc7f781048db8be16c40c18",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -495,11 +495,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772866748,
|
||||
"narHash": "sha256-Z18wVHImX/w9zoruMlSQuh4JcrJh28jxDwR96oevCzM=",
|
||||
"lastModified": 1773675699,
|
||||
"narHash": "sha256-GrormZ2KxchtCLuO90+5fioEQmlUCKBIil0Mzr9w0Iw=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "ddaf9a02a81155c0de8b7b8db9341825afba319e",
|
||||
"rev": "d2702235710da3d7daf55c912ca7534261cf20f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -61,13 +61,6 @@
|
||||
exit
|
||||
fi
|
||||
|
||||
DEST_FILE="$HOME/.config/Nextcloud/nextcloud.cfg"
|
||||
|
||||
if [ ! -f "$DEST_FILE" ]; then
|
||||
mkdir -p "$(dirname "$DEST_FILE")"
|
||||
cp "${../initial-configs/nextcloud.cfg}" "$DEST_FILE"
|
||||
fi
|
||||
|
||||
DEST_FILE="$HOME/.config/sinew.in/Enpass.conf"
|
||||
|
||||
if [ ! -f "$DEST_FILE" ]; then
|
||||
|
||||
@@ -4,35 +4,40 @@
|
||||
#imports = [ impermanence.nixosModules.impermanence ];
|
||||
home.persistence."/persist" = {
|
||||
directories = [
|
||||
"Downloads"
|
||||
"Tower"
|
||||
"Code"
|
||||
".steam"
|
||||
".config/dotfiles"
|
||||
".cache/zsh"
|
||||
".mozilla/firefox"
|
||||
".config/nvim"
|
||||
".cache/Nextcloud"
|
||||
".cache/wal"
|
||||
".config/yazi/plugins"
|
||||
".config/nixos"
|
||||
".config/Nextcloud"
|
||||
".config/spotify"
|
||||
".config/sinew.in"
|
||||
".config/chromium"
|
||||
".config/obsidian"
|
||||
".config/superProductivity"
|
||||
".cache/zsh"
|
||||
".config/.gemini"
|
||||
".config/Antigravity"
|
||||
".local/share/direnv"
|
||||
".local/share/nvim"
|
||||
".local/share/krita"
|
||||
".local/share/voxtype"
|
||||
".local/share/zoxide"
|
||||
".config/Nextcloud"
|
||||
".config/chromium"
|
||||
".config/dotfiles"
|
||||
".config/nixos"
|
||||
".config/Signal"
|
||||
".config/nvim"
|
||||
".config/obsidian"
|
||||
".config/sinew.in"
|
||||
".config/spotify"
|
||||
".config/superProductivity"
|
||||
".config/yazi/plugins"
|
||||
".local/share/android"
|
||||
".local/share/Enpass"
|
||||
".local/share/Steam"
|
||||
".local/share/direnv"
|
||||
".local/share/keyrings"
|
||||
".local/share/krita"
|
||||
".local/share/nvim"
|
||||
".local/share/station"
|
||||
".local/share/voxtype"
|
||||
".local/share/zoxide"
|
||||
".local/state/station"
|
||||
".local/share/Nextcloud"
|
||||
".local/state/wireplumber"
|
||||
".mozilla/firefox"
|
||||
".ssh"
|
||||
".steam"
|
||||
"Code"
|
||||
"Downloads"
|
||||
"Tower"
|
||||
];
|
||||
files = [
|
||||
".config/shell/.env"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ pkgs, pkgs-unstable, try-cli, ... }:
|
||||
{ pkgs, pkgs-unstable, try-cli, nix-direnv, ... }:
|
||||
|
||||
let
|
||||
krita-appimage = pkgs.callPackage ../packages/krita.nix { };
|
||||
enpass = pkgs.enpass.overrideAttrs (oldAttrs: rec {
|
||||
version = "6.11.13.1957";
|
||||
src = pkgs.fetchurl {
|
||||
@@ -23,21 +24,20 @@ in
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
antigravity # Gemini AI coding assistant
|
||||
pkgs-unstable.antigravity # Gemini AI coding assistant
|
||||
bluetui # Bluetooth TUI
|
||||
direnv # Directory environment manager
|
||||
enpass # Password manager
|
||||
enpass-cli # Enpass CLI tool
|
||||
expressvpn # VPN
|
||||
ffmpeg # Video tools
|
||||
ffmpegthumbnailer # Video thumbnailer
|
||||
pkgs-unstable.gemini-cli # Gemini AI CLI tool
|
||||
ghostty # Terminal emulator
|
||||
gimp # Image manipulation software
|
||||
gpu-screen-recorder # GPU screen recorder for Linux
|
||||
imv # Image viewer
|
||||
inkscape # Vector graphics software
|
||||
kdePackages.wacomtablet # Wacom tablet manager
|
||||
krita # Digital art software
|
||||
krita-appimage # Custom digital art software (from AppImage)
|
||||
libreoffice-fresh # Office suite
|
||||
lunar-client # Minecraft launcher
|
||||
mpv # Video player
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
Status = "locked";
|
||||
};
|
||||
in {
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
walker = {
|
||||
enable = true;
|
||||
config = {};
|
||||
|
||||
1
initial-configs/passwords/chris
Normal file
1
initial-configs/passwords/chris
Normal file
@@ -0,0 +1 @@
|
||||
$6$MCVd.EUOYYB0A1eS$S1/gSfAq1c2dBCofvJp9RtW.o5mLi78h0Y39LABIeIauPRjlEny/1R5aXEA7uPrZ3TPxhnYOYxTdbCi0imFZp.
|
||||
40
packages/krita.nix
Normal file
40
packages/krita.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
makeWrapper
|
||||
}:
|
||||
|
||||
let
|
||||
version = "6.0.1";
|
||||
pname = "krita-appimage";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/stable/krita/${version}/krita-${version}-x86_64.AppImage";
|
||||
hash = "sha256-lzIgaqZiTnUOW5FSRF+1ROpj3RASWC390aLVFSBBTQo=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit pname version src; };
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
install -m 444 -D ${appimageContents}/org.kde.krita.desktop $out/share/applications/krita.desktop
|
||||
install -m 444 -D ${appimageContents}/krita.png $out/share/icons/hicolor/256x256/apps/krita.png
|
||||
substituteInPlace $out/share/applications/krita.desktop \
|
||||
--replace-fail "Exec=krita" "Exec=krita-appimage"
|
||||
|
||||
source ${makeWrapper}/nix-support/setup-hook
|
||||
wrapProgram $out/bin/${pname} \
|
||||
--set FONTCONFIG_FILE /etc/fonts/fonts.conf
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Digital painting and illustration application";
|
||||
homepage = "https://krita.org";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
||||
@@ -58,6 +58,9 @@ in
|
||||
];
|
||||
bootspec.enable = true;
|
||||
resumeDevice = "/dev/disk/by-partlabel/disk-${hostname}-root";
|
||||
kernel.sysctl = {
|
||||
"net.ipv4.ip_unprivileged_port_start" = 0;
|
||||
};
|
||||
};
|
||||
|
||||
systemd = {
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
./programs.nix
|
||||
./fonts.nix
|
||||
./hardware.nix
|
||||
./virtualization.nix
|
||||
./sound.nix
|
||||
./virtualisation.nix
|
||||
./time.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -5,6 +5,19 @@
|
||||
packages = with pkgs; [
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.fira-code
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-emoji
|
||||
liberation_ttf
|
||||
];
|
||||
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
monospace = [ "JetBrainsMono Nerd Font" ];
|
||||
sansSerif = [ "Noto Sans" ];
|
||||
serif = [ "Noto Serif" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,5 +8,9 @@
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
opentabletdriver.enable = true;
|
||||
uinput.enable = true;
|
||||
};
|
||||
boot.kernelModules = [ "uinput" ];
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"/var/log"
|
||||
"/var/lib/bluetooth"
|
||||
"/var/lib/networkmanager"
|
||||
"/var/lib/docker"
|
||||
"/var/lib/nixos"
|
||||
"/var/lib/systemd/coredump"
|
||||
"/etc/NetworkManager/system-connections"
|
||||
|
||||
@@ -14,8 +14,40 @@
|
||||
firewall = {
|
||||
enable = true;
|
||||
# Ports used by Local Send
|
||||
allowedTCPPorts = [ 53317 ];
|
||||
allowedUDPPorts = [ 53317 ];
|
||||
allowedTCPPorts = [
|
||||
53317
|
||||
8001
|
||||
8002
|
||||
8003
|
||||
8004
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
53317
|
||||
8001
|
||||
8002
|
||||
8003
|
||||
8004
|
||||
];
|
||||
extraCommands = "
|
||||
iptables -I nixos-fw 1 -i br+ -j ACCEPT
|
||||
";
|
||||
extraStopCommands = "
|
||||
iptables -D nixos-fw -i br+ -j ACCEPT
|
||||
";
|
||||
};
|
||||
hosts = {
|
||||
"127.0.0.1" = [
|
||||
"localhost"
|
||||
"host.docker.internal"
|
||||
"runcats.test"
|
||||
"dev.runcats.test"
|
||||
"landing.runcats.test"
|
||||
"api.runcats.test"
|
||||
"mail.runcats.test"
|
||||
"kibana.runcats.test"
|
||||
"img.runcats.test"
|
||||
"docs.runcats.test"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
gcc # C compiler
|
||||
git # Git
|
||||
gnome-calculator # Calculator TODO: Find a better TUI calculator
|
||||
gnome-keyring
|
||||
grim # Screenshot tool TODO: Figure out and configure
|
||||
gum # Terminal UI tool
|
||||
highlight # Syntax highlighting tool TODO: Hook up to ZSH
|
||||
@@ -29,14 +30,17 @@
|
||||
lazygit # Git TUI
|
||||
less # Pager
|
||||
libnotify # Notification daemon
|
||||
localsend # Local file sharing tool
|
||||
makima # Key remapper for Linux TODO: Figure out and configure
|
||||
mako # Notification daemon
|
||||
neovim # Editor
|
||||
pkgs-unstable.neovim # Editor
|
||||
nix-gaming.mo2installer
|
||||
nodePackages.pnpm # JavaScript package manager (used by Neovim plugins)
|
||||
tree-sitter # Incremental parsing tool for editors
|
||||
nodejs_24 # JavaScript runtime
|
||||
openssl # SSL/TLS toolkit
|
||||
p7zip # 7-Zip archiver
|
||||
pipewire
|
||||
pkgs-unstable.yazi # Terminal file manager
|
||||
pywal16 # Image colorscheme generator
|
||||
qt6.qtwayland # qtwayland support
|
||||
@@ -45,6 +49,7 @@
|
||||
rustc # Rust compiler
|
||||
rustfmt # Rust formatter
|
||||
satty # Screenshot editor TODO: Figure out and configure
|
||||
seahorse # GNOME Keyring manager
|
||||
sshpass # SSH with password in CLI, used by install scripts
|
||||
swaybg # Wayland wallpaper utility
|
||||
tldr # Simplified man pages
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
{ pkgs, pkgs-unstable, hostname, ... }:
|
||||
|
||||
{
|
||||
|
||||
programs = {
|
||||
# Easy file sharing on local network
|
||||
localsend = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
nix-ld.enable = true;
|
||||
zsh = {
|
||||
enable = true;
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
package = pkgs-unstable.hyprland;
|
||||
portalPackage = pkgs-unstable.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
steam = {
|
||||
enable = hostname == "station";
|
||||
package = pkgs-unstable.steam;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
autoLogin.user = "chris";
|
||||
defaultSession = "hyprland-uwsm";
|
||||
};
|
||||
gnome.gnome-keyring.enable = true;
|
||||
};
|
||||
|
||||
security.pam.services.sddm.enableGnomeKeyring = true;
|
||||
}
|
||||
|
||||
11
system/sound.nix
Normal file
11
system/sound.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
}
|
||||
5
system/time.nix
Normal file
5
system/time.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{...}:
|
||||
|
||||
{
|
||||
time.timeZone = "Europe/London";
|
||||
}
|
||||
@@ -4,12 +4,28 @@
|
||||
users.users.chris = {
|
||||
uid = 1000;
|
||||
isNormalUser = true;
|
||||
initialPassword = "changeme123";
|
||||
hashedPasswordFile = "/persist/passwords/chris";
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [
|
||||
"chris"
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
"docker"
|
||||
];
|
||||
};
|
||||
system.activationScripts = {
|
||||
setupInitialPassword = {
|
||||
text = ''
|
||||
# Ensure the directory exists
|
||||
mkdir -p /persist/passwords
|
||||
|
||||
# Copy the initial hash if the file is missing
|
||||
if [ ! -f /persist/passwords/chris ]; then
|
||||
cp ${../initial-configs/passwords/chris} /persist/passwords/chris
|
||||
chmod 600 /persist/passwords/chris
|
||||
chown root:root /persist/passwords/chris
|
||||
fi
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
10
system/virtualisation.nix
Normal file
10
system/virtualisation.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
virtualization = {
|
||||
docker.enable = true;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user