Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a12606f4e | ||
|
|
7aa5fb2295 | ||
|
|
46a7c6728d | ||
|
|
6788693016 | ||
|
|
06466f1064 | ||
|
|
4a185350a8 | ||
|
|
979b57474f | ||
|
|
61a8c459d6 | ||
|
|
c181767427 | ||
|
|
9e0c352e0a | ||
|
|
0838e60998 | ||
|
|
4dd6269207 | ||
|
|
c504fea109 | ||
|
|
3e9aa3f842 | ||
|
|
f33d6be892 | ||
|
|
98f039d2a2 | ||
|
|
931e6f1c8f | ||
|
|
28842f376b | ||
|
|
cf9881008a | ||
|
|
5c7992e05a | ||
|
|
a91960835c | ||
|
|
0d298a56fc | ||
|
|
4b4fd35706 | ||
|
|
e06340c2d2 | ||
|
|
3c791598fa | ||
|
|
99d40d1f8c |
@@ -16,6 +16,12 @@
|
|||||||
tm = "tmux attach || tmux";
|
tm = "tmux attach || tmux";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
# enableFishIntegration = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
home.file.".config/atuin/config.toml".source = ./atuin/config.toml;
|
home.file.".config/atuin/config.toml".source = ./atuin/config.toml;
|
||||||
home.file.".config/nvim/init.lua".source = ./nvim/init.lua;
|
home.file.".config/nvim/init.lua".source = ./nvim/init.lua;
|
||||||
home.file.".config/tmux/tmux.conf".source = ./tmux/tmux.conf;
|
home.file.".config/tmux/tmux.conf".source = ./tmux/tmux.conf;
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
chromium
|
chromium
|
||||||
loupe
|
loupe
|
||||||
papers
|
papers
|
||||||
|
brightnessctl
|
||||||
|
wev
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
@@ -41,7 +43,14 @@
|
|||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"image/jpeg" = [ "loupe" ];
|
"text/html" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/http" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/https" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/about" = "firefox.desktop";
|
||||||
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
||||||
|
|
||||||
|
"image/jpeg" = [ "org.gnome.Loupe.desktop" ];
|
||||||
|
"image/jpg" = [ "org.gnome.Loupe.desktop" ];
|
||||||
"image/png" = [ "org.gnome.Loupe.desktop" ];
|
"image/png" = [ "org.gnome.Loupe.desktop" ];
|
||||||
"image/gif" = [ "org.gnome.Loupe.desktop" ];
|
"image/gif" = [ "org.gnome.Loupe.desktop" ];
|
||||||
"image/webp" = [ "org.gnome.Loupe.desktop" ];
|
"image/webp" = [ "org.gnome.Loupe.desktop" ];
|
||||||
|
|||||||
@@ -10,7 +10,15 @@ in
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
foliate
|
foliate
|
||||||
inputs.locutus.packages.${pkgs.stdenv.hostPlatform.system}.default
|
inputs.locutus.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
jrnl
|
# jrnl
|
||||||
|
# disable tests for now until the bug is fixed
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/476190
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/479705
|
||||||
|
(jrnl.overrideAttrs (old: {
|
||||||
|
disabledTests = (old.disabledTests or []) ++ [
|
||||||
|
"test_override_configured_linewrap_with_a_value_of_23"
|
||||||
|
];
|
||||||
|
}))
|
||||||
mullvad-browser
|
mullvad-browser
|
||||||
tor-browser
|
tor-browser
|
||||||
exiftool
|
exiftool
|
||||||
@@ -18,12 +26,33 @@ in
|
|||||||
shotwell
|
shotwell
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
bitwarden-desktop
|
bitwarden-desktop
|
||||||
signal-desktop
|
(symlinkJoin {
|
||||||
|
name = "signal-desktop-wrapped";
|
||||||
|
paths = [ signal-desktop ];
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
rm $out/bin/signal-desktop
|
||||||
|
makeWrapper ${signal-desktop}/bin/signal-desktop $out/bin/signal-desktop \
|
||||||
|
--add-flags "--password-store=gnome-libsecret"
|
||||||
|
'';
|
||||||
|
})
|
||||||
spotify
|
spotify
|
||||||
gemini-cli
|
unstable.gemini-cli
|
||||||
|
unstable.claude-code
|
||||||
|
|
||||||
foliate
|
foliate
|
||||||
|
|
||||||
|
wine
|
||||||
|
lutris
|
||||||
|
steam
|
||||||
|
|
||||||
|
gqrx
|
||||||
|
sdrpp
|
||||||
|
rtl-sdr
|
||||||
|
rtl_433
|
||||||
|
|
||||||
|
ledger-live-desktop
|
||||||
|
|
||||||
(symlinkJoin {
|
(symlinkJoin {
|
||||||
name = "darktable";
|
name = "darktable";
|
||||||
paths = [ unstable.darktable ];
|
paths = [ unstable.darktable ];
|
||||||
|
|||||||
@@ -162,9 +162,13 @@ in
|
|||||||
"${modifier}+Shift+c" = "reload";
|
"${modifier}+Shift+c" = "reload";
|
||||||
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
||||||
|
|
||||||
|
"${modifier}+b" = "exec firefox";
|
||||||
|
|
||||||
"${modifier}+Shift+l" = "exec swaylock -f";
|
"${modifier}+Shift+l" = "exec swaylock -f";
|
||||||
|
|
||||||
"${modifier}+Shift+s" = "exec grim -g \"$(slurp)\" - | wl-copy";
|
"${modifier}+Shift+s" = "exec grim -g \"$(slurp)\" - | tee \"/home/alex/Pictures/Screenshots/$(date +'%Y%m%d_%Hh%Mm%Ss_grim.png')\" | wl-copy";
|
||||||
|
|
||||||
|
"Print" = "exec grim - | tee \"/home/alex/Pictures/Screenshots/$(date +'%Y%m%d_%Hh%Mm%Ss_grim.png')\" | wl-copy";
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
"--whole-window ${modifier}+button4" = "workspace prev";
|
"--whole-window ${modifier}+button4" = "workspace prev";
|
||||||
@@ -173,8 +177,8 @@ in
|
|||||||
"XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
|
"XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
|
||||||
"XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
"XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
||||||
"XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
"XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
"XF86MonBrightnessUp" = "exec light -A 5";
|
"XF86MonBrightnessUp" = "exec brightnessctl set 10%+";
|
||||||
"XF86MonBrightnessDown" = "exec light -U 5";
|
"XF86MonBrightnessDown" = "exec brightnessctl set 10%-";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -266,7 +270,7 @@ in
|
|||||||
terminal = "${pkgs.wezterm}/bin/wezterm";
|
terminal = "${pkgs.wezterm}/bin/wezterm";
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
width = 100;
|
width = 100;
|
||||||
line-height = 40;
|
line-height = 25;
|
||||||
font = "JetBrainsMono Nerd Font:size=12";
|
font = "JetBrainsMono Nerd Font:size=12";
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ tmux_conf_new_session_retain_current_path=false
|
|||||||
# - true
|
# - true
|
||||||
# - false (default)
|
# - false (default)
|
||||||
# - disabled (do not modify new-window bindings)
|
# - disabled (do not modify new-window bindings)
|
||||||
tmux_conf_new_window_retain_current_path=false
|
tmux_conf_new_window_retain_current_path=true
|
||||||
|
|
||||||
# new window tries to reconnect ssh sessions, possible values are:
|
# new window tries to reconnect ssh sessions, possible values are:
|
||||||
# - true
|
# - true
|
||||||
|
|||||||
18
flake.lock
generated
18
flake.lock
generated
@@ -25,11 +25,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767514898,
|
"lastModified": 1773264488,
|
||||||
"narHash": "sha256-ONYqnKrPzfKEEPChoJ9qPcfvBqW9ZgieDKD7UezWPg4=",
|
"narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "7a06e8a2f844e128d3b210a000a62716b6040b7f",
|
"rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -76,11 +76,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767379071,
|
"lastModified": 1773282481,
|
||||||
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
|
"narHash": "sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
|
"rev": "fe416aaedd397cacb33a610b33d60ff2b431b127",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -92,11 +92,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767325753,
|
"lastModified": 1773375660,
|
||||||
"narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=",
|
"narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "64049ca74d63e971b627b5f3178d95642e61cedd",
|
"rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -24,6 +24,27 @@
|
|||||||
# Use latest kernel.
|
# Use latest kernel.
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
# Enable AMD GPU drivers
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
|
# Enable ROCm support
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
hardware.amdgpu.opencl.enable = true;
|
||||||
|
|
||||||
|
# Add the ROCm packages to your system
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
rocmPackages.rocminfo
|
||||||
|
rocmPackages.rocm-smi
|
||||||
|
];
|
||||||
|
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
acceleration = "rocm";
|
||||||
|
# Force the RX 6600 to use compatible ROCm kernels
|
||||||
|
rocmOverrideGfx = "10.3.0";
|
||||||
|
};
|
||||||
|
|
||||||
# Setup keyfile
|
# Setup keyfile
|
||||||
boot.initrd.secrets = {
|
boot.initrd.secrets = {
|
||||||
"/boot/crypto_keyfile.bin" = null;
|
"/boot/crypto_keyfile.bin" = null;
|
||||||
|
|||||||
@@ -1,32 +1,47 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
{
|
{
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.alex = {
|
users = {
|
||||||
|
users.alex = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Alexander Wainwright";
|
description = "Alexander Wainwright";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [
|
||||||
|
"dialout"
|
||||||
|
"input"
|
||||||
|
"networkmanager"
|
||||||
|
"plugdev"
|
||||||
|
"render"
|
||||||
|
"video"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# thunderbird
|
# thunderbird
|
||||||
];
|
];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
};
|
};
|
||||||
|
groups.pluggdev = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.udev.packages = [ pkgs.rtl-sdr ];
|
||||||
|
|
||||||
# this is to avoid some problem that happens apparently only when fish is
|
# this is to avoid some problem that happens apparently only when fish is
|
||||||
# enabled, where generating man cahes takes a very long time. note that it may
|
# enabled, where generating man cahes takes a very long time. note that it may
|
||||||
# break fish man completion and apropos.
|
# break fish man completion and apropos.
|
||||||
documentation.man.generateCaches = false;
|
documentation.man.generateCaches = false;
|
||||||
|
|
||||||
# enable a 1GB swap file
|
|
||||||
swapDevices = [{
|
|
||||||
device = "/swapfile";
|
|
||||||
size = 1024;
|
|
||||||
}];
|
|
||||||
|
|
||||||
# enable zram. not totally sure if this does it in physical ram or just swap
|
# enable zram. not totally sure if this does it in physical ram or just swap
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
||||||
|
boot.kernel.sysctl = {
|
||||||
|
"vm.swappiness" = 10;
|
||||||
|
};
|
||||||
|
|
||||||
# enable earlyoom to stop the system becoming unresponsive when out of ram
|
# enable earlyoom to stop the system becoming unresponsive when out of ram
|
||||||
services.earlyoom.enable = true;
|
services.earlyoom = {
|
||||||
|
enable = true;
|
||||||
|
freeMemThreshold = 10;
|
||||||
|
freeSwapThreshold = 90;
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 8000 8080 ];
|
networking.firewall.allowedTCPPorts = [ 8000 8080 ];
|
||||||
|
|
||||||
@@ -54,6 +69,19 @@
|
|||||||
# fish shell
|
# fish shell
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
|
|
||||||
|
# direnv
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.direnv;
|
||||||
|
silent = false;
|
||||||
|
loadInNixShell = true;
|
||||||
|
direnvrcExtra = "";
|
||||||
|
nix-direnv = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.nix-direnv;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Create a library path that only applies to unpackaged programs by using
|
# Create a library path that only applies to unpackaged programs by using
|
||||||
# nix-ldo
|
# nix-ldo
|
||||||
# https://nix.dev/guides/faq#how-to-run-non-nix-executables
|
# https://nix.dev/guides/faq#how-to-run-non-nix-executables
|
||||||
@@ -109,6 +137,9 @@
|
|||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
# enable mosh
|
||||||
|
programs.mosh.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
@@ -140,6 +171,10 @@
|
|||||||
wireguard-tools
|
wireguard-tools
|
||||||
zip
|
zip
|
||||||
|
|
||||||
|
# maths
|
||||||
|
bc
|
||||||
|
libqalculate
|
||||||
|
|
||||||
# build tools
|
# build tools
|
||||||
binutils
|
binutils
|
||||||
cmake
|
cmake
|
||||||
|
|||||||
@@ -5,7 +5,4 @@
|
|||||||
"192.168.1.80"
|
"192.168.1.80"
|
||||||
"192.168.1.20"
|
"192.168.1.20"
|
||||||
];
|
];
|
||||||
|
|
||||||
# enable mosh
|
|
||||||
programs.mosh.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user