feasible config for the beginning

This commit is contained in:
MFlossmann 2024-03-27 23:45:23 +01:00
parent b4c2ba8174
commit 25d5980e6c
13 changed files with 563 additions and 203 deletions

View file

@ -0,0 +1,54 @@
{
pkgs,
config,
lib,
inputs,
...
}: {
imports = [];
nixpkgs.config = {
allowUnfree = true;
experimental-features = "nix-command flakes";
};
programs.home-manager.enable = true;
home.packages = with pkgs; [
# nix
nil
nh
git
lazygit
tree-sitter
# file-management
ranger
pistol
file
p7zip
unzip
zip
# tools
killall
fzf
eza # ls-replacement
fd
zoxide
bat
dust
ripgrep
fastfetch
wget
];
home.sessionVariables = {
EDITOR = "nvim";
};
programs.neovim.enable = true;
programs.neovim.defaultEditor = true;
}

View file

@ -0,0 +1,24 @@
{
pkgs,
config,
lib,
inputs,
...
}: {
imports = [];
home.packages = with pkgs; [
thunderbird
signal-desktop
keepassxc
];
programs.firefox = {
enable = true;
};
# TODO: fill this out (and move it in a service, probably)
# services.syncthing = {
# enable = true
# };
}

View file

@ -0,0 +1,15 @@
{
pkgs,
config,
lib,
inputs,
...
}: {
imports = [];
home.packages = with pkgs; [
freecad
prusa-slicer
printrun
];
}

47
modules/home/default.nix Normal file
View file

@ -0,0 +1,47 @@
{
pkgs,
system,
inputs,
config,
lib,
helperLib,
...
}: let
cfg = config.myHomeManager;
# # Taking all modules in ./features and adding enables to them
# features =
# helperLib.extendModules
# (name: {
# extraOptions = {
# myHomeManager.${name}.enable = lib.mkEnableOption "enable my ${name} configuration";
# };
#
# configExtension = config: (lib.mkIf cfg.${name}.enable config);
# })
# (helperLib.filesIn ./features);
#
# Taking all module bundles in ./bundles and adding bundle.enables to them
bundles =
helperLib.extendModules
(name: {
extraOptions = {
myHomeManager.bundles.${name}.enable = lib.mkEnableOption "enable ${name} module bundle";
};
configExtension = config: (lib.mkIf cfg.bundles.${name}.enable config);
})
(helperLib.filesIn ./bundles);
in {
imports = [
]
# ++ features
++ bundles
;
config = {
myHomeManager = {
bundles.core.enable = lib.mkDefault true;
};
};
}