Compare commits
No commits in common. "e826d26833ac4ee8a51564e489e1b10a0ec59bd3" and "fb7f3b5d15d41b11350460c8250980a89d7d83c2" have entirely different histories.
e826d26833
...
fb7f3b5d15
5 changed files with 74 additions and 94 deletions
|
|
@ -13,6 +13,8 @@
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.kernelParams = [ "usbcore.autosuspend=-1" ];
|
||||||
|
|
||||||
# Boot time optimizations
|
# Boot time optimizations
|
||||||
boot.loader.timeout = 0; # Boot immediately without waiting for user input
|
boot.loader.timeout = 0; # Boot immediately without waiting for user input
|
||||||
|
|
||||||
|
|
@ -142,7 +144,6 @@
|
||||||
geary # Email
|
geary # Email
|
||||||
gnome-tour
|
gnome-tour
|
||||||
gnome-font-viewer # Have font-manager
|
gnome-font-viewer # Have font-manager
|
||||||
nautilus # Using Nemo
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
|
|
@ -189,9 +190,6 @@
|
||||||
# Framework-specific services
|
# Framework-specific services
|
||||||
# Enable fwupd for BIOS updates (distributed through LVFS)
|
# Enable fwupd for BIOS updates (distributed through LVFS)
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = true;
|
||||||
|
|
||||||
# Enable periodic TRIM for NVMe/SSD health
|
|
||||||
services.fstrim.enable = true;
|
|
||||||
|
|
||||||
# Enable automatic garbage collection to prevent old generations from slowing boot
|
# Enable automatic garbage collection to prevent old generations from slowing boot
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
|
|
@ -200,7 +198,6 @@
|
||||||
options = "--delete-older-than 7d";
|
options = "--delete-older-than 7d";
|
||||||
};
|
};
|
||||||
nix.settings.auto-optimise-store = true;
|
nix.settings.auto-optimise-store = true;
|
||||||
nix.optimise.automatic = true;
|
|
||||||
|
|
||||||
# Optimize Nix for RAM - use more memory for builds
|
# Optimize Nix for RAM - use more memory for builds
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
|
|
@ -341,16 +338,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# GameCube adapter udev rules for Slippi/Dolphin
|
# GameCube adapter udev rules for Slippi/Dolphin
|
||||||
# Disable USB autosuspend for Framework's problematic devices (fingerprint reader, USB-C hub)
|
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# GameCube adapter USB device (vendor ID 057e, product ID 0337)
|
# GameCube adapter USB device (vendor ID 057e, product ID 0337)
|
||||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"
|
||||||
# GameCube adapter HID device (needed for Dolphin to access controllers)
|
# GameCube adapter HID device (needed for Dolphin to access controllers)
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666", GROUP="input"
|
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666", GROUP="input"
|
||||||
# Disable autosuspend for Framework fingerprint reader
|
|
||||||
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="27a6", ATTR{power/autosuspend}="-1"
|
|
||||||
# Disable autosuspend for Framework USB-C hub controllers
|
|
||||||
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="32ac", ATTR{power/autosuspend}="-1"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
|
|
@ -367,4 +359,19 @@
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "25.05"; # Did you read the comment?
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
# Set user profile picture for GNOME
|
||||||
|
# Set user profile picture for GNOME
|
||||||
|
system.activationScripts.script.text = ''
|
||||||
|
mkdir -p /var/lib/AccountsService/{icons,users}
|
||||||
|
img="/home/jet/Documents/nix-config/cat.png"
|
||||||
|
if [ -f "$img" ]; then
|
||||||
|
cp "$img" /var/lib/AccountsService/icons/jet
|
||||||
|
echo -e "[User]\nIcon=/var/lib/AccountsService/icons/jet\n" > /var/lib/AccountsService/users/jet
|
||||||
|
chown root:root /var/lib/AccountsService/users/jet
|
||||||
|
chmod 0600 /var/lib/AccountsService/users/jet
|
||||||
|
chown root:root /var/lib/AccountsService/icons/jet
|
||||||
|
chmod 0444 /var/lib/AccountsService/icons/jet
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
57
flake.lock
generated
57
flake.lock
generated
|
|
@ -1,25 +1,5 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"claude-code-overlay": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772252606,
|
|
||||||
"narHash": "sha256-SiIhFq4XbD3LmODQ2mTtakRBnjBn/KoSgAOId1cL1Ks=",
|
|
||||||
"owner": "ryoppippi",
|
|
||||||
"repo": "claude-code-overlay",
|
|
||||||
"rev": "b1ebf027412136bbbe4202741c3d48721644bc4b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ryoppippi",
|
|
||||||
"repo": "claude-code-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
|
|
@ -48,11 +28,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772569491,
|
"lastModified": 1772218752,
|
||||||
"narHash": "sha256-bdr6ueeXO1Xg91sFkuvaysYF0mVdwHBpdyhTjBEWv+s=",
|
"narHash": "sha256-G8nArvOTZXU8DRvrzAdz3Elcj6kA/vMtvY9mrGLATtA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "924e61f5c2aeab38504028078d7091077744ab17",
|
"rev": "f3a30376bb9eb2f6f61816be7d6ed954b6d2a3b9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -69,11 +49,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772330611,
|
"lastModified": 1771756436,
|
||||||
"narHash": "sha256-UZjPc/d5XRxvjDbk4veAO4XFdvx6BUum2l40V688Xq8=",
|
"narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "58fd7ff0eec2cda43e705c4c0585729ec471d400",
|
"rev": "5bd3589390b431a63072868a90c0f24771ff4cbb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -89,11 +69,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772341813,
|
"lastModified": 1771734689,
|
||||||
"narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=",
|
"narHash": "sha256-/phvMgr1yutyAMjKnZlxkVplzxHiz60i4rc+gKzpwhg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f",
|
"rev": "8f590b832326ab9699444f3a48240595954a4b10",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -119,11 +99,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772542754,
|
"lastModified": 1771848320,
|
||||||
"narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
|
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4",
|
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -141,11 +121,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772583385,
|
"lastModified": 1772315374,
|
||||||
"narHash": "sha256-3m4A+B/CnrG3xUeZbOw1OoLdSvB+7I/zZTW4fLM1go0=",
|
"narHash": "sha256-OQUKXqb5orWghLM0Ttq9Yb0BTvPHqcbHCacm3Mg7nSs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "29adb5e8129c1020e59ca0a76b2a40d0e4a74eb1",
|
"rev": "7b95523b69ea5c3ff1379908bc0203a01e1f8430",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -156,7 +136,6 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"claude-code-overlay": "claude-code-overlay",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
|
|
@ -173,11 +152,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772517053,
|
"lastModified": 1772306482,
|
||||||
"narHash": "sha256-aBuL2TFnyBLR+t6iBlKnTWWzprXYKQQIaV0IuCSPPeE=",
|
"narHash": "sha256-092P58kRKiLBn0eg4eI67frffMkKiDhOa1ZOREmMeB4=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "32e9673aee2ae994ced561247918952398a3e933",
|
"rev": "2e593ac6926cbf44adc8c9ef785da024812d2467",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
18
flake.nix
18
flake.nix
|
|
@ -18,10 +18,6 @@
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
claude-code-overlay = {
|
|
||||||
url = "github:ryoppippi/claude-code-overlay";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{
|
outputs = inputs@{
|
||||||
|
|
@ -50,7 +46,19 @@
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
inputs.nur.overlays.default
|
inputs.nur.overlays.default
|
||||||
inputs.claude-code-overlay.overlays.default
|
(final: prev: {
|
||||||
|
|
||||||
|
antigravity = prev.antigravity.overrideAttrs (oldAttrs: rec {
|
||||||
|
version = "1.18.3";
|
||||||
|
src = prev.fetchurl {
|
||||||
|
url = "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.18.3-4739469533380608/linux-x64/Antigravity.tar.gz";
|
||||||
|
hash = "sha256:0f4n3i45gjr36hidpvibzn3p2jla2r7wg91ybmf2akafjn6f8zsc";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
antigravity-fhs = final.antigravity.fhs;
|
||||||
|
|
||||||
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,14 @@
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
# Add swap file for hibernation support
|
||||||
|
# This creates a 96GB swap file to match your RAM capacity
|
||||||
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/swapfile";
|
||||||
|
size = 98304; # 96GB in MB
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
57
home.nix
57
home.nix
|
|
@ -5,10 +5,19 @@
|
||||||
|
|
||||||
home.username = "jet";
|
home.username = "jet";
|
||||||
home.homeDirectory = "/home/jet";
|
home.homeDirectory = "/home/jet";
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "23.05";
|
||||||
|
|
||||||
|
# Define configuration directory
|
||||||
|
# Note: we can't use config.home.homeDirectory in the let block if we're also defining it in the set
|
||||||
|
# recursively without strict evaluation issues sometimes, but here it should be fine if we just use the string.
|
||||||
|
# Safer to just use /home/jet or home.homeDirectory if it was passed in.
|
||||||
|
# Actually, `config.home.homeDirectory` is safe to use inside simple attribute sets.
|
||||||
|
# Let's use a let binding for clarity.
|
||||||
|
|
||||||
# Configure GNOME settings
|
# Configure GNOME settings
|
||||||
dconf.settings = {
|
dconf.settings = let
|
||||||
|
nixConfigDirectory = "${config.home.homeDirectory}/Documents/nix-config";
|
||||||
|
in {
|
||||||
"org/gnome/desktop/interface" = {
|
"org/gnome/desktop/interface" = {
|
||||||
clock-format = "12h";
|
clock-format = "12h";
|
||||||
clock-show-weekday = true;
|
clock-show-weekday = true;
|
||||||
|
|
@ -19,6 +28,11 @@
|
||||||
"org/gnome/system/location" = {
|
"org/gnome/system/location" = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
};
|
};
|
||||||
|
"org/gnome/desktop/background" = {
|
||||||
|
picture-uri = "file://${nixConfigDirectory}/cat.png";
|
||||||
|
picture-uri-dark = "file://${nixConfigDirectory}/cat.png";
|
||||||
|
picture-options = "wallpaper";
|
||||||
|
};
|
||||||
"org/gnome/settings-daemon/plugins/power" = {
|
"org/gnome/settings-daemon/plugins/power" = {
|
||||||
sleep-inactive-ac-type = "nothing";
|
sleep-inactive-ac-type = "nothing";
|
||||||
};
|
};
|
||||||
|
|
@ -87,10 +101,11 @@
|
||||||
logseq
|
logseq
|
||||||
prismlauncher
|
prismlauncher
|
||||||
nemo-with-extensions
|
nemo-with-extensions
|
||||||
file-roller
|
|
||||||
font-manager
|
font-manager
|
||||||
|
antigravity-fhs
|
||||||
claude-code
|
claude-code
|
||||||
kdePackages.kdenlive
|
kdePackages.kdenlive
|
||||||
|
zulip
|
||||||
vesktop
|
vesktop
|
||||||
obs-studio
|
obs-studio
|
||||||
|
|
||||||
|
|
@ -189,10 +204,6 @@
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
"dr" = "direnv reload";
|
|
||||||
"da" = "direnv allow";
|
|
||||||
"nfu" = "nix flake update";
|
|
||||||
"c" = "claude";
|
|
||||||
"." = "z ..";
|
"." = "z ..";
|
||||||
".." = "z ..";
|
".." = "z ..";
|
||||||
j = "jj";
|
j = "jj";
|
||||||
|
|
@ -351,28 +362,6 @@
|
||||||
comment = "Fast, featureful, GPU based terminal emulator";
|
comment = "Fast, featureful, GPU based terminal emulator";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Extract archives on double-click
|
|
||||||
xdg.desktopEntries.extract-here = {
|
|
||||||
name = "Extract Here";
|
|
||||||
exec = "file-roller --extract-here %U";
|
|
||||||
icon = "file-roller";
|
|
||||||
type = "Application";
|
|
||||||
categories = ["Utility"];
|
|
||||||
mimeType = [
|
|
||||||
"application/zip"
|
|
||||||
"application/x-tar"
|
|
||||||
"application/x-compressed-tar"
|
|
||||||
"application/x-bzip-compressed-tar"
|
|
||||||
"application/x-xz-compressed-tar"
|
|
||||||
"application/x-zstd-compressed-tar"
|
|
||||||
"application/gzip"
|
|
||||||
"application/x-7z-compressed"
|
|
||||||
"application/x-rar"
|
|
||||||
"application/x-rar-compressed"
|
|
||||||
];
|
|
||||||
noDisplay = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Autostart applications using proper desktop files
|
# Autostart applications using proper desktop files
|
||||||
xdg.autostart = {
|
xdg.autostart = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -392,16 +381,6 @@
|
||||||
"x-scheme-handler/about" = "zen.desktop";
|
"x-scheme-handler/about" = "zen.desktop";
|
||||||
"x-scheme-handler/unknown" = "zen.desktop";
|
"x-scheme-handler/unknown" = "zen.desktop";
|
||||||
"inode/directory" = "nemo.desktop";
|
"inode/directory" = "nemo.desktop";
|
||||||
"application/zip" = "extract-here.desktop";
|
|
||||||
"application/x-tar" = "extract-here.desktop";
|
|
||||||
"application/x-compressed-tar" = "extract-here.desktop";
|
|
||||||
"application/x-bzip-compressed-tar" = "extract-here.desktop";
|
|
||||||
"application/x-xz-compressed-tar" = "extract-here.desktop";
|
|
||||||
"application/x-zstd-compressed-tar" = "extract-here.desktop";
|
|
||||||
"application/gzip" = "extract-here.desktop";
|
|
||||||
"application/x-7z-compressed" = "extract-here.desktop";
|
|
||||||
"application/x-rar" = "extract-here.desktop";
|
|
||||||
"application/x-rar-compressed" = "extract-here.desktop";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue