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

42
flake.lock generated
View File

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

View File

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

View File

@@ -1,22 +1,20 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
pkgs,
modulesPath,
username,
...
{ config
, lib
, pkgs
, modulesPath
, username
, ...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/0869e843-348d-47e3-b6a1-79ad814ff62b";
@@ -31,14 +29,19 @@
#TODO: add external hdd, nas, and ssd
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";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
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 = {
enable = true;

View File

@@ -8,13 +8,11 @@ top @ { config
inputs.nixvim.homeModules.nixvim
inputs.catppuccin.homeModules.catppuccin
inputs.spicetify-nix.homeManagerModules.default
./nixvim
./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.homeDirectory = "/home/${username}";
@@ -26,7 +24,7 @@ top @ { config
xdg-user-dirs
hyprpicker
libqalculate
btop
btop-rocm
xfce.thunar
prismlauncher
playerctl
@@ -35,8 +33,15 @@ top @ { config
unzip
file
gnucash
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
prusa-slicer
gdb
];
home.sessionVariables = {
EDITOR = "nvim";
};
home.pointerCursor =
let
size = 24;
@@ -71,6 +76,13 @@ top @ { config
settings = (import ./hyprland/settings.nix) top;
};
#TODO: GDB configuration
programs.nixvim = {
enable = true;
imports = [ ./nixvim ];
};
programs.thunderbird = {
enable = true;
profiles.default.isDefault = true;
@@ -124,6 +136,7 @@ top @ { config
pkgs.rofi-calc
];
};
programs.zsh = {
enable = true;
# For automatic login
@@ -138,7 +151,7 @@ top @ { config
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initContent = pkgs.lib.mkBefore ''
date
date
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
@@ -146,6 +159,7 @@ top @ { config
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
fi
'';
plugins = [
{
name = "powerlevel10k";
@@ -214,8 +228,5 @@ top @ { config
services.hyprpolkitagent.enable = true;
services.ssh-agent = {
enable = true;
enableZshIntegration = true;
};
home.stateVersion = "25.11";
}

View File

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

View File

@@ -1,23 +1,19 @@
{...}: {
{ ... }: {
imports = [
./keymaps.nix
./options.nix
./plugins
];
programs.nixvim = {
clipboard.register = "unnamedplus";
colorschemes.catppuccin = {
enable = true;
clipboard.register = "unnamedplus";
colorschemes.catppuccin = {
enable = true;
settings.flavour = "mocha";
settings.integrations = {
gitsigns = true;
treesitter = true;
cmp = true;
};
settings.flavour = "mocha";
settings.integrations = {
gitsigns = true;
treesitter = true;
cmp = true;
};
};
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,38 +1,36 @@
{...}: {
programs.nixvim = {
dependencies.rust-analyzer.enable = true;
{ ... }: {
dependencies.rust-analyzer.enable = true;
lsp = {
inlayHints.enable = true;
servers = {
"*" = {
config.capabilities.textDocument.semanticTokens.multilineTokenSupport = true;
config.root_markers = [
".git"
];
};
clangd = {
enable = true;
config.root_markers = [
"compile_commands.json"
];
};
rust_analyzer = {
enable = true;
};
rnix.enable = true;
lsp = {
inlayHints.enable = true;
servers = {
"*" = {
config.capabilities.textDocument.semanticTokens.multilineTokenSupport = true;
config.root_markers = [
".git"
];
};
keymaps = [
{
key = "<leader>e";
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Open Diagnostics";
}
];
clangd = {
enable = true;
config.root_markers = [
"compile_commands.json"
];
};
rust_analyzer = {
enable = true;
};
rnix.enable = true;
};
plugins.lspconfig.enable = true;
plugins.clangd-extensions.enable = true;
keymaps = [
{
key = "<leader>e";
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Open Diagnostics";
}
];
};
plugins.lspconfig.enable = true;
plugins.clangd-extensions.enable = true;
}

View File

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

View File

@@ -1,5 +1,5 @@
{...}: {
programs.nixvim.keymaps = [
{ ... }: {
keymaps = [
{
key = "<leader>sf";
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;
};
}