Redid setup. I swear the commit messages will get better

This commit is contained in:
Weckyy702
2026-01-16 00:21:04 +01:00
parent a561aa45e9
commit 156bd44710
8 changed files with 2044 additions and 21 deletions

View File

@@ -58,11 +58,10 @@
vim
wget
git
hyprpaper
cifs-utils # required for network mounting the NAS
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
];
programs.firefox.enable = true;
programs.hyprland = {
enable = true;
xwayland.enable = true;
@@ -114,6 +113,11 @@
#TODO: kanata config
};
services.tailscale = {
enable = true;
openFirewall = true;
};
# Enable the OpenSSH daemon.
# services.openssh.enable = true;

168
flake.lock generated
View File

@@ -1,5 +1,44 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1765835352,
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -21,6 +60,34 @@
"type": "github"
}
},
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754860581,
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.1.1",
"repo": "ixx",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1768028080,
@@ -37,10 +104,109 @@
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"systems": "systems_2"
},
"locked": {
"lastModified": 1767448089,
"narHash": "sha256-U1fHsZBnFrUil731NHD9Sg5HoiG+eSHau8OFuClhwW0=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "983751b66f255bbea1adc185364e9e7b73f82358",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "nixos-25.11",
"repo": "nixvim",
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1761730856,
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
"owner": "NuschtOS",
"repo": "search",
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"nixvim": "nixvim",
"zen-browser": "zen-browser"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1767618227,
"narHash": "sha256-9+XVF47E9NCVs249SSsDtr7YdG/23/lCJmWAjQvOfqI=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "1586e49b3908b058e221f11d843eb46392dba17b",
"type": "github"
},
"original": {
"owner": "youwen5",
"repo": "zen-browser-flake",
"type": "github"
}
}
},

View File

@@ -5,10 +5,15 @@
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";
#TODO: nixvim, etc
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";
};
};
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs: {
nixosConfigurations.keith =
let
hostname = "keith";

View File

@@ -1,21 +1,68 @@
{ config, pkgs, username, ...}: {
{ config, pkgs, username, inputs, ...}: {
imports = [
inputs.nixvim.homeModules.nixvim
];
#NOTE: MUST be kept up to date with nixpkgs!
home.stateVersion = "25.11";
home.username = username;
home.homeDirectory = "/home/${username}";
home.packages = with pkgs; [
mpv
bitwarden-desktop
];
programs.kitty = {
enable = true;
};
programs.wofi.enable = true;
wayland.windowManager.hyprland = {
enable = true;
settings = {
settings = import ./hyprland/settings.nix;
};
programs.nixvim = {
enable = true;
clipboard.register = "unnamedplus";
colorschemes.catppuccin = {
enable = true;
settings.flavour = "mocha";
};
plugins.lualine.enable = true;
plugins.telescope = {
enable = true;
extensions.file-browser = {
enable = true;
settings = {
git_status = true;
hijack_netrw = true;
respect_gitignore = true;
fzf-native.enable = true;
fzf-native.settings.case_mode = "ignore_case";
};
};
};
plugins.web-devicons.enable = true;
plugins.treesitter = {
enable = true;
folding = true;
};
lsp = {
inlayHints.enable = true;
#TODO: keymaps
servers = {
"*" = {
config.capabilities.textDocument.semanticTokens.multilineTokenSupport = true;
config.root_markers = [
".git"
];
};
clangd. enable = true;
rust-analzyer.enable = true;
rnix.enable = true;
};
};
};
@@ -27,11 +74,19 @@
exec hyprland
fi
'';
autocd = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initContent = pkgs.lib.mkBefore ''
# 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.
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
fi
'';
plugins = [
{
name = "powerlevel10k";
@@ -54,13 +109,6 @@
};
};
programs.neovim = {
enable = true;
defaultEditor = true;
vimdiffAlias = true;
#TODO: nvim config. Maybe nixvim?
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
@@ -81,6 +129,24 @@
#TODO: signing
};
#NOTE: MUST be kept up to date with nixpkgs!
home.stateVersion = "25.11";
services.hyprpaper = {
enable = true;
settings =
let
# TODO: this should be done more cleanly
wallpaper_path = "/home/weckyy702/Pictures/wallpapers/horizontal_16x9.png";
in
{
preload = wallpaper_path;
wallpaper = [
#TODO: this should be dynamic
"DP-1,${wallpaper_path}"
"HDMI-A-1,${wallpaper_path}"
];
};
};
services.hyprpolkitagent.enable = true;
#TODO: hyprsunset?
}

View File

@@ -0,0 +1,5 @@
let
#TODO: this needs to be modular!
wallpaper = "/home/weckyy702/Pictures/wallpapers/horizontal_16x9.png";
in
{}

View File

@@ -0,0 +1,49 @@
{
"$mod" = "SUPER";
general = {
border_size = 0;
gaps_in = 5;
gaps_out = 10;
layout = "dwindle";
resize_on_border = true;
};
snap = {
};
input = {
kb_layout = "de";
};
bind = builtins.concatLists [
[
"$mod, Q, exit"
"$mod, Return, exec, kitty"
"$mod, D, exec, wofi --show drun"
"$mod, F2, exec, zen"
"$mod, c, killactive"
"$mod, f, fullscreen"
]
# Switch workspaces
(map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9])
(map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9])
];
decoration = {
shadow.enabled = false;
blur.enabled = true;
active_opacity = 0.8;
inactive_opacity = 0.8;
};
animations.enabled = false;
misc.disable_hyprland_logo = true;
cursor.inactive_timeout = 5;
ecosystem.no_update_news = true;
ecosystem.no_donation_nag = true;
}

File diff suppressed because it is too large Load Diff

8
nixos/nixvim.nix Normal file
View File

@@ -0,0 +1,8 @@
{inputs, pkgs, }: {
inputs.nixvim = {
url = "github:nix-community/nixvim/nixos-25.11";
# If you are not running an unstable channel of nixpkgs, select the corresponding branch of Nixvim.
inputs.nixpkgs.follows = "nixpkgs";
};
}