328 current 1970-01-01 01:00:00 23.11.20240518.e7cc617 6.6.30-rt30 *

This commit is contained in:
Max Känner 2024-05-20 21:15:16 +02:00
parent da0bf720dd
commit 1c8ffbf289
21 changed files with 115 additions and 87 deletions

View File

@ -3,12 +3,11 @@
../../modules/home
];
shell.enable = true;
git.enable = true;
music.enable = true;
sway.enable = true;
sway.laptop = true;
myPrograms.enable = true;
myConfig = {
enable = true;
desktop = true;
laptop = true;
};
# Home Manager needs a bit of information about you and the paths it should
# manage.

View File

@ -1,3 +1,26 @@
{...}: {
{
lib,
config,
...
}: let
cfg = config.myConfig;
in {
imports = [./git ./music ./programs ./shell ./sway];
options.myConfig = {
enable = lib.mkEnableOption "custom home-manager config";
desktop = lib.mkEnableOption "custom home-manager config for desktop use";
laptop = lib.mkEnableOption "extra settings for laptop use";
};
config.myConfig = lib.mkIf cfg.enable {
shell.enable = true;
git.enable = true;
sway.enable = lib.mkIf cfg.desktop true;
music.enable = lib.mkIf cfg.desktop true;
programs.enable = lib.mkIf cfg.desktop true;
sway.laptop = lib.mkIf cfg.laptop true;
};
}

View File

@ -3,16 +3,16 @@
config,
...
}: let
cfg = config.git;
cfg = config.myConfig.git;
in {
imports = [./lazygit.nix];
options = {
git.enable = lib.mkEnableOption "git";
options.myConfig.git = {
enable = lib.mkEnableOption "git";
};
config = lib.mkIf cfg.enable {
git.lazygit.enable = lib.mkDefault true;
myConfig.git.lazygit.enable = lib.mkDefault true;
programs.git = {
enable = true;

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.git.lazygit;
cfg = config.myConfig.git.lazygit;
in {
options = {
git.lazygit.enable = lib.mkEnableOption "lazygit, a git tui";
options.myConfig.git.lazygit = {
enable = lib.mkEnableOption "lazygit, a git tui";
};
config = lib.mkIf cfg.enable {

View File

@ -4,15 +4,15 @@
inputs,
...
}: let
cfg = config.music;
cfg = config.myConfig.music;
in {
imports = [./mpd.nix];
options = {
music.enable = lib.mkEnableOption "make the system ready for listening to music";
options.myConfig.music = {
enable = lib.mkEnableOption "make the system ready for listening to music";
};
config = lib.mkIf cfg.enable {
music.mpd.enable = lib.mkDefault true;
myConfig.music.mpd.enable = lib.mkDefault true;
};
}

View File

@ -4,10 +4,10 @@
pkgs,
...
}: let
cfg = config.music.mpd;
cfg = config.myConfig.music.mpd;
in {
options = {
music.mpd.enable = lib.mkEnableOption "Music Player Daemon";
options.myConfig.music.mpd = {
enable = lib.mkEnableOption "Music Player Daemon";
};
config = lib.mkIf cfg.enable {

View File

@ -4,19 +4,21 @@
pkgs,
...
}: let
cfg = config.myPrograms;
cfg = config.myConfig.programs;
in {
imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix];
options = {
myPrograms.enable = lib.mkEnableOption "programs for desktop use";
options.myConfig.programs = {
enable = lib.mkEnableOption "programs for desktop use";
};
config = lib.mkIf cfg.enable {
myPrograms.foot.enable = lib.mkDefault true;
myPrograms.thunderbird.enable = lib.mkDefault true;
myPrograms.nextcloud.enable = lib.mkDefault true;
myPrograms.udiskie.enable = lib.mkDefault true;
myConfig.programs = {
foot.enable = lib.mkDefault true;
thunderbird.enable = lib.mkDefault true;
nextcloud.enable = lib.mkDefault true;
udiskie.enable = lib.mkDefault true;
};
home.packages = with pkgs; [
unzip

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.myPrograms.foot;
cfg = config.myConfig.programs.foot;
in {
options = {
myPrograms.foot.enable = lib.mkEnableOption "foot, a lightweight wayland terminal emulator";
options.myConfig.programs.foot = {
enable = lib.mkEnableOption "foot, a lightweight wayland terminal emulator";
};
config = lib.mkIf cfg.enable {

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.myPrograms.nextcloud;
cfg = config.myConfig.programs.nextcloud;
in {
options = {
myPrograms.nextcloud.enable = lib.mkEnableOption "nextcloud client";
options.myConfig.programs.nextcloud = {
enable = lib.mkEnableOption "nextcloud client";
};
config = lib.mkIf cfg.enable {

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.myPrograms.thunderbird;
cfg = config.myConfig.programs.thunderbird;
in {
options = {
myPrograms.thunderbird.enable = lib.mkEnableOption "thunderbird, a email client";
options.myConfig.programs.thunderbird = {
enable = lib.mkEnableOption "thunderbird, a email client";
};
config = lib.mkIf cfg.enable {

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.myPrograms.udiskie;
cfg = config.myConfig.programs.udiskie;
in {
options = {
myPrograms.udiskie.enable = lib.mkEnableOption "auto media mounting";
options.myConfig.programs.udiskie = {
enable = lib.mkEnableOption "auto media mounting";
};
config = lib.mkIf cfg.enable {

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.shell.bat;
cfg = config.myConfig.shell.bat;
in {
options = {
shell.bat.enable = lib.mkEnableOption "bat, a cat replacement with syntax highlighting";
options.myConfig.shell.bat = {
enable = lib.mkEnableOption "bat, a cat replacement with syntax highlighting";
};
config = lib.mkIf cfg.enable {

View File

@ -4,10 +4,10 @@
pkgs,
...
}: let
cfg = config.shell.btop;
cfg = config.myConfig.shell.btop;
in {
options = {
shell.btop.enable = lib.mkEnableOption "btop, a system monitor";
options.myConfig.shell.btop = {
enable = lib.mkEnableOption "btop, a system monitor";
};
config = lib.mkIf cfg.enable {

View File

@ -3,18 +3,20 @@
config,
...
}: let
cfg = config.shell;
cfg = config.myConfig.shell;
in {
imports = [./zsh.nix ./bat.nix ./btop.nix ./neovim.nix];
options = {
shell.enable = lib.mkEnableOption "my shell environment";
options.myConfig.shell = {
enable = lib.mkEnableOption "my shell environment";
};
config = lib.mkIf cfg.enable {
shell.zsh.enable = lib.mkDefault true;
shell.neovim.enable = lib.mkDefault true;
shell.btop.enable = lib.mkDefault true;
shell.bat.enable = lib.mkDefault true;
myConfig.shell = {
zsh.enable = lib.mkDefault true;
neovim.enable = lib.mkDefault true;
btop.enable = lib.mkDefault true;
bat.enable = lib.mkDefault true;
};
};
}

View File

@ -4,10 +4,10 @@
pkgs,
...
}: let
cfg = config.shell.neovim;
cfg = config.myConfig.shell.neovim;
in {
options = {
shell.neovim.enable = lib.mkEnableOption "neovim";
options.myConfig.shell.neovim = {
enable = lib.mkEnableOption "neovim";
};
config = lib.mkIf cfg.enable {

View File

@ -4,10 +4,10 @@
pkgs,
...
}: let
cfg = config.shell.zsh;
cfg = config.myConfig.shell.zsh;
in {
options = {
shell.zsh.enable = lib.mkEnableOption "Zsh, an advanced shell";
options.myConfig.shell.zsh = {
enable = lib.mkEnableOption "Zsh, an advanced shell";
};
config = lib.mkIf cfg.enable {

View File

@ -4,7 +4,7 @@
lib,
...
}: let
cfg = config.sway;
cfg = config.myConfig.sway;
rotate_lisgd = pkgs.writeShellScriptBin "rotate_lisgd" ''
# PREV_ORIENTATION and ORIENTATION are given by rot8
@ -44,19 +44,21 @@
in {
imports = [./kanshi.nix ./waybar.nix ./theme.nix ./mako.nix];
options = {
sway.enable = lib.mkEnableOption "sway, a lightweight window manager";
sway.laptop = lib.mkEnableOption "laptop config";
options.myConfig.sway = {
enable = lib.mkEnableOption "sway, a lightweight window manager";
laptop = lib.mkEnableOption "laptop config";
};
config = lib.mkIf cfg.enable {
sway.kanshi.enable = lib.mkDefault true;
sway.waybar.enable = lib.mkDefault true;
sway.theming.enable = lib.mkDefault true;
sway.mako.enable = lib.mkDefault true;
sway.waybar.battery = lib.mkIf cfg.laptop (lib.mkDefault true);
sway.waybar.backlight = lib.mkIf cfg.laptop (lib.mkDefault true);
sway.waybar.squeekboard = lib.mkIf cfg.laptop (lib.mkDefault true);
myConfig.sway = {
kanshi.enable = lib.mkDefault true;
waybar.enable = lib.mkDefault true;
theming.enable = lib.mkDefault true;
mako.enable = lib.mkDefault true;
waybar.battery = lib.mkIf cfg.laptop (lib.mkDefault true);
waybar.backlight = lib.mkIf cfg.laptop (lib.mkDefault true);
waybar.squeekboard = lib.mkIf cfg.laptop (lib.mkDefault true);
};
home.packages = with pkgs; [
swaylock # screen locking

View File

@ -4,11 +4,11 @@
pkgs,
...
}: let
cfg = config.sway.kanshi;
cfg = config.myConfig.sway.kanshi;
in {
options = {
sway.kanshi.enable = lib.mkEnableOption "kanshi, a dynamic display recognizer";
sway.kanshi.laptop = lib.mkEnableOption "laptop workspaces";
options.myConfig.sway.kanshi = {
enable = lib.mkEnableOption "kanshi, a dynamic display recognizer";
laptop = lib.mkEnableOption "laptop workspaces";
};
config = lib.mkIf cfg.enable {

View File

@ -3,10 +3,10 @@
config,
...
}: let
cfg = config.sway.mako;
cfg = config.myConfig.sway.mako;
in {
options = {
sway.mako.enable = lib.mkEnableOption "mako, a notification deamon";
options.myConfig.sway.mako = {
enable = lib.mkEnableOption "mako, a notification deamon";
};
config = lib.mkIf cfg.enable {

View File

@ -4,7 +4,7 @@
pkgs,
...
}: let
cfg = config.sway.theming;
cfg = config.myConfig.sway.theming;
# currently, there is some friction between sway and gtk:
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
@ -13,8 +13,8 @@
gsettings set $gnome_schema gtk-theme 'Dracula'
'';
in {
options = {
sway.theming.enable = lib.mkEnableOption "theming for sway";
options.myConfig.sway.theming = {
enable = lib.mkEnableOption "theming for sway";
};
config = lib.mkIf cfg.enable {

View File

@ -4,7 +4,7 @@
pkgs,
...
}: let
cfg = config.sway.waybar;
cfg = config.myConfig.sway.waybar;
schema = "org.gnome.desktop.a11y.applications";
key = "screen-keyboard-enabled";
@ -25,12 +25,12 @@
fi
'';
in {
options = {
sway.waybar.enable = lib.mkEnableOption "waybar, a status bar for wayland compositors";
sway.waybar.squeekboard = lib.mkEnableOption "squeekboard";
sway.waybar.mpd = lib.mkEnableOption "mpd";
sway.waybar.battery = lib.mkEnableOption "battery";
sway.waybar.backlight = lib.mkEnableOption "backlight";
options.myConfig.sway.waybar = {
enable = lib.mkEnableOption "waybar, a status bar for wayland compositors";
squeekboard = lib.mkEnableOption "squeekboard";
mpd = lib.mkEnableOption "mpd";
battery = lib.mkEnableOption "battery";
backlight = lib.mkEnableOption "backlight";
};
config = lib.mkIf cfg.enable {