punkfairie
b8b4759f17
"It's overkill to give every single package it's own nix module" yeah probably. I do it so that I never have to guess where something's configuration lives again. Just open up marleyos/ in lazyvim, hit <space><space>, search for program, profit. The only exception is stuff specific to programming languages, such as language servers and aliases to php artisan. Those live under languages/<language>. Eventually I'd like to make dev shells for each.
68 lines
1.5 KiB
Nix
68 lines
1.5 KiB
Nix
{
|
|
pkgs,
|
|
# nixgl,
|
|
...
|
|
}:
|
|
{
|
|
home.username = "marley";
|
|
home.homeDirectory = "/home/marley";
|
|
|
|
targets.genericLinux.enable = true;
|
|
|
|
# GPU integration.
|
|
# nixGL.packages = nixgl.packages;
|
|
# nixGL.defaultWrapper = "nvidia";
|
|
# nixGL.installScripts = [ "nvidia" ];
|
|
|
|
home.language.base = "en_US.UTF-8";
|
|
|
|
# Tell nix what version it is.
|
|
nix.package = pkgs.nix;
|
|
|
|
nix = {
|
|
# Enable flakes.
|
|
settings.experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
|
|
# Disable that annoying "git tree is dirty" warning.
|
|
extraOptions = ''
|
|
warn-dirty = false
|
|
'';
|
|
|
|
# Garbage collection.
|
|
gc.automatic = true;
|
|
};
|
|
|
|
xdg.configFile."nixpkgs/config.nix".text = # nix
|
|
''
|
|
{
|
|
allowUnfree = true;
|
|
}
|
|
'';
|
|
|
|
# Autostart wanted systemd services.
|
|
systemd.user.startServices = true;
|
|
|
|
imports = [
|
|
./appearance
|
|
./languages
|
|
./profile
|
|
./programs
|
|
./services
|
|
./xorg
|
|
];
|
|
|
|
# This value determines the Home Manager release that your configuration is
|
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
# introduces backwards incompatible changes.
|
|
#
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
# release notes.
|
|
home.stateVersion = "24.05"; # Please read the comment before changing.
|
|
|
|
# Let home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
}
|