2026-01-29
This commit is contained in:
@@ -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
|
||||||
@@ -127,6 +132,8 @@
|
|||||||
# 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 = {
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
16
flake.nix
16
flake.nix
@@ -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 = {
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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;
|
};
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
16
home/nixvim/plugins/cmp/keymaps.nix
Normal file
16
home/nixvim/plugins/cmp/keymaps.nix
Normal 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";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user