1st commit

This commit is contained in:
benstrb 2025-11-10 19:57:23 +01:00
commit 74d15b4c6a
25 changed files with 1328 additions and 0 deletions

46
home/home.nix Executable file
View file

@ -0,0 +1,46 @@
{pkgs, ...}: {
home.username = "benag";
home.homeDirectory = "/home/benag";
imports = [
./modules/nvf.nix
./modules/zellij.nix
./modules/rofi.nix
./modules/picom.nix
./modules/kitty.nix
./modules/git.nix
./modules/zsh.nix
./modules/stylix.nix
./modules/fastfetch.nix
./modules/bspwm.nix
./modules/sxhkd.nix
];
home.stateVersion = "25.05";
home.packages = [
pkgs.htop
pkgs.fortune
pkgs.bat
pkgs.brave
pkgs.discord
pkgs.heroic
pkgs.pavucontrol
pkgs.superfile
pkgs.libresprite
pkgs.scrot
pkgs.gcc
pkgs.gnumake
pkgs.prismlauncher
];
programs.home-manager.enable = true;
xsession = {
enable = true;
initExtra = ''
xrandr --output DVI-D-0 --mode 1920x1080 --pos 0x0 --primary
xrandr --output HDMI-0 --mode 1680x1050 --pos 1920x0
'';
};
}

20
home/modules/bspwm.nix Executable file
View file

@ -0,0 +1,20 @@
{
xsession.windowManager.bspwm = {
enable = true;
settings = {
focus_follows_pointer = true;
pointer_follows_focus = true;
pointer_follows_monitor = true;
};
startupPrograms = [
"sxhkd"
"polybar"
];
extraConfig = ''
feh --bg-fill "/home/benag/.nix-config/assets/wallpaper/bocchi-light-guitar.png"
'';
};
}

112
home/modules/fastfetch.nix Executable file
View file

@ -0,0 +1,112 @@
{pkgs, ...}: {
home.packages = [pkgs.fastfetch];
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "/home/benag/.nix-config/assets/bocchi/bocchi.txt";
padding = {
top = 1;
left = 1;
};
};
display = {
separator = " -> ";
};
modules = [
"break"
{
type = "custom";
format = "Hardware";
}
{
type = "title";
key = " PC";
keyColor = "green";
}
{
type = "disk";
key = " ";
device = "/dev/sdb";
keyColor = "green";
}
{
type = "cpu";
key = " ";
keyColor = "green";
}
{
type = "gpu";
key = " 󰍛";
keyColor = "green";
}
{
type = "memory";
key = " 󰍛";
keyColor = "green";
}
{
type = "custom";
format = "";
}
"break"
{
type = "custom";
format = "Software";
}
{
type = "os";
key = "󰻀 OS";
keyColor = "yellow";
}
{
type = "kernel";
key = " ";
keyColor = "yellow";
}
{
type = "packages";
key = " 󰏖";
keyColor = "yellow";
}
{
type = "shell";
key = " ";
keyColor = "yellow";
}
{
type = "custom";
format = "";
}
/*
"break"
{
type = "custom";
format = "Age / DT";
}
{
type = "command";
key = " OS Age ";
keyColor = "magenta";
text = "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days";
}
{
type = "datetime";
key = " DateTime ";
keyColor = "magenta";
}
{
type = "custom";
format = "";
}
*/
];
};
};
}

13
home/modules/git.nix Normal file
View file

@ -0,0 +1,13 @@
{pkgs, ...}: {
programs.git = {
enable = true;
package = pkgs.gitFull;
userName = "benstrb";
userEmail = "ben.stribrny@gmail.com";
extraConfig = {
init.defaultBranch = "main";
github.user = "benstrb";
credential.helper = "store";
};
};
}

12
home/modules/kitty.nix Executable file
View file

@ -0,0 +1,12 @@
{pkgs, ...}: {
home.packages = [pkgs.rofi];
programs.kitty = {
enable = true;
themeFile = "Dracula";
extraConfig = ''
font_family FiraCode Nerd Font Mono
font_size 8
'';
};
}

129
home/modules/nvf.nix Executable file
View file

