+AZ-LPT-100

This commit is contained in:
2025-08-25 07:37:33 +02:00
parent b460ee8b83
commit a1087f9522
47 changed files with 2222 additions and 8 deletions

View File

@@ -0,0 +1,91 @@
{
config,
lib,
...
}:
with lib; let
cfg = config.features.desktop.hyprland;
in {
imports = [
../common
./home.nix
../features/cli
../features/desktop
];
options.features.desktop.hyprland.enable =
mkEnableOption "enable Hyprland";
config = mkMerge [
# Base configuration
{
xdg = {
# TODO: better structure
enable = true;
configFile."mimeapps.list".force = true;
mimeApps = {
enable = true;
associations.added = {
"application/zip" = ["org.gnome.FileRoller.desktop"];
"application/csv" = ["calc.desktop"];
"application/pdf" = ["vivaldi-stable.desktop"];
"x-scheme-handler/http" = ["vivaldi-stable.desktop"];
"x-scheme-handler/https" = ["vivaldi-stable.desktop"];
};
defaultApplications = {
"application/zip" = ["org.gnome.FileRoller.desktop"];
"application/csv" = ["calc.desktop"];
"application/pdf" = ["vivaldi-stable.desktop"];
"application/md" = ["dev.zed.Zed.desktop"];
"application/text" = ["dev.zed.Zed.desktop"];
"x-scheme-handler/http" = ["vivaldi-stable.desktop"];
"x-scheme-handler/https" = ["vivaldi-stable.desktop"];
};
};
};
features = {
cli = {
fish.enable = true;
nushell.enable = true;
fzf.enable = true;
nitch.enable = true;
secrets.enable = true;
starship.enable = true;
};
desktop = {
coding.enable = true;
hyprland.enable = true;
media.enable = true;
office.enable = true;
rofi.enable = true;
fonts.enable = true;
wayland.enable = true;
};
};
}
(mkIf cfg.enable {
wayland.windowManager.hyprland = {
enable = true;
settings = {
source = "~/.config/hypr/monitors.conf";
workspace = [
"1, monitor:eDP-1, default:true"
"2, monitor:eDP-1"
"3, monitor:DP-9"
"4, monitor:DP-9"
"5, monitor:DP-8,border:false,rounding:false"
"6, monitor:DP-8"
];
windowrule = [
"workspace 1,class:(com.obsproject.Studio)"
"workspace 3,class:dev.zed.Zed"
"workspace 5,opacity 1.0, class:(vivaldi-stable)"
"workspace 6,opacity 1.0, initialTitle:(teams.microsoft.com_/)"
"workspace 6,opacity 1.0, initialTitle:(outlook.office.com_/mail/)"
];
};
};
})
];
}

View File

@@ -24,7 +24,6 @@
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
neovim
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
@@ -100,7 +99,23 @@
home.sessionVariables = {
# EDITOR = "emacs";
};
programs.ssh = {
enable = true;
matchBlocks = {
"git.az-gruppe.com" = {
hostname = "152.53.186.119";
user = "sascha.koenig";
port = 2022;
identityFile = "~/.ssh/sascha.koenig";
};
"AZ-CLD-1" = {
hostname = "152.53.186.119";
user = "sascha.koenig";
port = 2022;
identityFile = "~/.ssh/sascha.koenig";
};
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}