Compare commits
9 Commits
63afa59e34
...
9ff0b329ec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9ff0b329ec | ||
|
|
f94bd3d1d6 | ||
|
|
5a89753893 | ||
|
|
e6c80668cd | ||
|
|
9bda8655f2 | ||
|
|
606d4ecaa6 | ||
|
|
a943d8c45c | ||
|
|
8bc4daf4d6 | ||
|
|
c81a4768cf |
@@ -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
42
flake.lock
generated
@@ -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": {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ ... }: {
|
||||
programs.nixvim.globals.mapleader = " ";
|
||||
globals.mapleader = " ";
|
||||
|
||||
programs.nixvim.keymaps = [
|
||||
keymaps = [
|
||||
{
|
||||
key = "<esc>";
|
||||
action = ":noh<CR>";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{...}: {
|
||||
programs.nixvim.opts = {
|
||||
{ ... }: {
|
||||
opts = {
|
||||
# Expand tabs to 4 spaces
|
||||
shiftwidth = 4;
|
||||
softtabstop = 4;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{...}: {
|
||||
programs.nixvim.keymaps = [
|
||||
{ ... }: {
|
||||
keymaps = [
|
||||
{
|
||||
key = "grd";
|
||||
action = "<cmd>Telescope lsp_definitions<CR>";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{...}: {
|
||||
programs.nixvim.keymaps = [
|
||||
{ ... }: {
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>sf";
|
||||
action = "<cmd>Telescope find_files<CR>";
|
||||
|
||||
32
home/ssh.nix
Normal file
32
home/ssh.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user