Compare commits

...

9 Commits

Author SHA1 Message Date
Weckyy702
9ff0b329ec Update nixpkgs 2026-03-11 18:46:00 +01:00
Weckyy702
f94bd3d1d6 misc updates 2026-03-11 18:45:48 +01:00
Weckyy702
5a89753893 Update nixvim config 2026-03-11 18:45:27 +01:00
Weckyy702
e6c80668cd Add gdb 2026-03-11 18:43:24 +01:00
Weckyy702
9bda8655f2 Move SSH config to separate directory 2026-03-11 17:50:21 +01:00
Weckyy702
606d4ecaa6 Formatting 2026-03-11 17:49:23 +01:00
Weckyy702
a943d8c45c Hyprland: Use enable switch 2026-03-11 17:48:25 +01:00
Weckyy702
8bc4daf4d6 GPU: Enable AMD specific stuff 2026-03-11 17:44:14 +01:00
Weckyy702
c81a4768cf Move zen browser to user specific packages 2026-03-11 17:43:31 +01:00
16 changed files with 162 additions and 117 deletions

View File

@@ -63,8 +63,8 @@
wget wget
git git
cifs-utils # required for network mounting the NAS cifs-utils # required for network mounting the NAS
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
age age
rocmPackages.amdsmi
]; ];
fonts = { fonts = {
@@ -77,10 +77,10 @@
catppuccin.enable = true; catppuccin.enable = true;
programs.hyprland = { programs.hyprland.enable = true;
enable = true; # Force electron apps to use wayland
xwayland.enable = true; environment.sessionVariables.NIXOS_OZONE_WL = "1";
};
programs.zsh.enable = true; programs.zsh.enable = true;
programs.steam = { programs.steam = {
@@ -125,6 +125,7 @@
"user,users" "user,users"
"uid=1000" "uid=1000"
"gid=100" "gid=100"
#TODO: we should use age for this
"credentials=/etc/nixos/secrets/nas-share.creds" "credentials=/etc/nixos/secrets/nas-share.creds"
]; ];
}; };
@@ -132,8 +133,6 @@
# required for zsh completion # required for zsh completion
environment.pathsToLink = [ "/share/zsh" ]; environment.pathsToLink = [ "/share/zsh" ];
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# List services that you want to enable: # List services that you want to enable:
services.kanata = { services.kanata = {
@@ -180,6 +179,8 @@
}; };
}; };
services.nixseparatedebuginfod2.enable = true;
services.mullvad-vpn.enable = true; services.mullvad-vpn.enable = true;
services.pipewire = { services.pipewire = {
alsa.enable = true; alsa.enable = true;

42
flake.lock generated
View File

@@ -29,11 +29,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765835352, "lastModified": 1768135262,
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "a34fae9c08a15ad73f295041fec82323541400a9", "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -67,11 +67,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767910483, "lastModified": 1772985280,
"narHash": "sha256-MOU5YdVu4DVwuT5ztXgQpPuRRBjSjUGIdUzOQr9iQOY=", "narHash": "sha256-FdrNykOoY9VStevU4zjSUdvsL9SzJTcXt4omdEDZDLk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "82fb7dedaad83e5e279127a38ef410bcfac6d77c", "rev": "8f736f007139d7f70752657dff6a401a585d6cbc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -111,11 +111,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1768028080, "lastModified": 1773068389,
"narHash": "sha256-50aDK+8eLvsLK39TzQhKNq50/HcXyP4hyxOYoPoVxjo=", "narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d03088749a110d52a4739348f39a63f84bb0be14", "rev": "44bae273f9f82d480273bab26f5c50de3724f52f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -135,11 +135,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1767448089, "lastModified": 1769049374,
"narHash": "sha256-U1fHsZBnFrUil731NHD9Sg5HoiG+eSHau8OFuClhwW0=", "narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "983751b66f255bbea1adc185364e9e7b73f82358", "rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -159,11 +159,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1761730856, "lastModified": 1768249818,
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=", "narHash": "sha256-ANfn5OqIxq3HONPIXZ6zuI5sLzX1sS+2qcf/Pa0kQEc=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b", "rev": "b6f77b88e9009bfde28e2130e218e5123dc66796",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -190,11 +190,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1769316930, "lastModified": 1773161309,
"narHash": "sha256-4EOGHYLpIscwr+6drHE28Qj7NDjjowp2Vd8QkXjdBBE=", "narHash": "sha256-k2Un0blYBeoN8mB5HO4rqCKISb427IWy0fzCdCUIcio=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "b2ce438f386943ef611e196a178af2d79042903b", "rev": "61df7293cf732c7b66cce7f8b46f7017e721a6cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -255,11 +255,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767618227, "lastModified": 1772685307,
"narHash": "sha256-9+XVF47E9NCVs249SSsDtr7YdG/23/lCJmWAjQvOfqI=", "narHash": "sha256-5xthZHeqwBeXNhnRIlxnCuaZLky0SZ6vQsxtd+eqhTU=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "1586e49b3908b058e221f11d843eb46392dba17b", "rev": "dc92d88524ee83308795bc90f6a9f1d965265aaa",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -3,16 +3,21 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager.url = "github:nix-community/home-manager/release-25.11"; home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
nixvim.url = "github:nix-community/nixvim/nixos-25.11"; nixvim.url = "github:nix-community/nixvim/nixos-25.11";
nixvim.inputs.nixpkgs.follows = "nixpkgs"; nixvim.inputs.nixpkgs.follows = "nixpkgs";
zen-browser = { zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
catppuccin.url = "github:catppuccin/nix/release-25.11"; catppuccin.url = "github:catppuccin/nix/release-25.11";
catppuccin.inputs.nixpkgs.follows = "nixpkgs"; catppuccin.inputs.nixpkgs.follows = "nixpkgs";
spicetify-nix.url = "github:Gerg-L/spicetify-nix"; spicetify-nix.url = "github:Gerg-L/spicetify-nix";
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs"; spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
}; };

View File

@@ -1,22 +1,20 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ { config
config, , lib
lib, , pkgs
pkgs, , modulesPath
modulesPath, , username
username, , ...
...
}: { }: {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = ["amdgpu"]; boot.kernelModules = [ "kvm-amd" ];
boot.kernelModules = ["kvm-amd"]; boot.extraModulePackages = [ ];
boot.extraModulePackages = [];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/0869e843-348d-47e3-b6a1-79ad814ff62b"; device = "/dev/disk/by-uuid/0869e843-348d-47e3-b6a1-79ad814ff62b";
@@ -31,14 +29,19 @@
#TODO: add external hdd, nas, and ssd #TODO: add external hdd, nas, and ssd
swapDevices = [ swapDevices = [
{device = "/dev/disk/by-uuid/40b22e5b-839d-4189-93e7-246407cc76c7";} { device = "/dev/disk/by-uuid/40b22e5b-839d-4189-93e7-246407cc76c7"; }
]; ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.graphics.enable = true; hardware.graphics.enable = true;
hardware.graphics.extraPackages = [pkgs.rocmPackages.clr.icd]; hardware.graphics.extraPackages = [ pkgs.rocmPackages.clr.icd ];
hardware.amdgpu = {
initrd.enable = true;
opencl.enable = true;
};
networking.networkmanager = { networking.networkmanager = {
enable = true; enable = true;

View File

@@ -8,13 +8,11 @@ top @ { config
inputs.nixvim.homeModules.nixvim inputs.nixvim.homeModules.nixvim
inputs.catppuccin.homeModules.catppuccin inputs.catppuccin.homeModules.catppuccin
inputs.spicetify-nix.homeManagerModules.default inputs.spicetify-nix.homeManagerModules.default
./nixvim
./borgmatic.nix ./borgmatic.nix
./ssh.nix
# ./wlr-which-key.nix
]; ];
#NOTE: MUST be kept up to date with nixpkgs!
home.stateVersion = "25.11";
home.username = username; home.username = username;
home.homeDirectory = "/home/${username}"; home.homeDirectory = "/home/${username}";
@@ -26,7 +24,7 @@ top @ { config
xdg-user-dirs xdg-user-dirs
hyprpicker hyprpicker
libqalculate libqalculate
btop btop-rocm
xfce.thunar xfce.thunar
prismlauncher prismlauncher
playerctl playerctl
@@ -35,8 +33,15 @@ top @ { config
unzip unzip
file file
gnucash gnucash
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
prusa-slicer
gdb
]; ];
home.sessionVariables = {
EDITOR = "nvim";
};
home.pointerCursor = home.pointerCursor =
let let
size = 24; size = 24;
@@ -71,6 +76,13 @@ top @ { config
settings = (import ./hyprland/settings.nix) top; settings = (import ./hyprland/settings.nix) top;
}; };
#TODO: GDB configuration
programs.nixvim = {
enable = true;
imports = [ ./nixvim ];
};
programs.thunderbird = { programs.thunderbird = {
enable = true; enable = true;
profiles.default.isDefault = true; profiles.default.isDefault = true;
@@ -124,6 +136,7 @@ top @ { config
pkgs.rofi-calc pkgs.rofi-calc
]; ];
}; };
programs.zsh = { programs.zsh = {
enable = true; enable = true;
# For automatic login # For automatic login
@@ -146,6 +159,7 @@ top @ { config
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
fi fi
''; '';
plugins = [ plugins = [
{ {
name = "powerlevel10k"; name = "powerlevel10k";
@@ -214,8 +228,5 @@ top @ { config
services.hyprpolkitagent.enable = true; services.hyprpolkitagent.enable = true;
services.ssh-agent = { home.stateVersion = "25.11";
enable = true;
enableZshIntegration = true;
};
} }

View File

@@ -5,8 +5,8 @@
general = { general = {
border_size = 2; border_size = 2;
gaps_in = 5; gaps_in = 0;
gaps_out = 10; gaps_out = 5;
layout = "dwindle"; layout = "dwindle";
allow_tearing = false; allow_tearing = false;
resize_on_border = true; resize_on_border = true;

View File

@@ -1,13 +1,10 @@
{...}: { { ... }: {
imports = [ imports = [
./keymaps.nix ./keymaps.nix
./options.nix ./options.nix
./plugins ./plugins
]; ];
programs.nixvim = {
enable = true;
clipboard.register = "unnamedplus"; clipboard.register = "unnamedplus";
colorschemes.catppuccin = { colorschemes.catppuccin = {
@@ -19,5 +16,4 @@
cmp = true; cmp = true;
}; };
}; };
};
} }

View File

@@ -1,7 +1,7 @@
{ ... }: { { ... }: {
programs.nixvim.globals.mapleader = " "; globals.mapleader = " ";
programs.nixvim.keymaps = [ keymaps = [
{ {
key = "<esc>"; key = "<esc>";
action = ":noh<CR>"; action = ":noh<CR>";

View File

@@ -1,5 +1,5 @@
{...}: { { ... }: {
programs.nixvim.opts = { opts = {
# Expand tabs to 4 spaces # Expand tabs to 4 spaces
shiftwidth = 4; shiftwidth = 4;
softtabstop = 4; softtabstop = 4;

View File

@@ -1,9 +1,9 @@
{...}: { { ... }: {
imports = [ imports = [
./keymaps.nix ./keymaps.nix
]; ];
programs.nixvim.plugins = { plugins = {
lspkind.enable = true; lspkind.enable = true;
cmp-nvim-lsp-signature-help.enable = true; cmp-nvim-lsp-signature-help.enable = true;
@@ -14,9 +14,9 @@
autoLoad = true; autoLoad = true;
settings.sources = [ settings.sources = [
{name = "nvim_lsp";} { name = "nvim_lsp"; }
{name = "nvim_lsp_signature_help";} { name = "nvim_lsp_signature_help"; }
{name = "path";} { name = "path"; }
]; ];
settings.mapping = { settings.mapping = {

View File

@@ -1,5 +1,5 @@
{...}: { { ... }: {
programs.nixvim.keymaps = [ keymaps = [
{ {
key = "grd"; key = "grd";
action = "<cmd>Telescope lsp_definitions<CR>"; action = "<cmd>Telescope lsp_definitions<CR>";

View File

@@ -1,18 +1,17 @@
{...}: { { ... }: {
imports = [ imports = [
./lsp.nix ./lsp.nix
./telescope ./telescope
./cmp ./cmp
]; ];
programs.nixvim.plugins = { plugins = {
lualine.enable = true; lualine.enable = true;
web-devicons.enable = true; web-devicons.enable = true;
treesitter = { treesitter = {
enable = true; enable = true;
folding = true;
autoLoad = true; autoLoad = true;
}; };

View File

@@ -1,5 +1,4 @@
{...}: { { ... }: {
programs.nixvim = {
dependencies.rust-analyzer.enable = true; dependencies.rust-analyzer.enable = true;
lsp = { lsp = {
@@ -34,5 +33,4 @@
plugins.lspconfig.enable = true; plugins.lspconfig.enable = true;
plugins.clangd-extensions.enable = true; plugins.clangd-extensions.enable = true;
};
} }

View File

@@ -1,10 +1,10 @@
{...}: { { ... }: {
imports = [ imports = [
./keymaps.nix ./keymaps.nix
]; ];
programs.nixvim.dependencies.ripgrep.enable = true; dependencies.ripgrep.enable = true;
programs.nixvim.plugins.telescope = { plugins.telescope = {
enable = true; enable = true;
extensions.file-browser = { extensions.file-browser = {
enable = true; enable = true;

View File

@@ -1,5 +1,5 @@
{...}: { { ... }: {
programs.nixvim.keymaps = [ keymaps = [
{ {
key = "<leader>sf"; key = "<leader>sf";
action = "<cmd>Telescope find_files<CR>"; action = "<cmd>Telescope find_files<CR>";

32
home/ssh.nix Normal file
View File

@@ -0,0 +1,32 @@
{ ... }: {
programs.ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
forwardAgent = false;
addKeysToAgent = "no";
compression = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
};
"veltko.de" = {
user = "weckyy702";
port = 47213;
};
"duke.veltnet" = {
user = "konstantin";
};
#TODO: beastie
};
};
services.ssh-agent = {
enable = true;
enableZshIntegration = true;
};
}