update: home-manger config

This commit is contained in:
FabricSoul 2025-05-06 18:45:27 -04:00
parent 9f836545d6
commit 8ce9227801
15 changed files with 524 additions and 234 deletions

307
flake.lock generated
View file

@ -44,41 +44,28 @@
"type": "github"
}
},
"devshell": {
"fenix": {
"inputs": {
"nixpkgs": [
"nixvim",
"openapi-tui",
"nixpkgs"
]
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1735644329,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
"owner": "numtide",
"repo": "devshell",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
"lastModified": 1710310970,
"narHash": "sha256-YREcSnbDH7Es6MDvhmzPBBF3exEg2EP4sd3QCiPyWyI=",
"owner": "nix-community",
"repo": "fenix",
"rev": "df74cae97f59a868ad355af6a703e7845d0ae648",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"revCount": 69,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -87,11 +74,11 @@
]
},
"locked": {
"lastModified": 1738453229,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
@ -118,51 +105,21 @@
"type": "github"
}
},
"git-hooks": {
"flake-utils_2": {
"inputs": {
"flake-compat": [
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
"systems": "systems_2"
},
"locked": {
"lastModified": 1737465171,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"nixvim",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
@ -173,38 +130,16 @@
]
},
"locked": {
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"lastModified": 1746413188,
"narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
@ -212,16 +147,14 @@
"hyprpanel": {
"inputs": {
"ags": "ags",
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1740863579,
"narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=",
"lastModified": 1745885816,
"narHash": "sha256-yuIb6/gGcII+2YgtTLcYdga0pcL63B18xQ/oitOhg7k=",
"owner": "jas-singhfsu",
"repo": "hyprpanel",
"rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd",
"rev": "0c82ce9704c8063be8d8f60443071c91943eb68c",
"type": "github"
},
"original": {
@ -244,65 +177,43 @@
]
},
"locked": {
"lastModified": 1729958008,
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
"lastModified": 1737371634,
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.6",
"ref": "v0.0.7",
"repo": "ixx",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1739553546,
"narHash": "sha256-L4ou3xfOr17EAe836djRoQ7auVkYOREMtiQa82wVGqU=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "353846417f985e74fdc060555f17939e4472ea2c",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "nix-darwin-24.11",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1741332913,
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.11",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1741310760,
"narHash": "sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM=",
"lastModified": 1746397377,
"narHash": "sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX+GGtN9f/n4lU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "de0fe301211c267807afd11b12613f5511ff7433",
"rev": "ed30f8aba41605e3ab46421e3dcb4510ec560ff8",
"type": "github"
},
"original": {
@ -312,31 +223,57 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1746397377,
"narHash": "sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX+GGtN9f/n4lU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ed30f8aba41605e3ab46421e3dcb4510ec560ff8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1710272261,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix"
"nuschtosSearch": "nuschtosSearch"
},
"locked": {
"lastModified": 1740919463,
"narHash": "sha256-8jEXQsZUiG86T/H8dCxYOJ+kAT+ppVylaPYiFwrNL6g=",
"lastModified": 1746536883,
"narHash": "sha256-EJax0aiJIVJlqF7QyAefZ9fi1HgGcm7U1rBkcm2Z3Ps=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "7e27ae55d17db65bd3ff02bcbec0615d50584910",
"rev": "c26f5c2e31c1da895bf9289783ff8e2fe3637ca0",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "nixos-24.11",
"ref": "main",
"repo": "nixvim",
"type": "github"
}
@ -351,11 +288,11 @@
]
},
"locked": {
"lastModified": 1739738736,
"narHash": "sha256-Rl4Fw+3PsLTEzzUGlB8kePaiIersDbv5voAif3D6LoM=",
"lastModified": 1745046075,
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
"owner": "NuschtOS",
"repo": "search",
"rev": "9ff62c8e1fbe5dc649dee680c7eb4935936c8ac3",
"rev": "066afe8643274470f4a294442aadd988356a478f",
"type": "github"
},
"original": {
@ -364,13 +301,52 @@
"type": "github"
}
},
"openapi-tui": {
"inputs": {
"fenix": "fenix",
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3",
"systems": "systems_3"
},
"locked": {
"lastModified": 1741352034,
"narHash": "sha256-rC0lfWZpiiAAShyVDqr1gKTeWmWC+gVp4UmL96Y81mE=",
"owner": "zaghaghi",
"repo": "openapi-tui",
"rev": "0128f314c18f0e551930b18419f99de95919f8e5",
"type": "github"
},
"original": {
"owner": "zaghaghi",
"repo": "openapi-tui",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"hyprpanel": "hyprpanel",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim"
"nixvim": "nixvim",
"openapi-tui": "openapi-tui"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1710248332,
"narHash": "sha256-5Ozfx1xSscOrdCQoTLvcJHTtxgQ15YrXpjqce4vdzkQ=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "a2e274142f35d21fd28d28655f4af8e8531ab649",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"systems": {
@ -388,24 +364,33 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"systems_2": {
"locked": {
"lastModified": 1739829690,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
}

View file

@ -2,25 +2,28 @@
description = "Fabric's flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprpanel = {
url = "github:jas-singhfsu/hyprpanel";
inputs.nixpkgs.follows = "nixpkgs";
# inputs.nixpkgs.follows = "nixpkgs";
# inputs.home-manager.follows = "home-manager"; # Add this line
};
nixvim = {
url = "github:nix-community/nixvim/nixos-24.11";
url = "github:nix-community/nixvim/main";
# If using a stable channel you can use `url = "github:nix-community/nixvim/nixos-<version>"`
inputs.nixpkgs.follows = "nixpkgs";
};
openapi-tui = {
url = "github:zaghaghi/openapi-tui";
};
};
outputs = {
@ -30,6 +33,7 @@
home-manager,
nixvim,
hyprpanel,
openapi-tui,
...
}: let
lib = nixpkgs.lib;
@ -48,7 +52,7 @@
homeConfigurations.fabric = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit nixvim hyprpanel;
inherit nixvim hyprpanel openapi-tui;
};
modules = [
{

View file

@ -14,16 +14,19 @@
./programs/tmux.nix
./programs/zsh.nix
./programs/ssh.nix
./programs/yazi.nix
# Import desktop configurations
./desktop/hyprland.nix
./desktop/hyprpanel.nix
./desktop/hyprpaper.nix
./desktop/hypridle.nix
];
# Home Manager needs a bit of information about you and the paths it should manage
home.username = "fabric";
home.homeDirectory = "/home/fabric";
home.stateVersion = "24.11";
home.stateVersion = "25.05";
# Session variables
home.sessionVariables = {
@ -42,11 +45,80 @@
kitty
firefox
mpv
nerdfonts
nerd-fonts.dejavu-sans-mono
nerd-fonts.daddy-time-mono
nerd-fonts.d2coding
nerd-fonts.cousine
nerd-fonts.commit-mono
nerd-fonts.comic-shanns-mono
nerd-fonts.code-new-roman
nerd-fonts.caskaydia-mono
nerd-fonts.caskaydia-cove
nerd-fonts.blex-mono
nerd-fonts.bitstream-vera-sans-mono
nerd-fonts.bigblue-terminal
nerd-fonts.aurulent-sans-mono
nerd-fonts.arimo
nerd-fonts.anonymice
nerd-fonts.agave
nerd-fonts._3270
nerd-fonts._0xproto
nerd-fonts.zed-mono
nerd-fonts.victor-mono
nerd-fonts.ubuntu-sans
nerd-fonts.ubuntu-mono
nerd-fonts.ubuntu
nerd-fonts.tinos
nerd-fonts.terminess-ttf
nerd-fonts.symbols-only
nerd-fonts.space-mono
nerd-fonts.shure-tech-mono
nerd-fonts.sauce-code-pro
nerd-fonts.roboto-mono
nerd-fonts.recursive-mono
nerd-fonts.proggy-clean-tt
nerd-fonts.profont
nerd-fonts.overpass
nerd-fonts.open-dyslexic
nerd-fonts.noto
nerd-fonts.mononoki
nerd-fonts.monoid
nerd-fonts.monofur
nerd-fonts.monaspace
nerd-fonts.meslo-lg
nerd-fonts.martian-mono
nerd-fonts.lilex
nerd-fonts.liberation
nerd-fonts.lekton
nerd-fonts.jetbrains-mono
nerd-fonts.iosevka-term-slab
nerd-fonts.iosevka-term
nerd-fonts.iosevka
nerd-fonts.intone-mono
nerd-fonts.inconsolata-lgc
nerd-fonts.inconsolata-go
nerd-fonts.inconsolata
nerd-fonts.im-writing
nerd-fonts.hurmit
nerd-fonts.heavy-data
nerd-fonts.hasklug
nerd-fonts.hack
nerd-fonts.gohufont
nerd-fonts.go-mono
nerd-fonts.geist-mono
nerd-fonts.fira-mono
nerd-fonts.fira-code
nerd-fonts.fantasque-sans-mono
nerd-fonts.envy-code-r
nerd-fonts.droid-sans-mono
nerd-fonts.departure-mono
wl-clipboard
tmux
discord
fzf
yazi
zsh
pavucontrol
wofi
@ -74,6 +146,20 @@
btop
leetgo
gnumake
openapi-tui
sqlite
tree
openconnect
lynx
mdbook
zola
unzip
hugo
sass
sshfs
tree-sitter
heroic
gimp3
];
# Enable home-manager

View file

@ -0,0 +1,14 @@
{...}: {
services.hypridle = {
enable = true;
settings = {
listener = [
{
timeout = 600;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
}

View file

@ -15,7 +15,7 @@
general = {
gaps_in = 0;
gaps_out = "0, 600, 0, 600";
gaps_out = "0, 440, 0, 440";
};
input = {
@ -28,9 +28,9 @@
];
windowrule = [
"workspace 6 silent,^(discord)$"
"workspace 4 silent,^(kitty)$"
"workspace 5 silent,^(firefox)$"
"workspace 6 silent,class:^(discord)$"
"workspace 4 silent,class:^(kitty)$"
"workspace 5 silent,class:^(firefox)$"
];
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
@ -75,9 +75,10 @@
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
];
# monitor = [
# "DP-3,preferred,auto,1,workspace=1,addreserved,200,200,0,0"
# ];
monitor = [
"DP-3, 3440x1440@144.00HZ, 0x0, 1"
];
};
};
home.sessionVariables.NIXOS_OZONE_WL = "1";

View file

@ -17,27 +17,23 @@
enable = true;
# Add to Hyprland config
hyprland.enable = true;
# hyprland.enable = true;
# Fix the overwrite issue
overwrite.enable = false;
# Import a theme
theme = "rose_pine_moon_split";
# Configure bar layouts for monitors
layout = {
"bar.layouts" = {
"0" = {
left = ["dashboard" "workspaces" "windowtitle"];
middle = ["clock"];
right = ["volume" "network" "bluetooth" "systray" "media" "notifications"];
};
};
};
# Configure and theme options
settings = {
# Configure bar layouts for monitors
layout = {
"bar.layouts" = {
"0" = {
left = ["dashboard" "workspaces" "windowtitle"];
middle = ["clock"];
right = ["volume" "network" "bluetooth" "systray" "media" "notifications"];
};
};
};
bar.launcher.autoDetectIcon = true;
bar.workspaces.show_icons = true;
@ -52,6 +48,8 @@
menus.dashboard.directories.enabled = false;
menus.dashboard.stats.enable_gpu = true;
# Import a theme
theme.name = "rose_pine_moon_split";
theme.bar.transparent = false;
theme.font = {

View file

@ -0,0 +1,14 @@
# home/fabric/desktop/wallpaper.nix
{...}: {
services.hyprpaper = {
enable = true;
settings = {
preload = [
"~/Pictures/wallpaper/wallpaper.jpg"
];
wallpaper = [
",~/Pictures/wallpaper/wallpaper.jpg"
];
};
};
}

View file

@ -2,7 +2,93 @@
{pkgs, ...}: {
programs.nixvim = {
enable = true;
diagnostic.settings = {
enable = true;
update_in_insert = true;
severity_sort = true;
# NOTE: Opt-in with 0.11
virtual_text = {
enable = true;
severity.min = "warn";
source = "if_many";
};
virtual_lines = {
current_line = true;
};
float = {
border = "rounded";
};
jump = {
severity.__raw = "vim.diagnostic.severity.WARN";
};
signs = {
text = {
"__rawKey__vim.diagnostic.severity.ERROR" = "";
"__rawKey__vim.diagnostic.severity.WARN" = "";
"__rawKey__vim.diagnostic.severity.HINT" = "󰌵";
"__rawKey__vim.diagnostic.severity.INFO" = "";
};
texthl = {
"__rawKey__vim.diagnostic.severity.ERROR" = "DiagnosticError";
"__rawKey__vim.diagnostic.severity.WARN" = "DiagnosticWarn";
"__rawKey__vim.diagnostic.severity.HINT" = "DiagnosticHint";
"__rawKey__vim.diagnostic.severity.INFO" = "DiagnosticInfo";
};
};
};
plugins = {
avante = {
enable = true;
settings = {
diff = {
autojump = true;
debug = false;
list_opener = "copen";
};
highlights = {
diff = {
current = "DiffText";
incoming = "DiffAdd";
};
};
hints = {
enabled = true;
};
mappings = {
diff = {
both = "cb";
next = "]x";
none = "c0";
ours = "co";
prev = "[x";
theirs = "ct";
};
jump = {
next = "]]";
prev = "[[";
};
};
# provider = "ollama";
# ollama = {
# endpoint = "http://127.0.0.1:11434";
# model = "gemma3:12b";
# };
windows = {
sidebar_header = {
align = "center";
rounded = true;
};
width = 30;
wrap = true;
};
};
};
nvim-ufo.enable = true;
render-markdown.enable = true;
nui.enable = true;
auto-session = {
enable = true;
@ -23,7 +109,7 @@
};
web-devicons.enable = true;
nix.enable = true;
bufferline.enable = true;
bufferline.enable = false;
lualine.enable = true;
luasnip.enable = true;
yanky = {
@ -34,11 +120,33 @@
};
ts-comments.enable = true;
telescope = {
settings = {
pickers = {
find_files = {
hidden = true;
};
};
};
enable = true;
keymaps = {
"<leader> " = {
action = "find_files";
};
"<leader>tl" = {
action = "live_grep";
};
"<leader>td" = {
action = "lsp_definitions";
};
"<leader>tr" = {
action = "lsp_references";
};
"<leader>ti" = {
action = "lsp_implementations";
};
"<leader>ts" = {
action = "lsp_document_symbols";
};
};
settings = {
defaults = {
@ -51,11 +159,6 @@
"%.ipynb"
"^node_modules/"
"^.next/"
"%.env"
"%.env.local"
"%.env.development.local"
"%.env.test.local"
"%.env.production.local"
"^npm-debug.log"
"^yarn-debug.log"
"^yarn-error.log"
@ -67,7 +170,9 @@
"^tailwind.config.js.backup"
"%.css.map"
"^styles/dist/"
".*_templ%.go$"
];
hidden = true;
};
};
};
@ -111,16 +216,16 @@
indent-blankline.enable = true;
harpoon = {
enable = true;
keymaps = {
addFile = "<leader>ha";
toggleQuickMenu = "<C-e>";
navFile = {
"1" = "<leader>h;";
"2" = "<leader>h,";
"3" = "<leader>h.";
"4" = "<leader>hp";
};
};
# keymaps = {
# addFile = "<leader>ha";
# toggleQuickMenu = "<C-e>";
# navFile = {
# "1" = "<leader>h;";
# "2" = "<leader>h,";
# "3" = "<leader>h.";
# "4" = "<leader>hp";
# };
# };
};
yazi.enable = true;
gitsigns = {
@ -259,9 +364,19 @@
lsp = {
enable = true;
inlayHints = true;
keymaps.lspBuf = {
K = "hover";
gD = "references";
gd = "definition";
gi = "implementation";
gt = "type_definition";
};
servers = {
ts_ls.enable = true;
eslint.enable = true;
templ.enable = true;
htmx.enable = true;
nil_ls = {
enable = true;
};
@ -284,6 +399,7 @@
enable = true;
settings = {
hints = {
enable = true;
assignVariableTypes = true;
compositeLiteralFields = true;
compositeLiteralTypes = true;
@ -339,16 +455,26 @@
vim-suda.enable = true;
};
extraPlugins = [
(pkgs.vimUtils.buildVimPlugin {
name = "plenary.nvim";
src = pkgs.fetchFromGitHub {
owner = "nvim-lua";
repo = "plenary.nvim";
rev = "v0.1.4";
hash = "sha256-zR44d9MowLG1lIbvrRaFTpO/HXKKrO6lbtZfvvTdx+o=";
};
})
];
extraConfigLua = ''
vim.lsp.inlay_hint.enable(true)
vim.filetype.add({
extension = {
cob = "cobweb",
cobweb = "cobweb",
},
})
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
parser_config.cobweb = {
install_info = {
url = "~/tree-sitter-cobweb", -- local path or git repo
files = {"src/parser.c"},
generate_requires_npm = false,
requires_generate_from_grammar = false,
},
filetype = "cobweb",
}
'';
globals.mapleader = " ";
opts = {
relativenumber = true;
@ -373,6 +499,42 @@
colorcolumn = "80";
};
keymaps = [
{
mode = "n";
key = "<leader>ha";
action.__raw = "function() require'harpoon':list():add() end";
options.desc = "Harpoon add file";
}
{
mode = "n";
key = "<C-e>";
action.__raw = "function() require'harpoon'.ui:toggle_quick_menu(require'harpoon':list()) end";
options.desc = "Harpoon quick menu";
}
{
mode = "n";
key = "<leader>h;";
action.__raw = "function() require'harpoon':list():select(1) end";
options.desc = "Harpoon file 1";
}
{
mode = "n";
key = "<leader>h,";
action.__raw = "function() require'harpoon':list():select(2) end";
options.desc = "Harpoon file 2";
}
{
mode = "n";
key = "<leader>h.";
action.__raw = "function() require'harpoon':list():select(3) end";
options.desc = "Harpoon file 3";
}
{
mode = "n";
key = "<leader>hp";
action.__raw = "function() require'harpoon':list():select(4) end";
options.desc = "Harpoon file 4";
}
{
mode = "n";
key = "<C-h>";
@ -480,13 +642,6 @@
key = "<leader>p";
action = "\"_dP";
}
# Toggleterm
# {
# mode = "n";
# key = "<leader>t";
# action = ":ToggleTerm direction=float<CR>";
# }
];
colorschemes.rose-pine.enable = true;
};

View file

@ -24,9 +24,9 @@
# Vi copy mode bindings
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
bind-key P paste-buffer
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
'';
};
}

View file

@ -0,0 +1,17 @@
# home/fabric/programs/yazi.nix
{
config,
pkgs,
...
}: {
programs = {
yazi = {
enable = true;
settings = {
manager = {
show_hidden = true;
};
};
};
};
}

View file

@ -17,10 +17,19 @@
];
};
initExtra = ''
export PATH="/home/fabric/.deno/bin:$PATH"
export PATH=$PATH:(go env GOPATH)/bin
alias wails='$(go env GOPATH)/bin/wails'
export PATH="/home/fabric/.deno/bin:$PATH"
export PATH="/home/fabric/.local/lib/bin:$PATH"
export PATH=$PATH:(go env GOPATH)/bin
GOPATH=$HOME/go
PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
PATH="$HOME/.govm/shim:$PATH"
alias t="tmux"
alias ta="tmux attach"
alias n="nvim"
alias gmt="go mod tidy"
alias gmi="go mod init"
'';
prezto = {
tmux = {

View file

@ -7,6 +7,7 @@
}: {
imports = [
./locale.nix
./tailscale.nix
];
# Enable nix flakes
@ -18,14 +19,18 @@
# Basic system packages
environment.systemPackages = with pkgs; [
vim
git
greetd.greetd
greetd.tuigreet
libinput
libnotify
kitty
zsh
ollama
# ollama
ollama-cuda
usbutils
obs-studio
obs-studio-plugins.input-overlay
];
# Enable the OpenSSH daemon
@ -50,7 +55,8 @@
hyprland.enable = true;
zsh.enable = true;
};
networking.enableIPv6 = false;
# This value determines the NixOS release version
system.stateVersion = "24.11";
system.stateVersion = "25.05";
}

View file

@ -0,0 +1,5 @@
{...}: {
services.tailscale = {
enable = true;
};
}

View file

@ -1,3 +0,0 @@
# hosts/common/optional/wifi.nix
{...}: {
}

View file

@ -14,7 +14,6 @@
../common/optional/nvidia.nix
../common/optional/docker.nix
../common/optional/steam.nix
../common/optional/wifi.nix
];
# Bootloader