@ -0,0 +1,129 @@
{
pkgs,
inputs,
...
}: {
imports = [inputs.nvf.homeManagerModules.default];
programs.nvf = {
enable = true;
settings.vim = {
lsp = {
enable = true;
formatOnSave = false;
lspkind.enable = true;
lspsaga.enable = false;
trouble.enable = true;
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
options = {
tabstop = 2;
autoindent = true;
shiftwidth = 2;
};
clipboard = {
enable = true;
registers = "unnamedplus";
providers = {
wl-copy = {
enable = true;
package = pkgs.wl-clipboard;
};
};
};
languages = {
enableFormat = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
nix.enable = true;
markdown.enable = true;
go.enable = true;
css.enable = true;
html.enable = true;
sql.enable = true;
ts.enable = true;
zig.enable = true;
csharp.enable = true;
clang.enable = true;
rust = {
enable = true;
crates.enable = true;
};
};
visuals = {
nvim-web-devicons.enable = true;
nvim-cursorline.enable = true;
cinnamon-nvim.enable = true;
fidget-nvim.enable = true;
highlight-undo.enable = true;
indent-blankline.enable = true;
};
statusline = {
lualine = {
enable = true;
};
};
autopairs.nvim-autopairs.enable = true;
autocomplete = {
nvim-cmp.enable = false;
blink-cmp.enable = true;
};
snippets.luasnip.enable = true;
telescope.enable = true;
git = {
enable = true;
gitsigns.enable = true;
gitsigns.codeActions.enable = false;
};
dashboard.alpha.enable = true;
notify.nvim-notify.enable = true;
projects.project-nvim.enable = true;
utility = {
ccc.enable = true;
diffview-nvim.enable = true;
icon-picker.enable = true;
surround.enable = true;
motion = {
hop.enable = true;
leap.enable = true;
};
};
comments.comment-nvim.enable = true;
ui = {
noice.enable = true;
colorizer.enable = true;
illuminate.enable = true;
fastaction.enable = true;
};
};
};
}

8
home/modules/picom.nix Executable file
View file

@ -0,0 +1,8 @@
{
services.picom = {
enable = true;
fade = true;
shadow = true;
opacityRules = ["95:class_g = 'kitty'"];
};
}

7
home/modules/rofi.nix Executable file
View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
home.packages = [pkgs.rofi];
programs.rofi = {
enable = true;
};
}

77
home/modules/stylix.nix Executable file
View file

@ -0,0 +1,77 @@
{pkgs, ...}: {
stylix = {
enable = true;
#base16Scheme = "${pkgs.base16-schemes}/share/themes/pinky.yaml";
base16Scheme = {
#base00 = "171517"; #171517 default background
#base01 = "1b181b"; #1b181b lighter background (status bar)
#base02 = "aaaaaa"; #aaaaaa selection background
#base03 = "383338"; #383338 comments, line highlighting
#base04 = "e7dbdb"; #e7dbdb dark foreground
#base05 = "f5f5f5"; #f5f5f5 default foreground, caret, delimiters, operators
#base06 = "ffffff"; #ffffff light foreground
#base07 = "f7f3f7"; #f7f3f7 light background
#base08 = "ffa600"; #ffa600 variables
#base09 = "00ff66"; #00ff66 ints, bools, constants
#base0A = "20df6c"; #20df6c classes, search text background
#base0B = "ff0066"; #ff0066 strings
#base0C = "6600ff"; #6600ff regex, escape chars
#base0D = "00ffff"; #00ffff functions, methods, headings
#base0E = "007fff"; #007fff keywords, storage, selector
#base0F = "df206c"; #df206c Opening/Closing embedded language tags
base00 = "#1a1b26";
base01 = "#232433";
base02 = "#2e2f40";
base03 = "#44475a";
base04 = "#c3aed6";
base05 = "#f5c2e7";
base06 = "#f8bdc9";
base07 = "#ffffff";
base08 = "#f28fad"; # Red
base09 = "#f8a488"; # Orange
base0A = "#f9e2af"; # Yellow
base0B = "#a6e3a1"; # Green
base0C = "#94e2d5"; # Cyan
base0D = "#89b4fa"; # Blue
base0E = "#b4befe"; # Purple
base0F = "#f38ba8"; # Additional pink-red (optional)
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 14;
};
fonts = {
sizes = {
applications = 10;
desktop = 10;
terminal = 9;
popups = 8;
};
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
};
polarity = "dark";
image = ../../assets/wallpaper/bocchi-light-guitar.png;
};
}

21
home/modules/sxhkd.nix Executable file
View file

@ -0,0 +1,21 @@
{
services.sxhkd = {
enable = true;
keybindings = {
"super + Return" = "kitty";
"super + e" = "dolphin";
"super + b" = "brave";
"super + a" = "rofi -show drun";
"super + q" = "bspc node -c";
"super + d" = "discord";
"super + f" = "bspc node -t fullscreen";
"super + p" = "bspc node -t pseudo_tiled";
"super + t" = "bspc node -t tiled";
"super + r" = "bspc node @parent -R 90";
"super + shift + f" = "bspc node -t floating";
"super + {h,j,k,l}" = "bspc node -s {west,south,north,east}";
"alt + {h,j,k,l}" = "bspc node -f {west,south,north,east}";
};
};
}

16
home/modules/zellij.nix Executable file
View file

@ -0,0 +1,16 @@
{pkgs, ...}: {
home.packages = [pkgs.zellij];
programs.zellij = {
enable = true;
exitShellOnExit = true;
enableZshIntegration = true;
settings = {
simplified_ui = true;
pane_frames = false;
default_layout = "compact";
show_startup_tips = false;
};
};
}

34
home/modules/zsh.nix Executable file
View file

@ -0,0 +1,34 @@
{pkgs, ...}: {
home.packages = [pkgs.zsh];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
home = "nvim /home/benag/.nix-config/home/home.nix";
config = "nvim /home/benag/.nix-config/configuration/configuration.nix";
fl = "nvim /home/benag/.nix-config/flake.nix";
rebuild = "sudo nixos-rebuild switch --flake /home/benag/.nix-config#benag";
cat = "bat -p -P";
c = "clear;fastfetch";
ssh = "TERM=xterm-256color ssh";
};
history = {
size = 10000;
ignoreAllDups = true;
path = "$HOME/.zsh_history";
};
initContent = ''
fastfetch
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
'';
};
}