2026-01-29

This commit is contained in:
Weckyy702
2026-01-29 14:19:33 +01:00
parent 6485cb234f
commit 6deaef9abf
9 changed files with 180 additions and 119 deletions

View File

@@ -1,17 +1,17 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ { config
config, , pkgs
pkgs, , inputs
inputs, , hostname
hostname, , username
username, , ...
...
}: { }: {
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
inputs.catppuccin.nixosModules.catppuccin
]; ];
## Boot ## Boot
@@ -70,11 +70,13 @@
fonts = { fonts = {
enableDefaultPackages = true; enableDefaultPackages = true;
packages = with pkgs; [ packages = with pkgs; [
jetbrains-mono nerd-fonts.jetbrains-mono
]; ];
fontDir.enable = true; fontDir.enable = true;
}; };
catppuccin.enable = true;
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
@@ -89,6 +91,9 @@
protontricks = { protontricks = {
enable = true; enable = true;
}; };
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
remotePlay.openFirewall = true;
}; };
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
@@ -105,7 +110,7 @@
users.users.${username} = { users.users.${username} = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["networkmanager" "wheel"]; extraGroups = [ "networkmanager" "wheel" ];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
@@ -125,7 +130,9 @@
}; };
# 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:
@@ -135,6 +142,11 @@
}; };
services.mullvad-vpn.enable = true; services.mullvad-vpn.enable = true;
services.pipewire = {
alsa.enable = true;
enable = true;
wireplumber.enable = true;
};
networking.firewall.enable = false; networking.firewall.enable = false;

View File

