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" "type": "github"
} }
}, },
"devshell": { "fenix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixvim", "openapi-tui",
"nixpkgs" "nixpkgs"
] ],
"rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1735644329, "lastModified": 1710310970,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", "narHash": "sha256-YREcSnbDH7Es6MDvhmzPBBF3exEg2EP4sd3QCiPyWyI=",
"owner": "numtide", "owner": "nix-community",
"repo": "devshell", "repo": "fenix",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac", "rev": "df74cae97f59a868ad355af6a703e7845d0ae648",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "nix-community",
"repo": "devshell", "repo": "fenix",
"type": "github" "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": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@ -87,11 +74,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738453229, "lastModified": 1743550720,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -118,51 +105,21 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": { "flake-utils_2": {
"inputs": { "inputs": {
"flake-compat": [ "systems": "systems_2"
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1737465171, "lastModified": 1710146030,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "cachix", "owner": "numtide",
"repo": "git-hooks.nix", "repo": "flake-utils",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "cachix", "owner": "numtide",
"repo": "git-hooks.nix", "repo": "flake-utils",
"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",
"type": "github" "type": "github"
} }
}, },
@ -173,38 +130,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739757849, "lastModified": 1746413188,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.11", "ref": "master",
"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",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -212,16 +147,14 @@
"hyprpanel": { "hyprpanel": {
"inputs": { "inputs": {
"ags": "ags", "ags": "ags",
"nixpkgs": [ "nixpkgs": "nixpkgs"
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1740863579, "lastModified": 1745885816,
"narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=", "narHash": "sha256-yuIb6/gGcII+2YgtTLcYdga0pcL63B18xQ/oitOhg7k=",
"owner": "jas-singhfsu", "owner": "jas-singhfsu",
"repo": "hyprpanel", "repo": "hyprpanel",
"rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd", "rev": "0c82ce9704c8063be8d8f60443071c91943eb68c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -244,65 +177,43 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729958008, "lastModified": 1737371634,
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", "narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "ixx", "repo": "ixx",
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", "rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NuschtOS", "owner": "NuschtOS",
"ref": "v0.0.6", "ref": "v0.0.7",
"repo": "ixx", "repo": "ixx",
"type": "github" "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": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1741332913, "lastModified": 1736344531,
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "20755fa05115c84be00b04690630cb38f0a203ad", "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.11", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1741310760, "lastModified": 1746397377,
"narHash": "sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM=", "narHash": "sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX+GGtN9f/n4lU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "de0fe301211c267807afd11b12613f5511ff7433", "rev": "ed30f8aba41605e3ab46421e3dcb4510ec560ff8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -312,31 +223,57 @@
"type": "github" "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": { "nixvim": {
"inputs": { "inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nuschtosSearch": "nuschtosSearch", "nuschtosSearch": "nuschtosSearch"
"treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1740919463, "lastModified": 1746536883,
"narHash": "sha256-8jEXQsZUiG86T/H8dCxYOJ+kAT+ppVylaPYiFwrNL6g=", "narHash": "sha256-EJax0aiJIVJlqF7QyAefZ9fi1HgGcm7U1rBkcm2Z3Ps=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "7e27ae55d17db65bd3ff02bcbec0615d50584910", "rev": "c26f5c2e31c1da895bf9289783ff8e2fe3637ca0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "nixos-24.11", "ref": "main",
"repo": "nixvim", "repo": "nixvim",
"type": "github" "type": "github"
} }
@ -351,11 +288,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739738736, "lastModified": 1745046075,
"narHash": "sha256-Rl4Fw+3PsLTEzzUGlB8kePaiIersDbv5voAif3D6LoM=", "narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "9ff62c8e1fbe5dc649dee680c7eb4935936c8ac3", "rev": "066afe8643274470f4a294442aadd988356a478f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -364,13 +301,52 @@
"type": "github" "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": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprpanel": "hyprpanel", "hyprpanel": "hyprpanel",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable", "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": { "systems": {
@ -388,24 +364,33 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": { "systems_2": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1739829690, "lastModified": 1681028828,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "numtide", "owner": "nix-systems",
"repo": "treefmt-nix", "repo": "default",
"rev": "3d0579f5cc93436052d94b73925b48973a104204", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "nix-systems",
"repo": "treefmt-nix", "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" "type": "github"
} }
} }

View file

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

View file

@ -14,16 +14,19 @@
./programs/tmux.nix ./programs/tmux.nix
./programs/zsh.nix ./programs/zsh.nix
./programs/ssh.nix ./programs/ssh.nix
./programs/yazi.nix
# Import desktop configurations # Import desktop configurations
./desktop/hyprland.nix ./desktop/hyprland.nix
./desktop/hyprpanel.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 Manager needs a bit of information about you and the paths it should manage
home.username = "fabric"; home.username = "fabric";
home.homeDirectory = "/home/fabric"; home.homeDirectory = "/home/fabric";
home.stateVersion = "24.11"; home.stateVersion = "25.05";
# Session variables # Session variables
home.sessionVariables = { home.sessionVariables = {
@ -42,11 +45,80 @@
kitty kitty
firefox firefox
mpv 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 tmux
discord discord
fzf fzf
yazi
zsh zsh
pavucontrol pavucontrol
wofi wofi
@ -74,6 +146,20 @@
btop btop
leetgo leetgo
gnumake gnumake
openapi-tui
sqlite
tree
openconnect
lynx
mdbook
zola
unzip
hugo
sass
sshfs
tree-sitter
heroic
gimp3
]; ];
# Enable home-manager # 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 = { general = {
gaps_in = 0; gaps_in = 0;
gaps_out = "0, 600, 0, 600"; gaps_out = "0, 440, 0, 440";
}; };
input = { input = {
@ -28,9 +28,9 @@
]; ];
windowrule = [ windowrule = [
"workspace 6 silent,^(discord)$" "workspace 6 silent,class:^(discord)$"
"workspace 4 silent,^(kitty)$" "workspace 4 silent,class:^(kitty)$"
"workspace 5 silent,^(firefox)$" "workspace 5 silent,class:^(firefox)$"
]; ];
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
@ -75,9 +75,10 @@
"$mainMod SHIFT, 9, movetoworkspace, 9" "$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10" "$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"; home.sessionVariables.NIXOS_OZONE_WL = "1";

View file

@ -17,27 +17,23 @@
enable = true; enable = true;
# Add to Hyprland config # Add to Hyprland config
hyprland.enable = true; # hyprland.enable = true;
# Fix the overwrite issue # Fix the overwrite issue
overwrite.enable = false; 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 # Configure and theme options
settings = { 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.launcher.autoDetectIcon = true;
bar.workspaces.show_icons = true; bar.workspaces.show_icons = true;
@ -52,6 +48,8 @@
menus.dashboard.directories.enabled = false; menus.dashboard.directories.enabled = false;
menus.dashboard.stats.enable_gpu = true; menus.dashboard.stats.enable_gpu = true;
# Import a theme
theme.name = "rose_pine_moon_split";
theme.bar.transparent = false; theme.bar.transparent = false;
theme.font = { 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, ...}: { {pkgs, ...}: {
programs.nixvim = { programs.nixvim = {
enable = true; 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 = { 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; nui.enable = true;
auto-session = { auto-session = {
enable = true; enable = true;
@ -23,7 +109,7 @@
}; };
web-devicons.enable = true; web-devicons.enable = true;
nix.enable = true; nix.enable = true;
bufferline.enable = true; bufferline.enable = false;
lualine.enable = true; lualine.enable = true;
luasnip.enable = true; luasnip.enable = true;
yanky = { yanky = {
@ -34,11 +120,33 @@
}; };
ts-comments.enable = true; ts-comments.enable = true;
telescope = { telescope = {
settings = {
pickers = {
find_files = {
hidden = true;
};
};
};
enable = true; enable = true;
keymaps = { keymaps = {
"<leader> " = { "<leader> " = {
action = "find_files"; 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 = { settings = {
defaults = { defaults = {
@ -51,11 +159,6 @@
"%.ipynb" "%.ipynb"
"^node_modules/" "^node_modules/"
"^.next/" "^.next/"
"%.env"
"%.env.local"
"%.env.development.local"
"%.env.test.local"
"%.env.production.local"
"^npm-debug.log" "^npm-debug.log"
"^yarn-debug.log" "^yarn-debug.log"
"^yarn-error.log" "^yarn-error.log"
@ -67,7 +170,9 @@
"^tailwind.config.js.backup" "^tailwind.config.js.backup"
"%.css.map" "%.css.map"
"^styles/dist/" "^styles/dist/"
".*_templ%.go$"
]; ];
hidden = true;
}; };
}; };
}; };
@ -111,16 +216,16 @@
indent-blankline.enable = true; indent-blankline.enable = true;
harpoon = { harpoon = {
enable = true; enable = true;
keymaps = { # keymaps = {
addFile = "<leader>ha"; # addFile = "<leader>ha";
toggleQuickMenu = "<C-e>"; # toggleQuickMenu = "<C-e>";
navFile = { # navFile = {
"1" = "<leader>h;"; # "1" = "<leader>h;";
"2" = "<leader>h,"; # "2" = "<leader>h,";
"3" = "<leader>h."; # "3" = "<leader>h.";
"4" = "<leader>hp"; # "4" = "<leader>hp";
}; # };
}; # };
}; };
yazi.enable = true; yazi.enable = true;
gitsigns = { gitsigns = {
@ -259,9 +364,19 @@
lsp = { lsp = {
enable = true; enable = true;
inlayHints = true; inlayHints = true;
keymaps.lspBuf = {
K = "hover";
gD = "references";
gd = "definition";
gi = "implementation";
gt = "type_definition";
};
servers = { servers = {
ts_ls.enable = true; ts_ls.enable = true;
eslint.enable = true; eslint.enable = true;
templ.enable = true;
htmx.enable = true;
nil_ls = { nil_ls = {
enable = true; enable = true;
}; };
@ -284,6 +399,7 @@
enable = true; enable = true;
settings = { settings = {
hints = { hints = {
enable = true;
assignVariableTypes = true; assignVariableTypes = true;
compositeLiteralFields = true; compositeLiteralFields = true;
compositeLiteralTypes = true; compositeLiteralTypes = true;
@ -339,16 +455,26 @@
vim-suda.enable = true; vim-suda.enable = true;
}; };
extraPlugins = [ 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 = " "; globals.mapleader = " ";
opts = { opts = {
relativenumber = true; relativenumber = true;
@ -373,6 +499,42 @@
colorcolumn = "80"; colorcolumn = "80";
}; };
keymaps = [ 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"; mode = "n";
key = "<C-h>"; key = "<C-h>";
@ -480,13 +642,6 @@
key = "<leader>p"; key = "<leader>p";
action = "\"_dP"; action = "\"_dP";
} }
# Toggleterm
# {
# mode = "n";
# key = "<leader>t";
# action = ":ToggleTerm direction=float<CR>";
# }
]; ];
colorschemes.rose-pine.enable = true; colorschemes.rose-pine.enable = true;
}; };

View file

@ -24,9 +24,9 @@
# Vi copy mode bindings # Vi copy mode bindings
bind-key -T copy-mode-vi v send-keys -X begin-selection 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 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 = '' 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 = { prezto = {
tmux = { tmux = {

View file

@ -7,6 +7,7 @@
}: { }: {
imports = [ imports = [
./locale.nix ./locale.nix
./tailscale.nix
]; ];
# Enable nix flakes # Enable nix flakes
@ -18,14 +19,18 @@
# Basic system packages # Basic system packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
vim vim
git
greetd.greetd greetd.greetd
greetd.tuigreet greetd.tuigreet
libinput libinput
libnotify libnotify
kitty kitty
zsh zsh
ollama # ollama
ollama-cuda
usbutils usbutils
obs-studio
obs-studio-plugins.input-overlay
]; ];
# Enable the OpenSSH daemon # Enable the OpenSSH daemon
@ -50,7 +55,8 @@
hyprland.enable = true; hyprland.enable = true;
zsh.enable = true; zsh.enable = true;
}; };
networking.enableIPv6 = false;
# This value determines the NixOS release version # 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/nvidia.nix
../common/optional/docker.nix ../common/optional/docker.nix
../common/optional/steam.nix ../common/optional/steam.nix
../common/optional/wifi.nix
]; ];
# Bootloader # Bootloader