@@ -17,14 +17,16 @@
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs"; spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = { outputs =
self, { self
nixpkgs, , nixpkgs
home-manager, , home-manager
nixvim, , catppuccin
... , nixvim
, ...
} @ inputs: { } @ inputs: {
nixosConfigurations.keith = let nixosConfigurations.keith =
let
hostname = "keith"; hostname = "keith";
username = "weckyy702"; username = "weckyy702";
specialArgs = { specialArgs = {

View File

@@ -1,9 +1,8 @@
top @ { top @ { config
config, , pkgs
pkgs, , username
username, , inputs
inputs, , ...
...
}: { }: {
imports = [ imports = [
inputs.nixvim.homeModules.nixvim inputs.nixvim.homeModules.nixvim
@@ -20,15 +19,19 @@ top @ {
home.packages = with pkgs; [ home.packages = with pkgs; [
mpv mpv
bitwarden-desktop
feh feh
grim grim
slurp slurp
xdg-user-dirs xdg-user-dirs
hyprpicker
libqalculate libqalculate
btop
xfce.thunar xfce.thunar
prismlauncher prismlauncher
playerctl playerctl
signal-desktop
qbittorrent
unzip
]; ];
catppuccin.enable = true; catppuccin.enable = true;
@@ -44,7 +47,7 @@ top @ {
settings = (import ./hyprland/settings.nix) top; settings = (import ./hyprland/settings.nix) top;
}; };
#TODO: decide on waybar programs.zathura.enable = true;
programs.direnv = { programs.direnv = {
enable = true; enable = true;
@@ -60,9 +63,11 @@ top @ {
]; ];
}; };
programs.spicetify = let programs.spicetify =
let
spkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}; spkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in { in
{
enable = true; enable = true;
enabledExtensions = with spkgs.extensions; [ enabledExtensions = with spkgs.extensions; [
fullAppDisplay fullAppDisplay
@@ -76,12 +81,20 @@ top @ {
colorScheme = "mocha"; colorScheme = "mocha";
}; };
programs.vesktop = { programs.vesktop.enable = true;
enable = true;
vencord.useSystem = true;
};
programs.wofi.enable = true; programs.rofi = {
enable = true;
modes = [
"combi"
"drun"
"calc"
"ssh"
];
plugins = [
pkgs.rofi-calc
];
};
programs.zsh = { programs.zsh = {
enable = true; enable = true;
# For automatic login # For automatic login
@@ -153,11 +166,13 @@ top @ {
services.hyprpaper = { services.hyprpaper = {
enable = true; enable = true;
settings = let settings =
let
# TODO: this should be done more cleanly # TODO: this should be done more cleanly
wallpaper_path = ./hyprland/horizontal_16x9.png; wallpaper_path = ./hyprland/horizontal_16x9.png;
in { in
preload = toString wallpaper_path; {
preload = "${wallpaper_path}";
wallpaper = [ wallpaper = [
#TODO: this should be dynamic #TODO: this should be dynamic
"DP-1,${wallpaper_path}" "DP-1,${wallpaper_path}"
@@ -166,6 +181,8 @@ top @ {
}; };
}; };
services.dunst.enable = true;
services.hyprpolkitagent.enable = true; services.hyprpolkitagent.enable = true;
services.ssh-agent = { services.ssh-agent = {

View File

@@ -1,4 +1,4 @@
{...}: { { ... }: {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$browser" = "zen"; "$browser" = "zen";
"$term" = "kitty"; "$term" = "kitty";
@@ -12,8 +12,7 @@
resize_on_border = true; resize_on_border = true;
}; };
snap = { snap = { };
};
input = { input = {
kb_layout = "de"; kb_layout = "de";
@@ -24,7 +23,7 @@
[ [
"$mod, Q, exit" "$mod, Q, exit"
"$mod, Return, exec, $term" "$mod, Return, exec, $term"
"$mod, D, exec, wofi --show drun" "$mod, D, exec, rofi -show drun -modes drun,calc"
"$mod, F2, exec, $browser" "$mod, F2, exec, $browser"
"$mod, c, killactive" "$mod, c, killactive"
"$mod, f, fullscreen" "$mod, f, fullscreen"
@@ -41,8 +40,8 @@
] ]
++ ++
# Switch workspaces # Switch workspaces
(map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9]) (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}, movetoworkspacesilent, ${builtins.toString i}") [1 2 3 4 5 6 7 8 9]); ++ (map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspacesilent, ${builtins.toString i}") [ 1 2 3 4 5 6 7 8 9 ]);
bindm = [ bindm = [
"$mod, mouse:272, movewindow" "$mod, mouse:272, movewindow"

View File

@@ -1,4 +1,4 @@
{...}: { { ... }: {
programs.nixvim.globals.mapleader = " "; programs.nixvim.globals.mapleader = " ";
programs.nixvim.keymaps = [ programs.nixvim.keymaps = [

View File

@@ -1,40 +1,42 @@
{...}: { {...}: {
imports = [
./keymaps.nix
];
programs.nixvim.plugins = { programs.nixvim.plugins = {
lspkind.enable = true; lspkind.enable = true;
blink-cmp.enable = true; cmp-nvim-lsp-signature-help.enable = true;
# cmp-nvim-lsp-signature-help.enable = true; cmp = {
# enable = true;
# cmp = { autoEnableSources = true;
# enable = true; autoLoad = true;
# autoEnableSources = true;
# autoLoad = true; settings.sources = [
# {name = "nvim_lsp";}
# settings.sources = [ {name = "nvim_lsp_signature_help";}
# { name = "nvim_lsp"; } {name = "path";}
# { name = "nvim_lsp_signature_help"; } ];
# { name = "path"; }
# ]; settings.mapping = {
# "<Tab>" = "cmp.mapping.select_next_item()";
# settings.mapping = { "<S-Tab>" = "cmp.mapping.select_prev_item()";
# "<Tab>" = "cmp.mapping.select_next_item()"; "<C-Space>" = "cmp.mapping.complete()";
# "<S-Tab>" = "cmp.mapping.select_prev_item()"; "<C-S-Space>" = "cmp.mapping.close()";
# "<C-Space>" = "cmp.mapping.complete()"; "<CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })";
# "<C-S-Space>" = "cmp.mapping.close()"; };
# "<CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })"; };
# };
# }; lsp-format.enable = true;
#
# lsp-format.enable = true; none-ls = {
# enable = true;
# none-ls = { enableLspFormat = true;
# enable = true; sources.formatting = {
# enableLspFormat = true; alejandra.enable = true;
# sources.formatting = { nixpkgs_fmt.enable = true;
# alejandra.enable = true; };
# nixpkgs_fmt.enable = true; };
# };
# };
}; };
} }

View File

@@ -0,0 +1,16 @@
{...}: {
programs.nixvim.keymaps = [
{
key = "grd";
action = "<cmd>Telescope lsp_definitions<CR>";
mode = "n";
options.desc = "LSP: [G]oto [D]efinition";
}
{
key = "gri";
action = "<cmd>Telescope lsp_implementations<CR>";
mode = "n";
options.desc = "LSP: [G]oto [I]mplementations";
}
];
}

View File

@@ -22,6 +22,14 @@
}; };
rnix.enable = true; rnix.enable = true;
}; };
keymaps = [
{
key = "<leader>e";
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
options.desc = "Open Diagnostics";
}
];
}; };
plugins.lspconfig.enable = true; plugins.lspconfig.enable = true;

View File

@@ -15,5 +15,10 @@
action = "<cmd>Telescope grep_string<CR>"; action = "<cmd>Telescope grep_string<CR>";
options.desc = "[S]earch current [W]ord"; options.desc = "[S]earch current [W]ord";
} }
{
key = "<leader>q";
action = "<cmd>Telescope diagnostics<CR>";
options.desc = "Lsp Diagnostics";
}
]; ];
} }