init
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
155
README.md
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
> [!CAUTION]
|
||||||
|
> ### ⚠️ Wichtige Hinweise zur Bootfähigkeit
|
||||||
|
>
|
||||||
|
>
|
||||||
|
> **zwingend manuell anpassen**
|
||||||
|
> * **Hardware-Konfiguration.nix**: Die Datei `hardware-configuration.nix` muss für jedes Gerät individuell generiert werden. (Generierte vom System nehmen)
|
||||||
|
> * **Hibernation.nix**: Die Werte für `boot.resumeDevice` (UUID) und `resume_offset` in der `modules/hibernation.nix` sind physikalisch an die aktuelle Festplatte gebunden. (erstmal auskommentieren in configuration.nix dann anpassen)
|
||||||
|
> * **nvidia.nix**: Muss angepasst je nach GPU
|
||||||
|
> * **boot.nix**: nutzt drm nvidia treiber muss ausgetauscht werden initdr anpassen ob amd oder nvidia!
|
||||||
|
> * **Virtualisierung.nix**: Die USB-IDs für die Kinesis-Tastatur und Keychron-Maus in der `modules/virtualization.nix` funktionieren nur mit diesen spezifischen Geräten. (erstmal egal)
|
||||||
|
>
|
||||||
|
>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ███╗ ██╗██╗██╗ ██╗ ██████╗ ███████╗
|
||||||
|
# ████╗ ██║██║╚██╗██╔╝██╔═══██╗██╔════╝
|
||||||
|
# ██╔██╗ ██║██║ ╚███╔╝ ██║ ██║███████╗
|
||||||
|
# ██║╚██╗██║██║ ██╔██╗ ██║ ██║╚════██║
|
||||||
|
# ██║ ╚████║██║██╔╝ ██╗╚██████╔╝███████║
|
||||||
|
# ╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
|
||||||
|
|
||||||
|
# ❄️ Nils' Modular NixOS Config
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="./cosmic_desktop.png" width="450" alt="Desktop View">
|
||||||
|
<img src="./cosmic_terminal.png" width="450" alt="Terminal View">
|
||||||
|
|
||||||
|
<img src="./owl_desktop.png" width="450" alt="Desktop View">
|
||||||
|
<img src="./owl_terminal.png" width="450" alt="Terminal View">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
* [ ] Waybar reload Tray spawn beheben
|
||||||
|
|
||||||
|
|
||||||
|
* [ ] swaync dynamisch reloading
|
||||||
|
|
||||||
|
|
||||||
|
## Struktur
|
||||||
|
|
||||||
|
Die Konfiguration ist in logische Module unterteilt, um die Wartung und Übertragbarkeit zu erleichtern:
|
||||||
|
|
||||||
|
**`configuration.nix`**: Zentraler Einstiegspunkt für das System.
|
||||||
|
|
||||||
|
**`modules/`**: Systemweite Konfigurationen (Boot, NVIDIA, Virtualisierung, Hibernation).
|
||||||
|
|
||||||
|
**`home/`**: Benutzerspezifische Konfigurationen via Home-Manager (Hyprland, Waybar, App-Configs).
|
||||||
|
|
||||||
|
**`icons-wallpapers/`**: Icons, Wallpapers und System-Assets.
|
||||||
|
|
||||||
|
**`templates/`**: Vorlagen für die dynamische Farberzeugung mit Matugen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation & Setup
|
||||||
|
|
||||||
|
### 1. Repository klonen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/DEIN_USERNAME/nixos-config.git ~/nixos
|
||||||
|
cd ~/nixos
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Symlink erstellen
|
||||||
|
|
||||||
|
NixOS erwartet seine Konfiguration standardmäßig unter `/etc/nixos`. Wir verlinken unser lokales Verzeichnis dorthin:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo ln -s /home/nils/nixos /etc/nixos
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Konfiguration anwenden
|
||||||
|
|
||||||
|
Verwende für normale Änderungen `switch`. Wenn du jedoch **Kernel-Parameter** (wie für Hibernate) oder den **Bootloader** änderst, ist der `boot`-Befehl sicherer:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Empfohlen nach Änderungen an der hibernation.nix oder boot.nix:
|
||||||
|
sudo nixos-rebuild boot --flake .#nixos
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Updates & Wartung
|
||||||
|
|
||||||
|
Um die externen Programme und das Basissystem (nixpkgs) auf den neuesten Stand zu bringen, müssen die Flake-Inputs aktualisiert werden:
|
||||||
|
|
||||||
|
1. **Inputs aktualisieren**:
|
||||||
|
```bash
|
||||||
|
nix flake update
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Dieser Befehl prüft alle Quellen in der `flake.nix` auf Aktualisierungen und schreibt die neuen Versionen in die `flake.lock`.
|
||||||
|
|
||||||
|
|
||||||
|
2. **Änderung registrieren**:
|
||||||
|
```bash
|
||||||
|
git add flake.lock
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
3. **System aktualisieren**:
|
||||||
|
```bash
|
||||||
|
sudo nixos-rebuild switch --flake .#nixos
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
Wenn du Änderungen vornimmst, folge immer diesem Ablauf:
|
||||||
|
|
||||||
|
1. **Dateien bearbeiten** (in `/home/nils/nixos`).
|
||||||
|
2. **Änderungen registrieren**: `git add .` (Ohne diesen Schritt findet NixOS neue Dateien oder Änderungen in Flakes nicht!).
|
||||||
|
3. **Anwenden**:
|
||||||
|
* `sudo nixos-rebuild switch --flake .#nixos` (für sofortige Änderungen).
|
||||||
|
* `sudo nixos-rebuild boot --flake .#nixos` (schreibt den Boot-Eintrag für den nächsten Neustart).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Was wurde ergänzt?
|
||||||
|
|
||||||
|
* **Pfad-Klarheit**: Es wird explizit auf `/home/nils/nixos` hingewiesen.
|
||||||
|
* **Git-Pflicht**: Der Hinweis auf `git init` und die Notwendigkeit von `git add` für Flakes ist jetzt prominenter.
|
||||||
|
* **Boot-Befehl**: Die Unterscheidung zwischen `switch` und `boot` wurde hinzugefügt, da du für das Hibernation-Setup zwingend den `boot`-Parameter benötigst, um die Kernel-Parameter (`resume_offset`) im Bootloader zu registrieren.
|
||||||
|
|
||||||
|
Soll ich noch einen Abschnitt hinzufügen, wie man überprüft, ob der Symlink korrekt gesetzt wurde?
|
||||||
|
|
||||||
|
### 3. Hardware-Konfiguration
|
||||||
|
|
||||||
|
Die `hardware-configuration.nix` ist spezifisch für jedes Gerät. Sie wird automatisch generiert und sollte im Hauptverzeichnis bleiben.
|
||||||
|
|
||||||
|
* Die Datei wird beim ersten Setup automatisch eingebunden.
|
||||||
|
|
||||||
|
|
||||||
|
* **Wichtig:** Falls du das System auf neuer Hardware aufsetzt, generiere sie mit `nixos-generate-config` neu.
|
||||||
|
|
||||||
|
### 4. Konfiguration anwenden
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nixos-rebuild switch --flake .#nixos
|
||||||
|
|
||||||
|
```
|
||||||
32
configuration.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./modules/boot.nix
|
||||||
|
./modules/hibernation.nix
|
||||||
|
./modules/virtualization.nix
|
||||||
|
./modules/locale.nix
|
||||||
|
./modules/nvidia.nix
|
||||||
|
./modules/desktop.nix
|
||||||
|
./modules/users.nix
|
||||||
|
./modules/system-packages.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 7d";
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
services.xserver.enable = true;
|
||||||
|
}
|
||||||
BIN
cosmic_desktop.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
BIN
cosmic_hyprlock.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
BIN
cosmic_terminal.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
cosmic_wlogout.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
140
flake.lock
generated
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1765980955,
|
||||||
|
"narHash": "sha256-rB45jv4uwC90vM9UZ70plfvY/2Kdygs+zlQ07dGQFk4=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "89c9508bbe9b40d36b3dc206c2483ef176f15173",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mac-style-plymouth": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756677116,
|
||||||
|
"narHash": "sha256-bjtQvzupAFX5AYAIyBXSFgWhaG4nP4TvgKDoKyUhZ4U=",
|
||||||
|
"owner": "SergioRibera",
|
||||||
|
"repo": "s4rchiso-plymouth-theme",
|
||||||
|
"rev": "2f782f4b68ce1c00cef3fde6970d7b4241bb97d4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "SergioRibera",
|
||||||
|
"repo": "s4rchiso-plymouth-theme",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"matugen": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1765981892,
|
||||||
|
"narHash": "sha256-c7VKaNiBUkwGsTq398EQSM4K7skPacmOz8NeLj67M7s=",
|
||||||
|
"owner": "InioX",
|
||||||
|
"repo": "Matugen",
|
||||||
|
"rev": "e405cd9de87510dd40c1328bcf06e0daf3d1a5bf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "InioX",
|
||||||
|
"repo": "Matugen",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1765779637,
|
||||||
|
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"mac-style-plymouth": "mac-style-plymouth",
|
||||||
|
"matugen": "matugen",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
34
flake.nix
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
description = "nils NixOS Modular Config";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
matugen = {
|
||||||
|
url = "github:InioX/Matugen";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
mac-style-plymouth = {
|
||||||
|
url = "github:SergioRibera/s4rchiso-plymouth-theme";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
|
let
|
||||||
|
username = "nils";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
in {
|
||||||
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = { inherit inputs username; };
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
38
hardware-configuration.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/6a9e58be-37d9-4fee-8b67-81a78d80c016";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/1C0E-5877";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
21
home/alacritty.nix
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general.import = [ "${config.home.homeDirectory}/.config/alacritty/colors.toml" ];
|
||||||
|
|
||||||
|
env.TERM = "xterm-256color";
|
||||||
|
window = {
|
||||||
|
opacity = 0.9;
|
||||||
|
padding = { x = 10; y = 10; };
|
||||||
|
};
|
||||||
|
font.size = 12;
|
||||||
|
|
||||||
|
terminal.shell = {
|
||||||
|
program = "${pkgs.zellij}/bin/zellij";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
48
home/helix.nix
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
settings = {
|
||||||
|
theme = "transparent";
|
||||||
|
editor = {
|
||||||
|
line-number = "relative";
|
||||||
|
bufferline = "multiple";
|
||||||
|
cursor-shape = {
|
||||||
|
insert = "bar";
|
||||||
|
normal = "block";
|
||||||
|
select = "underline";
|
||||||
|
};
|
||||||
|
statusline.left = ["mode" "spinner" "file-name"];
|
||||||
|
};
|
||||||
|
keys.normal = {
|
||||||
|
X = "extend_line_above";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
themes = {
|
||||||
|
transparent = {
|
||||||
|
inherits = "base16_transparent";
|
||||||
|
"ui.background" = { };
|
||||||
|
|
||||||
|
"ui.linenr" = { fg = "#666666"; };
|
||||||
|
"ui.linenr.selected" = {
|
||||||
|
fg = "#ffffff";
|
||||||
|
modifiers = ["bold"];
|
||||||
|
};
|
||||||
|
|
||||||
|
"ui.cursor" = { bg = "#ffffff"; fg = "#000000"; };
|
||||||
|
"ui.cursor.primary" = { bg = "#ffffff"; fg = "#000000"; };
|
||||||
|
|
||||||
|
"ui.selection" = {
|
||||||
|
bg = "#585b70";
|
||||||
|
fg = "#ffffff";
|
||||||
|
};
|
||||||
|
"ui.selection.primary" = {
|
||||||
|
bg = "#b4befe";
|
||||||
|
fg = "#11111b";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
39
home/home.nix
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{ config, pkgs, inputs, lib, username, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./alacritty.nix
|
||||||
|
./helix.nix
|
||||||
|
./hypridle.nix
|
||||||
|
./hyprland.nix
|
||||||
|
./hyprlock.nix
|
||||||
|
./swww.nix
|
||||||
|
./mime-apps.nix
|
||||||
|
./packages.nix
|
||||||
|
./rofi.nix
|
||||||
|
./shell.nix
|
||||||
|
./swaync.nix
|
||||||
|
./theming.nix
|
||||||
|
./waybar.nix
|
||||||
|
./waypaper.nix
|
||||||
|
./wlogout.nix
|
||||||
|
./swayosd.nix
|
||||||
|
./yazi.nix
|
||||||
|
./zathura.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.username = username;
|
||||||
|
home.homeDirectory = "/home/${username}";
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
XDG_MENU_PREFIX = "plasma-";
|
||||||
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
|
QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
GBM_BACKEND = "nvidia-drm";
|
||||||
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
};
|
||||||
|
}
|
||||||
28
home/hypridle.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock";
|
||||||
|
before_sleep_cmd = "loginctl lock-session";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 180;
|
||||||
|
on-timeout = "loginctl lock-session";
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# timeout = 330;
|
||||||
|
# on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
# on-resume = "hyprctl dispatch dpms on";
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
timeout = 300;
|
||||||
|
on-timeout = "systemctl suspend-then-hibernate";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
263
home/hyprland.nix
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
source = "~/.config/hypr/colors.conf";
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
"DP-6, 5120x1440@239.761, 0x1440, 1"
|
||||||
|
"DP-5, 2560x1440@164.958, 1280x0, 1"
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"1, monitor:DP-6, default:true"
|
||||||
|
];
|
||||||
|
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
"$terminal" = "alacritty";
|
||||||
|
"$filemanager" = "yazi";
|
||||||
|
"$applauncher" = "rofi -show drun -no-custom";
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
bezier = [
|
||||||
|
"overshot, 0.13, 0.99, 0.29, 1.1"
|
||||||
|
"smooth, 0.25, 1, 0.5, 1"
|
||||||
|
"snappy, 0.1, 1, 0.1, 1"
|
||||||
|
];
|
||||||
|
animation = [
|
||||||
|
"windowsIn, 1, 4, overshot, slide"
|
||||||
|
"windowsOut, 1, 5, default, popin 80%"
|
||||||
|
"border, 1, 5, default"
|
||||||
|
"workspacesIn, 1, 6, snappy, slide"
|
||||||
|
"workspacesOut, 1, 6, snappy, slidefade 80%"
|
||||||
|
"specialWorkspace, 1, 6, snappy, slidevert"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "de";
|
||||||
|
kb_options = "caps:escape";
|
||||||
|
follow_mouse = 1;
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
tap-to-click = true;
|
||||||
|
clickfinger_behavior = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 8;
|
||||||
|
passes = 3;
|
||||||
|
new_optimizations = true;
|
||||||
|
ignore_opacity = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 3;
|
||||||
|
gaps_out = 5;
|
||||||
|
border_size = 3;
|
||||||
|
"col.active_border" = "$primary";
|
||||||
|
"col.inactive_border" = "$surface_variant";
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod, T, exec, $terminal"
|
||||||
|
"$mainMod, E, exec, $terminal -e $filemanager" # Terminal -e wegen yazi
|
||||||
|
"$mainMod, Q, killactive"
|
||||||
|
"$mainMod, V, exec, copyq show"
|
||||||
|
"$mainMod, D, exec, $applauncher"
|
||||||
|
"$mainMod, Tab, exec, rofi -show window"
|
||||||
|
"$mainMod SHIFT, D, exec, bash -c 'FILE=${config.home.homeDirectory}/nixos/templates/bookmarks.txt; sel=$(sed \"s/ :: .*//\" \"$FILE\" | rofi -dmenu -i -p \"Web: \"); [ -z \"$sel\" ] && exit; match=$(grep -F \"$sel :: \" \"$FILE\"); if [ -n \"$match\" ]; then url=\"\${match##* :: }\"; else url=\"$sel\"; fi; if [[ \"$url\" == http* ]] || ([[ \"$url\" != *\" \"* && \"$url\" == *\".\"* ]]); then firefox \"$url\"; else firefox \"https://duckduckgo.com/?q=$url\"; fi'"
|
||||||
|
"$mainMod, Y, layoutmsg, togglesplit"
|
||||||
|
"$mainMod, C, exec, hyprpicker -a"
|
||||||
|
"$mainMod, N, exec, wayscriber -a"
|
||||||
|
"$mainMod SHIFT, N, exec, wayscriber -a --freeze"
|
||||||
|
|
||||||
|
"$mainMod, G, exec, woomer"
|
||||||
|
|
||||||
|
"$mainMod, F, fullscreen"
|
||||||
|
"$mainMod, Escape, exec, wlogout"
|
||||||
|
"$mainMod, Z, togglefloating"
|
||||||
|
|
||||||
|
"$mainMod, H, movefocus, l"
|
||||||
|
"$mainMod, J, movefocus, d"
|
||||||
|
"$mainMod, K, movefocus, u"
|
||||||
|
"$mainMod, L, movefocus, r"
|
||||||
|
|
||||||
|
"$mainMod CTRL, H, swapwindow, l"
|
||||||
|
"$mainMod CTRL, J, swapwindow, d"
|
||||||
|
"$mainMod CTRL, K, swapwindow, u"
|
||||||
|
"$mainMod CTRL, L, swapwindow, r"
|
||||||
|
|
||||||
|
"$mainMod SHIFT, H, movewindow, l"
|
||||||
|
"$mainMod SHIFT, J, movewindow, d"
|
||||||
|
"$mainMod SHIFT, K, movewindow, u"
|
||||||
|
"$mainMod SHIFT, L, movewindow, r"
|
||||||
|
|
||||||
|
"$mainMod, S, togglespecialworkspace, special"
|
||||||
|
"$mainMod CTRL, S, movetoworkspace, special"
|
||||||
|
"$mainMod SHIFT, S, movetoworkspace, e+0"
|
||||||
|
|
||||||
|
"$mainMod, left, focusmonitor, l"
|
||||||
|
"$mainMod, right, focusmonitor, r"
|
||||||
|
"$mainMod, up, focusmonitor, u"
|
||||||
|
"$mainMod, down, focusmonitor, d"
|
||||||
|
|
||||||
|
"$mainMod SHIFT, left, movewindow, l"
|
||||||
|
"$mainMod SHIFT, right, movewindow, r"
|
||||||
|
"$mainMod SHIFT, up, movewindow, u"
|
||||||
|
"$mainMod SHIFT, down, movewindow, d"
|
||||||
|
|
||||||
|
# Submap
|
||||||
|
"$mainMod, R, submap, resize"
|
||||||
|
|
||||||
|
# Screenshot eines Bereichs (Selection) -> Speichern + Clipboard
|
||||||
|
", Print, exec, bash -c 'mkdir -p ${config.home.homeDirectory}/Bilder/Bildschirmfotos && FILE=${config.home.homeDirectory}/Bilder/Bildschirmfotos/Screenshot_$(date +%Y%m%d_%H%M%S).png && grim -g \"$(slurp)\" $FILE && wl-copy < $FILE'"
|
||||||
|
|
||||||
|
# Screenshot des gesamten Bildschirms (Full Monitor) -> Speichern + Clipboard
|
||||||
|
"SHIFT, Print, exec, bash -c 'mkdir -p ${config.home.homeDirectory}/Bilder/Bildschirmfotos && FILE=${config.home.homeDirectory}/Bilder/Bildschirmfotos/Fullscreen_$(date +%Y%m%d_%H%M%S).png && grim $FILE && wl-copy < $FILE'"
|
||||||
|
] ++ (
|
||||||
|
builtins.concatLists (builtins.genList (x:
|
||||||
|
let ws = builtins.toString (x + 1);
|
||||||
|
in [
|
||||||
|
"$mainMod, ${ws}, workspace, ${ws}"
|
||||||
|
"$mainMod CTRL, ${ws}, movetoworkspace, ${ws}"
|
||||||
|
"$mainMod SHIFT, ${ws}, movetoworkspacesilent, ${ws}"
|
||||||
|
]
|
||||||
|
) 9)
|
||||||
|
);
|
||||||
|
|
||||||
|
binde = [
|
||||||
|
# Lautstärke Audio (Sink)
|
||||||
|
", XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise"
|
||||||
|
", XF86AudioLowerVolume, exec, swayosd-client --output-volume lower"
|
||||||
|
|
||||||
|
# Helligkeit
|
||||||
|
", XF86MonBrightnessUp, exec, swayosd-client --brightness raise"
|
||||||
|
", XF86MonBrightnessDown, exec, swayosd-client --brightness lower"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindl = [
|
||||||
|
# Stummschaltung (Toggle)
|
||||||
|
", XF86AudioMute, exec, swayosd-client --output-volume mute-toggle"
|
||||||
|
", XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle"
|
||||||
|
|
||||||
|
# Mediensteuerung
|
||||||
|
", XF86AudioPlay, exec, swayosd-client --playerctl play-pause"
|
||||||
|
", XF86AudioNext, exec, swayosd-client --playerctl next"
|
||||||
|
", XF86AudioPrev, exec, swayosd-client --playerctl previous"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindr = [
|
||||||
|
"CAPS, Caps_Lock, exec, swayosd-client --caps-lock"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrulev2 = [
|
||||||
|
"opacity 0.9 0.8, class:^(Alacritty)$"
|
||||||
|
|
||||||
|
"noanim, title:^(woomer)$"
|
||||||
|
|
||||||
|
"noanim, class:^(ueberzugpp_.*)$"
|
||||||
|
"noinitialfocus, class:^(ueberzugpp_.*)$"
|
||||||
|
"noblur, class:^(ueberzugpp_.*)$"
|
||||||
|
"noshadow, class:^(ueberzugpp_.*)$"
|
||||||
|
"noborder, class:^(ueberzugpp_.*)$"
|
||||||
|
"float, class:^(ueberzugpp_.*)$"
|
||||||
|
|
||||||
|
"float, class:^(com.github.casperdcl.ripdrag)$"
|
||||||
|
|
||||||
|
"float, size 800 600, center, class:^(org.pulseaudio.pavucontrol)$"
|
||||||
|
|
||||||
|
"float, class:^(waypaper)$"
|
||||||
|
"size 800 600, class:^(waypaper)$"
|
||||||
|
"center, class:^(waypaper)$"
|
||||||
|
|
||||||
|
"float, class:^(com.github.hluk.copyq)$"
|
||||||
|
"center, class:^(com.github.hluk.copyq)$"
|
||||||
|
"size 800 600, class:^(com.github.hluk.copyq)$"
|
||||||
|
"opacity 0.9 0.9, class:^(com.github.hluk.copyq)$"
|
||||||
|
];
|
||||||
|
|
||||||
|
layerrule = [
|
||||||
|
"blur, rofi"
|
||||||
|
"ignorealpha 0.1, rofi"
|
||||||
|
"blur, logout_dialog"
|
||||||
|
"ignorealpha 0.1, logout_dialog"
|
||||||
|
"ignorezero, logout_dialog"
|
||||||
|
"blur, swaync-control-center"
|
||||||
|
"blur, swaync-notification-window"
|
||||||
|
"ignorealpha 0.5, swaync-control-center"
|
||||||
|
"ignorealpha 0.5, swaync-notification-window"
|
||||||
|
];
|
||||||
|
|
||||||
|
exec-once = [
|
||||||
|
"sway-audio-idle-inhibit"
|
||||||
|
"hyprctl dispatch focusmonitor DP-6"
|
||||||
|
"waybar"
|
||||||
|
"swaync"
|
||||||
|
"pgrep copyq || copyq --start-server && copyq hide"
|
||||||
|
"nextcloud --background"
|
||||||
|
"${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"
|
||||||
|
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland"
|
||||||
|
"${pkgs.kdePackages.kwallet-pam}/libexec/pam_kwallet_init"
|
||||||
|
"wayscriber --daemon"
|
||||||
|
"waypaper --restore"
|
||||||
|
];
|
||||||
|
|
||||||
|
device = [
|
||||||
|
{
|
||||||
|
name = "wacom-intuos-pro-m-pen";
|
||||||
|
output = "DP-6";
|
||||||
|
|
||||||
|
active_area_size = "224 63";
|
||||||
|
active_area_position = "0 38.5";
|
||||||
|
|
||||||
|
transform = 0;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Extra Config
|
||||||
|
extraConfig = ''
|
||||||
|
submap = resize
|
||||||
|
|
||||||
|
binde = , l, resizeactive, 30 0
|
||||||
|
binde = , h, resizeactive, -30 0
|
||||||
|
binde = , j, resizeactive, 0 30
|
||||||
|
binde = , k, resizeactive, 0 -30
|
||||||
|
|
||||||
|
binde = SHIFT, l, resizeactive, -30 0
|
||||||
|
binde = SHIFT, h, resizeactive, 30 0
|
||||||
|
binde = SHIFT, j, resizeactive, 0 -30
|
||||||
|
binde = SHIFT, k, resizeactive, 0 30
|
||||||
|
|
||||||
|
binde = , plus, resizeactive, 20 20
|
||||||
|
binde = , minus, resizeactive, -20 -20
|
||||||
|
binde = SHIFT, plus, resizeactive, 0 20
|
||||||
|
binde = SHIFT, minus, resizeactive, 0 -20
|
||||||
|
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
bind = , catchall, submap, reset
|
||||||
|
submap = reset
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
83
home/hyprlock.nix
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
source = "~/.config/hypr/hyprlock-colors.conf";
|
||||||
|
|
||||||
|
general = {
|
||||||
|
immediate_render = true;
|
||||||
|
hide_cursor = true;
|
||||||
|
no_fade_in = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
background = [{
|
||||||
|
monitor = "";
|
||||||
|
path = "${config.home.homeDirectory}/nixos/wallpaper/current_wallpaper";
|
||||||
|
color = "$background";
|
||||||
|
|
||||||
|
blur_passes = 3;
|
||||||
|
blur_size = 8;
|
||||||
|
noise = 0.0117;
|
||||||
|
contrast = 0.8916;
|
||||||
|
brightness = 0.8172;
|
||||||
|
vibrancy = 0.1696;
|
||||||
|
}];
|
||||||
|
|
||||||
|
input-field = [{
|
||||||
|
monitor = "";
|
||||||
|
size = "300, 30";
|
||||||
|
outline_thickness = 0;
|
||||||
|
dots_size = 0.25;
|
||||||
|
dots_spacing = 0.55;
|
||||||
|
dots_center = true;
|
||||||
|
|
||||||
|
outer_color = "rgba(0, 0, 0, 0)";
|
||||||
|
inner_color = "rgba(0, 0, 0, 0.2)";
|
||||||
|
font_color = "$foreground";
|
||||||
|
|
||||||
|
fade_on_empty = false;
|
||||||
|
placeholder_text = "Enter Password";
|
||||||
|
hide_input = false;
|
||||||
|
|
||||||
|
position = "0, -468";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}];
|
||||||
|
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "$TIME";
|
||||||
|
color = "$primary";
|
||||||
|
font_size = 93;
|
||||||
|
font_family = "JetBrainsMono Nerd Font Bold";
|
||||||
|
position = "0, 310";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "cmd[update:1000] echo \"$(date +'%A, %B %d')\"";
|
||||||
|
color = "$foreground";
|
||||||
|
font_size = 20;
|
||||||
|
font_family = "JetBrainsMono Nerd Font";
|
||||||
|
position = "0, 405";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "Nils";
|
||||||
|
color = "$foreground";
|
||||||
|
font_size = 12;
|
||||||
|
font_family = "JetBrainsMono Nerd Font Bold";
|
||||||
|
position = "0, -407";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
65
home/mime-apps.nix
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{ ... }: {
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplications = {
|
||||||
|
# --- Text ---
|
||||||
|
"text/plain" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"text/markdown" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"text/rust" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"application/json" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"application/x-yaml" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"application/x-docbook+xml" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"application/x-zerosize" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"text/x-cmake" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"text/x-objcsrc" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
"text/x-typst" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
|
||||||
|
|
||||||
|
# --- Audio ---
|
||||||
|
"audio/mpeg" = [ "org.kde.elisa.desktop" ];
|
||||||
|
"audio/x-wav" = [ "org.kde.elisa.desktop" ];
|
||||||
|
"audio/x-vorbis+ogg" = [ "org.kde.elisa.desktop" ];
|
||||||
|
"audio/flac" = [ "org.kde.elisa.desktop" ];
|
||||||
|
"audio/mp4" = [ "org.kde.elisa.desktop" ];
|
||||||
|
"audio/aac" = [ "org.kde.elisa.desktop" ];
|
||||||
|
"audio/ogg" = [ "org.kde.elisa.desktop" ];
|
||||||
|
|
||||||
|
# --- Video ---
|
||||||
|
"video/mp4" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"video/x-matroska" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"video/webm" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"video/quicktime" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"video/x-msvideo" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"video/mpeg" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"video/x-flv" = [ "org.kde.haruna.desktop" ];
|
||||||
|
"application/x-matroska" = [ "org.kde.haruna.desktop" ];
|
||||||
|
|
||||||
|
# --- Dokumente & Archive ---
|
||||||
|
"application/pdf" = [ "org.pwmt.zathura.desktop" "org.kde.okular.desktop" ];
|
||||||
|
"application/zip" = [ "org.kde.ark.desktop" ];
|
||||||
|
"application/x-tar" = [ "org.kde.ark.desktop" ];
|
||||||
|
"application/x-compressed-tar" = [ "org.kde.ark.desktop" ];
|
||||||
|
"image/svg+xml" = [ "org.kde.gwenview.desktop" "org.inkscape.Inkscape.desktop" ];
|
||||||
|
"image/png" = [ "org.kde.gwenview.desktop" ];
|
||||||
|
"image/jpeg" = [ "org.kde.gwenview.desktop" ];
|
||||||
|
|
||||||
|
# --- Ordner ---
|
||||||
|
"inode/directory" = [ "org.kde.dolphin.desktop" ];
|
||||||
|
|
||||||
|
# --- Mail & Kalender ---
|
||||||
|
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
|
||||||
|
"message/rfc822" = [ "thunderbird.desktop" ];
|
||||||
|
"text/calendar" = [ "thunderbird.desktop" ];
|
||||||
|
"x-scheme-handler/webcal" = [ "thunderbird.desktop" ];
|
||||||
|
"x-scheme-handler/webcals" = [ "thunderbird.desktop" ];
|
||||||
|
"application/x-extension-ics" = [ "thunderbird.desktop" ];
|
||||||
|
|
||||||
|
# --- Messenger ---
|
||||||
|
"x-scheme-handler/sgnl" = [ "signal.desktop" ];
|
||||||
|
"x-scheme-handler/signalcaptcha" = [ "signal.desktop" ];
|
||||||
|
|
||||||
|
# --- Terminal ---
|
||||||
|
"x-scheme-handler/terminal" = [ "Alacritty.desktop" ];
|
||||||
|
"application/x-terminal-emulator" = [ "Alacritty.desktop" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
101
home/packages.nix
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
{ pkgs, inputs, lib, ... }: {
|
||||||
|
|
||||||
|
xdg.configFile."copyq/copyq.conf".text = lib.mkAfter ''
|
||||||
|
[Options]
|
||||||
|
disable_tray=true
|
||||||
|
minimize_on_close=true
|
||||||
|
hide_main_window_startup=true
|
||||||
|
close_on_unfocus=true
|
||||||
|
'';
|
||||||
|
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color_theme = "matugen.theme";
|
||||||
|
theme_background = false;
|
||||||
|
preset = 0;
|
||||||
|
vim_keys = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
nativeMessagingHosts = [
|
||||||
|
pkgs.kdePackages.plasma-browser-integration
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.wlsunset = {
|
||||||
|
enable = true;
|
||||||
|
latitude = "49.32";
|
||||||
|
longitude = "8.43";
|
||||||
|
|
||||||
|
temperature = {
|
||||||
|
day = 6500;
|
||||||
|
night = 4000;
|
||||||
|
};
|
||||||
|
gamma = "1.0";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
inputs.matugen.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
|
||||||
|
hypridle
|
||||||
|
swww
|
||||||
|
waypaper
|
||||||
|
sway-audio-idle-inhibit
|
||||||
|
libnotify
|
||||||
|
ripdrag
|
||||||
|
woomer
|
||||||
|
hyprpicker
|
||||||
|
wayscriber
|
||||||
|
wl-clipboard
|
||||||
|
avizo
|
||||||
|
mediainfo
|
||||||
|
exiftool
|
||||||
|
deezer-enhanced
|
||||||
|
|
||||||
|
kdePackages.elisa
|
||||||
|
kdePackages.dolphin
|
||||||
|
kdePackages.kate
|
||||||
|
kdePackages.spectacle
|
||||||
|
kdePackages.ark
|
||||||
|
kdePackages.konsole
|
||||||
|
kdePackages.francis
|
||||||
|
|
||||||
|
kdePackages.gwenview
|
||||||
|
kdePackages.breeze-icons
|
||||||
|
|
||||||
|
ffmpeg
|
||||||
|
p7zip
|
||||||
|
jq
|
||||||
|
poppler-utils
|
||||||
|
zoxide
|
||||||
|
resvg
|
||||||
|
imagemagick
|
||||||
|
|
||||||
|
ueberzugpp
|
||||||
|
chafa
|
||||||
|
|
||||||
|
# Multimedia
|
||||||
|
bluetui obs-studio haruna discord signal-desktop spotify pavucontrol playerctl
|
||||||
|
|
||||||
|
# Games
|
||||||
|
prismlauncher
|
||||||
|
|
||||||
|
# Office & Utilities
|
||||||
|
anki libreoffice-qt6 kdePackages.okular kdePackages.svgpart krusader
|
||||||
|
keepassxc bitwarden-desktop filezilla zotero nextcloud-client
|
||||||
|
inkscape pympress xournalpp obsidian nicotine-plus thunderbird masterpdfeditor
|
||||||
|
pandoc qalculate-qt
|
||||||
|
kdePackages.skanlite kdePackages.kwave kdePackages.kbackup kdePackages.kget
|
||||||
|
kdePackages.kamoso kdePackages.filelight kdePackages.isoimagewriter
|
||||||
|
kdePackages.kcalc kdePackages.kompare kdePackages.kolourpaint kdePackages.kdenlive
|
||||||
|
|
||||||
|
# Grafik & Code
|
||||||
|
krita
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
fastfetch fzf ripgrep fd unzip grim slurp cava
|
||||||
|
];
|
||||||
|
}
|
||||||
113
home/rofi.nix
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.rofi;
|
||||||
|
extraConfig = {
|
||||||
|
modes = "window,run,ssh,drun";
|
||||||
|
show-icons = true;
|
||||||
|
drun-display-format = "{name}";
|
||||||
|
display-drun = "Apps:";
|
||||||
|
terminal = "alacritty";
|
||||||
|
};
|
||||||
|
theme = "${config.home.homeDirectory}/.config/rofi/main-theme.rasi";
|
||||||
|
};
|
||||||
|
xdg.configFile."rofi/main-theme.rasi".text = ''
|
||||||
|
/* Importiert die von Matugen generierten Farben */
|
||||||
|
@import "${config.home.homeDirectory}/.config/rofi/matugen-colors.rasi"
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
wayland-layer: "overlay";
|
||||||
|
//display-drun: "";
|
||||||
|
//display-run: "";
|
||||||
|
//display-window: "";
|
||||||
|
//display-ssh: "";
|
||||||
|
show-icons: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
background-color: @bg0;
|
||||||
|
border-color: @fg0;
|
||||||
|
text-color: @fg0;
|
||||||
|
font: "JetBrainsMono Nerd Font 11";
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 100% ;
|
||||||
|
padding: 4px ;
|
||||||
|
anchor: north;
|
||||||
|
location: north;
|
||||||
|
y-offset: -30px;
|
||||||
|
children: [ "horibox" ];
|
||||||
|
background-color: @bg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
horibox {
|
||||||
|
orientation: horizontal;
|
||||||
|
children: [ "container-left", "container-right" ];
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
container-left {
|
||||||
|
orientation: horizontal;
|
||||||
|
expand: true;
|
||||||
|
children: [ "dummy", "inputbar" ];
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
container-right {
|
||||||
|
orientation: horizontal;
|
||||||
|
expand: true;
|
||||||
|
children: [ "listview", "dummy" ];
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
layout: horizontal;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
spacing: 15px ;
|
||||||
|
lines: 100;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
width: 5em ;
|
||||||
|
expand: false;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg0;
|
||||||
|
placeholder: "Suche...";
|
||||||
|
placeholder-color: @fg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @blue;
|
||||||
|
margin: 0 10px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 0px 5px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @bg2;
|
||||||
|
text-color: @fg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 1.0em;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
73
home/rofi_alternative.nix
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.rofi;
|
||||||
|
extraConfig = {
|
||||||
|
modes = "window,run,ssh,drun";
|
||||||
|
show-icons = true;
|
||||||
|
display-drun = "Apps:";
|
||||||
|
terminal = "alacritty";
|
||||||
|
};
|
||||||
|
theme = "${config.home.homeDirectory}/.config/rofi/main-theme.rasi";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."rofi/main-theme.rasi".text = ''
|
||||||
|
@import "${config.home.homeDirectory}/.config/rofi/matugen-colors.rasi"
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetBrainsMono Nerd Font 12";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg0;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
spacing: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
location: center;
|
||||||
|
width: 680;
|
||||||
|
border-radius: 20px;
|
||||||
|
border: 2px;
|
||||||
|
border-color: @blue; /* Hier wird jetzt die Matugen-Farbe genutzt */
|
||||||
|
background-color: @bg0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox { padding: 12px; }
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
background-color: @bg1;
|
||||||
|
border-color: @bg3;
|
||||||
|
border-radius: 12px;
|
||||||
|
border: 2px;
|
||||||
|
padding: 8px 16px;
|
||||||
|
spacing: 8px;
|
||||||
|
children: [ prompt, entry ];
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt { text-color: @blue; }
|
||||||
|
entry { placeholder: "Search..."; placeholder-color: @fg2; text-color: @fg0; }
|
||||||
|
|
||||||
|
listview {
|
||||||
|
margin: 12px 0 0;
|
||||||
|
lines: 8;
|
||||||
|
columns: 1;
|
||||||
|
fixed-height: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 8px 16px;
|
||||||
|
spacing: 12px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected normal {
|
||||||
|
background-color: @bg2;
|
||||||
|
text-color: @blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon { size: 1.5em; }
|
||||||
|
element-text { text-color: inherit; vertical-align: 0.5; }
|
||||||
|
'';
|
||||||
|
}
|
||||||
77
home/shell.nix
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
shellAbbrs = {
|
||||||
|
# nix develop -c $SHELL
|
||||||
|
nd = "nix develop -c fish";
|
||||||
|
lg = "lazygit";
|
||||||
|
};
|
||||||
|
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set fish_greeting
|
||||||
|
|
||||||
|
set -g fish_color_param brcyan
|
||||||
|
set -gx LG_CONFIG_FILE "$HOME/.config/lazygit/config.yml,$HOME/.config/lazygit/theme.yml"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zellij = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = false;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
default_shell = "fish";
|
||||||
|
theme = "matugen";
|
||||||
|
default_layout = "compact";
|
||||||
|
show_startup_tips = false;
|
||||||
|
|
||||||
|
|
||||||
|
keybinds = {
|
||||||
|
normal = {
|
||||||
|
"bind \"Alt h\"" = { MoveFocus = "Left"; };
|
||||||
|
"bind \"Alt l\"" = { MoveFocus = "Right"; };
|
||||||
|
"bind \"Alt j\"" = { MoveFocus = "Down"; };
|
||||||
|
"bind \"Alt k\"" = { MoveFocus = "Up"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
move = {
|
||||||
|
"bind \"h\"" = { MovePane = "Left"; };
|
||||||
|
"bind \"l\"" = { MovePane = "Right"; };
|
||||||
|
"bind \"j\"" = { MovePane = "Down"; };
|
||||||
|
"bind \"k\"" = { MovePane = "Up"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
resize = {
|
||||||
|
"bind \"h\"" = { Resize = "Increase Left"; };
|
||||||
|
"bind \"l\"" = { Resize = "Increase Right"; };
|
||||||
|
"bind \"j\"" = { Resize = "Increase Down"; };
|
||||||
|
"bind \"k\"" = { Resize = "Increase Up"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings.user = { name = "Nils Walther"; email = "mail@nils-walther.de"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.yt-dlp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.lazygit = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
37
home/swaync.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.swaync = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
positionX = "right";
|
||||||
|
positionY = "top";
|
||||||
|
control-center-margin-top = 10;
|
||||||
|
control-center-margin-right = 10;
|
||||||
|
fit-to-screen = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
@import "${config.home.homeDirectory}/.config/swaync/colors.css";
|
||||||
|
|
||||||
|
* { font-family: "JetBrainsMono Nerd Font"; }
|
||||||
|
|
||||||
|
.control-center {
|
||||||
|
background: @background;
|
||||||
|
border: 2px solid @primary;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification {
|
||||||
|
background: @surface_container;
|
||||||
|
border-radius: 0px;
|
||||||
|
margin: 6px;
|
||||||
|
border: 1px solid @secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary { color: @primary; font-weight: bold; }
|
||||||
|
.body { color: @foreground; }
|
||||||
|
.critical { background: @urgent; color: @background; }
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
8
home/swayosd.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.swayosd = {
|
||||||
|
enable = true;
|
||||||
|
topMargin = 0.5;
|
||||||
|
};
|
||||||
|
}
|
||||||
24
home/swww.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs.swww
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services.swww = {
|
||||||
|
Unit = {
|
||||||
|
Description = "swww wallpaper daemon";
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
Partof = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.swww}/bin/swww-daemon";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
106
home/theming.nix
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
{ config, pkgs, inputs, lib, ... }: {
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
name = "WhiteSur-cursors";
|
||||||
|
package = pkgs.whitesur-cursors;
|
||||||
|
size = 30;
|
||||||
|
gtk.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = { enable = true; platformTheme.name = "kde"; style.name = "breeze"; };
|
||||||
|
|
||||||
|
xdg.configFile."matugen/config.toml".text = ''
|
||||||
|
[config]
|
||||||
|
reload_apps = true
|
||||||
|
|
||||||
|
[templates.alacritty]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/alacritty.toml"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/alacritty/colors.toml"
|
||||||
|
|
||||||
|
[templates.btop]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/btop.theme"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/btop/themes/matugen.theme"
|
||||||
|
|
||||||
|
[templates.gtk]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/colors-gtk.css"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/matugen/colors.css"
|
||||||
|
|
||||||
|
[templates.hyprland]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/hyprland-colors.conf"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/hypr/colors.conf"
|
||||||
|
|
||||||
|
[templates.hyprlock]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/hyprlock-colors.conf"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/hypr/hyprlock-colors.conf"
|
||||||
|
|
||||||
|
[templates.rofi]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/rofi.rasi"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/rofi/matugen-colors.rasi"
|
||||||
|
|
||||||
|
[templates.fish]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/fish-colors.fish"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/fish/conf.d/matugen.fish"
|
||||||
|
|
||||||
|
[templates.starship]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/starship.toml"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/starship.toml"
|
||||||
|
|
||||||
|
[templates.swaync]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/swaync-colors.css"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/swaync/colors.css"
|
||||||
|
|
||||||
|
[templates.waybar]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/colors-gtk.css"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/matugen/colors.css"
|
||||||
|
|
||||||
|
[templates.wlogout]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/wlogout-colors.css"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/wlogout/colors.css"
|
||||||
|
|
||||||
|
[templates.lazygit]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/lazygit_theme.yml"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/lazygit/theme.yml"
|
||||||
|
|
||||||
|
[templates.zathura]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/zathura"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/zathura/zathurarc-colors"
|
||||||
|
|
||||||
|
[templates.yazi]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/yazi-theme.toml"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/yazi/theme.toml"
|
||||||
|
|
||||||
|
[templates.zellij]
|
||||||
|
input_path = "${config.home.homeDirectory}/nixos/templates/zellij.kdl"
|
||||||
|
output_path = "${config.home.homeDirectory}/.config/zellij/themes/matugen.kdl"
|
||||||
|
'';
|
||||||
|
|
||||||
|
home.activation.regenerateMatugen = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||||
|
MATUGEN="${inputs.matugen.packages.${pkgs.stdenv.hostPlatform.system}.default}/bin/matugen"
|
||||||
|
WALLPAPER="${config.home.homeDirectory}/nixos/wallpaper/current_wallpaper"
|
||||||
|
|
||||||
|
if [ -f "$WALLPAPER" ]; then
|
||||||
|
echo "Matugen: Generiere Farben aus $WALLPAPER..."
|
||||||
|
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/alacritty
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/btop/themes
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/lazygit
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/rofi
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/swaync
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/wlogout
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/matugen
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/hypr
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/fish/conf.d
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/wob
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/yazi
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/zathura
|
||||||
|
mkdir -p ${config.home.homeDirectory}/.config/zellij/themes
|
||||||
|
|
||||||
|
|
||||||
|
$MATUGEN image "$WALLPAPER" --type scheme-vibrant
|
||||||
|
|
||||||
|
${pkgs.procps}/bin/pkill -USR2 waybar || true
|
||||||
|
else
|
||||||
|
echo "Matugen: Wallpaper nicht gefunden ($WALLPAPER)"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
||||||
324
home/waybar.nix
Normal file
@@ -0,0 +1,324 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
height = 30;
|
||||||
|
output = [ "eDP-1" "DP-5" "DP-6" ];
|
||||||
|
|
||||||
|
modules-left = [ "custom/logo" "hyprland/workspaces" "tray" ];
|
||||||
|
modules-center = [ "clock" ];
|
||||||
|
modules-right = [ "network" "idle_inhibitor" "bluetooth" "battery" "custom/notification" ];
|
||||||
|
|
||||||
|
"custom/logo" = {
|
||||||
|
format = "";
|
||||||
|
tooltip = false;
|
||||||
|
on-click = "wlogout";
|
||||||
|
on-click-right = "alacritty -e fish -C fastfetch";
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
disable-scroll = true;
|
||||||
|
all-outputs = true;
|
||||||
|
format = "{name}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"clock" = {
|
||||||
|
format = "{:%a %d/%m %H:%M}";
|
||||||
|
tooltip-format = "{:%Y-%m-%d}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"idle_inhibitor" = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
activated = " ";
|
||||||
|
deactivated = " ";
|
||||||
|
};
|
||||||
|
tooltip = true;
|
||||||
|
tooltip-format-activated = "Inhibitor Aktiv";
|
||||||
|
tooltip-format-deactivated = "Idle Aktiv";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/audio_idle_inhibitor" = {
|
||||||
|
format = "{icon}";
|
||||||
|
exec = "sway-audio-idle-inhibit --dry-print-both-waybar | sed -u 's/\"alt\":\"output-input\"/&,\"tooltip\":\"Audio \\& Mikrofon aktiv\"/; s/\"alt\":\"output\"/&,\"tooltip\":\"Audio spielt\"/; s/\"alt\":\"input\"/&,\"tooltip\":\"Mikrofon wird benutzt\"/; s/\"alt\":\"none\"/&,\"tooltip\":\"Keine Aktivität\"/'";
|
||||||
|
"exec-if" = "which sway-audio-idle-inhibit";
|
||||||
|
"return-type" = "json";
|
||||||
|
tooltip = true;
|
||||||
|
format-icons = {
|
||||||
|
output = " ";
|
||||||
|
input = "";
|
||||||
|
"output-input" = " ";
|
||||||
|
none = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"tray" = {
|
||||||
|
icon-size = 18;
|
||||||
|
spacing = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
"network" = {
|
||||||
|
format-wifi = " {essid}";
|
||||||
|
format-ethernet = " {ifname}";
|
||||||
|
format-linked = "{ipaddr}";
|
||||||
|
format = "{essid}";
|
||||||
|
format-disconnected = " no wifi";
|
||||||
|
on-click = "${pkgs.alacritty}/bin/alacritty -e ${pkgs.networkmanager}/bin/nmtui";
|
||||||
|
on-click-right = "nmcli radio wifi $(nmcli radio wifi | grep -q 'enabled' && echo off || echo on)";
|
||||||
|
tooltip-format = " {bandwidthUpBits} {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n";
|
||||||
|
tooltip-format-wifi = " {essid} {frequency}MHz\nStrength: {signalStrength}% ({signaldBm}dBm)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits} {bandwidthDownBits}";
|
||||||
|
interval = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
"backlight" = {
|
||||||
|
device = "intel_backlight";
|
||||||
|
format = "{icon}";
|
||||||
|
format-alt = "{percent}%";
|
||||||
|
format-alt-click = "click-right";
|
||||||
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
||||||
|
tooltip-format = " Helligkeit: {percent}%";
|
||||||
|
on-scroll-down = "brightnessctl s 5%-";
|
||||||
|
on-scroll-up = "brightnessctl s +5%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"bluetooth" = {
|
||||||
|
format = "";
|
||||||
|
format-disabled = "";
|
||||||
|
format-connected = "{device_alias}";
|
||||||
|
format-connected-battery = "{device_alias} {device_battery_percentage}%";
|
||||||
|
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} verbunden\n\n{device_enumerate}";
|
||||||
|
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||||
|
tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
||||||
|
|
||||||
|
on-click = "alacritty -e bluetui";
|
||||||
|
on-click-right = "rfkill toggle bluetooth";
|
||||||
|
};
|
||||||
|
|
||||||
|
"pulseaudio" = {
|
||||||
|
format = "{icon} {volume}%";
|
||||||
|
format-bluetooth = "{icon} {volume}%";
|
||||||
|
format-muted = "";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = ["" "" ""];
|
||||||
|
};
|
||||||
|
on-click = "pavucontrol";
|
||||||
|
on-click-right = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||||
|
tooltip-format = "Ausgabelautstärke: {source_volume}% | {desc}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"pulseaudio#microphone" = {
|
||||||
|
format = "{format_source}";
|
||||||
|
format-source = " {volume}%";
|
||||||
|
format-source-muted = "";
|
||||||
|
on-click = "pavucontrol";
|
||||||
|
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||||
|
on-scroll-up = "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+";
|
||||||
|
on-scroll-down = "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-";
|
||||||
|
tooltip-format = "Eingabelautstärke: {source_volume}% | {source_desc}";
|
||||||
|
scroll-step = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
"battery" = {
|
||||||
|
interval = 5;
|
||||||
|
format = "{icon}";
|
||||||
|
format-alt = "{capacity}%";
|
||||||
|
format-alt-click = "click-right";
|
||||||
|
format-icons = [ "" "" "" "" "" ];
|
||||||
|
format-charging = "{icon}";
|
||||||
|
format-plugged = "{icon}";
|
||||||
|
tooltip-format = "Akkustand: {capacity}% - {timeTo} - {power}W ";
|
||||||
|
on-click = "alacritty -e btop";
|
||||||
|
states = {
|
||||||
|
full = 100;
|
||||||
|
great = 97;
|
||||||
|
good = 85;
|
||||||
|
ok = 50;
|
||||||
|
warning = 30;
|
||||||
|
low = 20;
|
||||||
|
critical = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/notification" = {
|
||||||
|
tooltip = false;
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
notification = "<span foreground='red'><sup></sup></span>";
|
||||||
|
none = "";
|
||||||
|
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||||
|
dnd-none = "";
|
||||||
|
};
|
||||||
|
return-type = "json";
|
||||||
|
exec = "swaync-client -swb";
|
||||||
|
on-click = "swaync-client -t -sw";
|
||||||
|
on-click-right = "swaync-client -d -sw";
|
||||||
|
escape = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = lib.replaceStrings ["#workspaces button.focused"] ["#workspaces button.active"] ''
|
||||||
|
@import "${config.home.homeDirectory}/.config/matugen/colors.css";
|
||||||
|
|
||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: "JetBrainsMono Nerd Font", "NotoSans Nerd Font Mono";
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: @background;
|
||||||
|
color: @foreground;
|
||||||
|
border: 1px solid @primary;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: @foreground;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: @background;
|
||||||
|
color: @foreground;
|
||||||
|
border-bottom: 2px solid @primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-logo {
|
||||||
|
font-size: 20px;
|
||||||
|
margin: 0 15px;
|
||||||
|
color: @primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 0px;
|
||||||
|
margin-right: 4px;
|
||||||
|
color: @foreground;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: @surface_container_high;
|
||||||
|
color: @foreground;
|
||||||
|
border-bottom: 2px solid @primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
background: @surface_container_high;
|
||||||
|
color: @primary;
|
||||||
|
border-bottom: 2px solid @primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: @urgent;
|
||||||
|
color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: @secondary;
|
||||||
|
color: @background;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
padding-right: 5px;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock, #language, #custom-notification, #backlight, #pulseaudio, #bluetooth, #tray {
|
||||||
|
margin: 0 5px;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notification {
|
||||||
|
margin-right: 15px;
|
||||||
|
margin-left: 5px;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-audio_idle_inhibitor {
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-left: 7px;
|
||||||
|
color: @foreground;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
animation: blink-icon 2s infinite alternate;
|
||||||
|
color: @primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-icon {
|
||||||
|
from { color: @primary; }
|
||||||
|
to { color: transparent; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 12px;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
margin: 0 5px;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.ok:not(.charging) {
|
||||||
|
animation: blink-icon 3s infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-icon-yellow {
|
||||||
|
from { color: yellow; }
|
||||||
|
to { color: transparent; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
animation: blink-icon-yellow 1.5s infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-icon-orange {
|
||||||
|
from { color: orange; }
|
||||||
|
to { color: transparent; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.low:not(.charging) {
|
||||||
|
color: orange;
|
||||||
|
animation: blink-icon-orange 0.8s infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-icon-red {
|
||||||
|
from { color: red; }
|
||||||
|
to { color: transparent; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
animation: blink-icon-red 0.3s infinite alternate;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
35
home/waypaper.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.waypaper ];
|
||||||
|
|
||||||
|
home.activation.configureWaypaper = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||||
|
CONFIG_FILE="${config.home.homeDirectory}/.config/waypaper/config.ini"
|
||||||
|
|
||||||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
|
echo "Erstelle Standard-Waypaper-Konfiguration..."
|
||||||
|
mkdir -p "$(dirname "$CONFIG_FILE")"
|
||||||
|
|
||||||
|
cat > "$CONFIG_FILE" <<EOF
|
||||||
|
[Settings]
|
||||||
|
language = en
|
||||||
|
folder = ${config.home.homeDirectory}/nixos/wallpaper
|
||||||
|
wallpaper = ${config.home.homeDirectory}/nixos/wallpaper/current_wallpaper
|
||||||
|
backend = swww
|
||||||
|
monitors = All
|
||||||
|
fill = fill
|
||||||
|
sort = name
|
||||||
|
color = #ffffff
|
||||||
|
subfolders = False
|
||||||
|
show_hidden = False
|
||||||
|
show_gifs_only = False
|
||||||
|
post_command = cp "\$wallpaper" "${config.home.homeDirectory}/nixos/wallpaper/current_wallpaper" && matugen image "\$wallpaper" --type scheme-vibrant && sleep 0.5 && pkill -USR2 waybar && systemctl --user restart swaync
|
||||||
|
number_of_columns = 3
|
||||||
|
swww_transition_type = fade
|
||||||
|
swww_transition_step = 90
|
||||||
|
swww_transition_angle = 0
|
||||||
|
swww_transition_duration = 2
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
||||||
57
home/wlogout.nix
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.wlogout = {
|
||||||
|
enable = true;
|
||||||
|
layout = [
|
||||||
|
{ label = "lock"; action = "hyprlock"; text = "Lock (l)"; keybind = "l"; }
|
||||||
|
{ label = "reboot"; action = "systemctl reboot"; text = "Reboot (r)"; keybind = "r"; }
|
||||||
|
{ label = "shutdown"; action = "systemctl poweroff"; text = "Shut Down (s)"; keybind = "s"; }
|
||||||
|
{ label = "logout"; action = "hyprctl dispatch exit"; text = "Exit (e)"; keybind = "e"; }
|
||||||
|
{ label = "suspend"; action = "systemctl suspend"; text = "Suspend (u)"; keybind = "u"; }
|
||||||
|
{ label = "hibernate"; action = "systemctl hibernate"; text = "Hibernate (h)"; keybind = "h"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
@import url("${config.home.homeDirectory}/.config/wlogout/colors.css");
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-shadow: none;
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 0;
|
||||||
|
border-color: @surface;
|
||||||
|
color: @on_surface;
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 25%;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
color: @on_primary;
|
||||||
|
outline-style: none;
|
||||||
|
border-color: @outline;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock { background-image: url("${../icons/lock.png}"); }
|
||||||
|
#logout { background-image: url("${../icons/logout.png}"); }
|
||||||
|
#suspend { background-image: url("${../icons/suspend.png}"); }
|
||||||
|
#hibernate { background-image: url("${../icons/hibernate.png}"); }
|
||||||
|
#shutdown { background-image: url("${../icons/shutdown.png}"); }
|
||||||
|
#reboot { background-image: url("${../icons/reboot.png}"); }
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
174
home/yazi.nix
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
|
||||||
|
keymap = {
|
||||||
|
manager.prepend_keymap = [
|
||||||
|
{
|
||||||
|
on = [ "g" "e" ];
|
||||||
|
run = "arrow 100000000";
|
||||||
|
desc = "Zum Ende der Liste springen (ge)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [ "T" ];
|
||||||
|
run = ''shell --orphan --block=false "${pkgs.alacritty}/bin/alacritty"'';
|
||||||
|
desc = "Terminal in neuem Fenster öffnen";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [ "E" ];
|
||||||
|
run = ''shell --orphan --block=false "${pkgs.kdePackages.dolphin}/bin/dolphin ."'';
|
||||||
|
desc = "Dolphin in diesem Ordner öffnen";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [ "G" ];
|
||||||
|
run = ''shell --orphan --block=false "${pkgs.alacritty}/bin/alacritty -e ${pkgs.lazygit}/bin/lazygit"'';
|
||||||
|
desc = "Lazygit in neuem Fenster öffnen";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [ "<C-d>" ];
|
||||||
|
run = ''
|
||||||
|
shell -- ripdrag --no-click --and-exit --icon-size 64 --target --all "$@" | while read -r filepath; do
|
||||||
|
cp -nR "$filepath" .
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
desc = "Drag-n-drop (Copy No-Clobber)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [ "<C-D>" ];
|
||||||
|
run = ''
|
||||||
|
shell -- ripdrag --no-click --and-exit --icon-size 64 --target --all "$@" | while read -r filepath; do
|
||||||
|
cp -fR "$filepath" .
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
desc = "Drag-n-drop (Force Overwrite)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [ "i" ];
|
||||||
|
run = ''
|
||||||
|
shell --block --confirm '
|
||||||
|
clear
|
||||||
|
file="$1"
|
||||||
|
mime=$(file --mime-type -b "$file")
|
||||||
|
|
||||||
|
echo "=================================================="
|
||||||
|
echo " EIGENSCHAFTEN: $(basename "$file")"
|
||||||
|
echo "=================================================="
|
||||||
|
|
||||||
|
# Basis-Infos
|
||||||
|
printf "%-18s %s\n" "Typ:" "$mime"
|
||||||
|
printf "%-18s %s\n" "Adresse:" "$(realpath "$file")"
|
||||||
|
printf "%-18s %s (%s Bytes)\n" "Größe:" "$(du -h "$file" | cut -f1)" "$(stat -c %s "$file")"
|
||||||
|
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
echo " ZEITSTEMPEL"
|
||||||
|
printf "%-18s %s\n" "Geändert:" "$(stat -c %y "$file" | cut -d. -f1)"
|
||||||
|
printf "%-18s %s\n" "Letzter Zugriff:" "$(stat -c %x "$file" | cut -d. -f1)"
|
||||||
|
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
echo " DETAILS"
|
||||||
|
|
||||||
|
# --- PDF SEKTION ---
|
||||||
|
if [[ "$mime" == "application/pdf" ]]; then
|
||||||
|
# Nutzt pdfinfo aus poppler_utils
|
||||||
|
pdfinfo "$file" | grep -E "Pages:|PDF version:|Title:|Author:|Page size:" | while read -r line; do
|
||||||
|
label=$(echo "$line" | cut -d: -f1)
|
||||||
|
value=$(echo "$line" | cut -d: -f2- | xargs)
|
||||||
|
printf "%-18s %s\n" "$label:" "$value"
|
||||||
|
done
|
||||||
|
|
||||||
|
# --- BILD SEKTION ---
|
||||||
|
elif [[ "$mime" == image/* ]]; then
|
||||||
|
# Nutzt identify aus imagemagick
|
||||||
|
dimensions=$(identify -format "%wx%h" "$file")
|
||||||
|
printf "%-18s %s Pixel\n" "Auflösung:" "$dimensions"
|
||||||
|
printf "%-18s %s\n" "Farbraum:" "$(identify -format "%[colorspace]" "$file")"
|
||||||
|
|
||||||
|
# --- AUDIO/VIDEO SEKTION ---
|
||||||
|
elif [[ "$mime" == audio/* || "$mime" == video/* ]]; then
|
||||||
|
# Nutzt mediainfo für Bitrate und Dauer
|
||||||
|
mediainfo --Inform="General;%-18.18Name: %Format%\n%-18.18Name: %Duration/String3%\n%-18.18Name: %OverallBitRate/String%" "$file"
|
||||||
|
if [[ "$mime" == video/* ]]; then
|
||||||
|
mediainfo --Inform="Video;%-18.18Name: %Width%x%Height% Pixel" "$file"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=================================================="
|
||||||
|
read -p "Drücke Enter zum Schließen..." _
|
||||||
|
'
|
||||||
|
'';
|
||||||
|
desc = "Detaillierte Eigenschaften (PDF, Media, Image)";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
mgr = {
|
||||||
|
show_hidden = true;
|
||||||
|
sort_by = "natural";
|
||||||
|
sort_sensitive = true;
|
||||||
|
sort_reverse = false;
|
||||||
|
sort_dir_first = true;
|
||||||
|
linemode = "none";
|
||||||
|
show_symlink = true;
|
||||||
|
ratio = [ 1 3 4 ];
|
||||||
|
layout_transition = "none";
|
||||||
|
};
|
||||||
|
|
||||||
|
sort_by = "natural";
|
||||||
|
sort_sensitive = true;
|
||||||
|
sort_reverse = false;
|
||||||
|
sort_dir_first = true;
|
||||||
|
linemode = "none";
|
||||||
|
show_hidden = true;
|
||||||
|
show_symlink = true;
|
||||||
|
|
||||||
|
preview = {
|
||||||
|
image_filter = "lanczos3";
|
||||||
|
image_quality = 90;
|
||||||
|
tab_size = 1;
|
||||||
|
max_width = 600;
|
||||||
|
max_height = 900;
|
||||||
|
cache_dir = "";
|
||||||
|
ueberzug_scale = 1;
|
||||||
|
ueberzug_offset = [
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
0
|
||||||
|
];
|
||||||
|
};
|
||||||
|
opener = {
|
||||||
|
play = [
|
||||||
|
{ run = ''haruna "$@"''; orphan = true; desc = "Play"; }
|
||||||
|
];
|
||||||
|
edit = [
|
||||||
|
{ run = ''$EDITOR "$@"''; block = true; desc = "Edit"; }
|
||||||
|
];
|
||||||
|
view = [
|
||||||
|
{ run = ''gwenview "$@"''; orphan = true; desc = "Gwenview"; }
|
||||||
|
];
|
||||||
|
pdf = [
|
||||||
|
{ run = ''zathura "$@"''; orphan = true; desc = "Zathura"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
open = {
|
||||||
|
rules = [
|
||||||
|
{ mime = "image/*"; use = "view"; }
|
||||||
|
{ name = "*.svg"; use = "view"; }
|
||||||
|
|
||||||
|
{ mime = "application/pdf"; use = "pdf"; }
|
||||||
|
|
||||||
|
{ mime = "video/*"; use = "play"; }
|
||||||
|
{ mime = "audio/*"; use = "play"; }
|
||||||
|
|
||||||
|
{ mime = "text/*"; use = "edit"; }
|
||||||
|
{ mime = "application/json"; use = "edit"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
home/zathura.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
selection-clipboard = "clipboard";
|
||||||
|
adjust-open = "best-fit";
|
||||||
|
page-h-padding = 10;
|
||||||
|
page-v-padding = 10;
|
||||||
|
recolor = true;
|
||||||
|
};
|
||||||
|
extraConfig = "include zathurarc-colors";
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
icons/hibernate.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
icons/lock.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
icons/logout.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
icons/reboot.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
icons/shutdown.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
icons/suspend.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
46
modules/boot.nix
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
# --- Bootloader Einstellungen ---
|
||||||
|
loader = {
|
||||||
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
configurationLimit = 5;
|
||||||
|
};
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
timeout = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- Kernel & Dateisysteme ---
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
supportedFilesystems = [ "exfat" ];
|
||||||
|
|
||||||
|
#initrd.kernelModules = [ "nvidia" "nvidia_drm" ];
|
||||||
|
|
||||||
|
kernelParams = [
|
||||||
|
"nvidia-drm.modeset=1"
|
||||||
|
"quiet"
|
||||||
|
"splash"
|
||||||
|
"boot.shell_on_fail"
|
||||||
|
"loglevel=3"
|
||||||
|
"rd.systemd.show_status=false"
|
||||||
|
"rd.udev.log_level=3"
|
||||||
|
"udev.log_priority=3"
|
||||||
|
];
|
||||||
|
|
||||||
|
# --- Initrd & Plymouth ---
|
||||||
|
initrd.compressor = "zstd";
|
||||||
|
initrd.verbose = false;
|
||||||
|
consoleLogLevel = 0;
|
||||||
|
|
||||||
|
plymouth = {
|
||||||
|
enable = true;
|
||||||
|
theme = "mac-style";
|
||||||
|
themePackages = [ pkgs.mac-style-plymouth ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- Hardware-Modprobe ---
|
||||||
|
extraModprobeConfig = ''options bluetooth disable_ertm=1'';
|
||||||
|
};
|
||||||
|
}
|
||||||
32
modules/desktop.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
theme = "breeze";
|
||||||
|
settings = {
|
||||||
|
Theme = {
|
||||||
|
CursorTheme = "WhiteSur-cursors";
|
||||||
|
CursorSize = 30;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.services.hyprland.enableKwallet = true;
|
||||||
|
security.pam.services.sddm.enableKwallet = true;
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
|
services.printing.enable = true;
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
}
|
||||||
28
modules/hibernation.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# https://md.timvandenboom.eth64.de/s/Nils/p/hibernate-TDmskjM02R
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
swapDevices = [ {
|
||||||
|
device = "/var/lib/swapfile";
|
||||||
|
size = 34 * 1024;
|
||||||
|
} ];
|
||||||
|
|
||||||
|
boot.resumeDevice = "/dev/disk/by-uuid/6a9e58be-37d9-4fee-8b67-81a78d80c016";
|
||||||
|
boot.kernelParams = [
|
||||||
|
"resume=UUID=6a9e58be-37d9-4fee-8b67-81a78d80c016"
|
||||||
|
"resume_offset=167837696"
|
||||||
|
];
|
||||||
|
|
||||||
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
services.logind.settings.Login = {
|
||||||
|
HandleLidSwitch = "suspend-then-hibernate";
|
||||||
|
HandlePowerKey = "poweroff";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.sleep.extraConfig = ''
|
||||||
|
[Sleep]
|
||||||
|
HibernateDelaySec=1800
|
||||||
|
'';
|
||||||
|
}
|
||||||
11
modules/locale.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }: {
|
||||||
|
networking.hostName = "nixos";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
i18n.defaultLocale = "de_DE.UTF-8";
|
||||||
|
console.keyMap = "de";
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "de";
|
||||||
|
options = "caps:escape";
|
||||||
|
};
|
||||||
|
}
|
||||||
15
modules/nvidia.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{ config, ... }: {
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
hardware.nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
powerManagement.enable = true;
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
open = true;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
};
|
||||||
|
}
|
||||||
33
modules/system-packages.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.mac-style-plymouth.overlays.default
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
dejavu_fonts ibm-plex inter noto-fonts roboto fira fira-code
|
||||||
|
nerd-fonts.jetbrains-mono nerd-fonts.hack
|
||||||
|
newcomputermodern
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
git vim wget curl helix
|
||||||
|
swaybg whitesur-cursors copyq
|
||||||
|
kdePackages.kwallet-pam
|
||||||
|
brightnessctl
|
||||||
|
libxkbcommon
|
||||||
|
pavucontrol
|
||||||
|
|
||||||
|
kdePackages.partitionmanager
|
||||||
|
kdePackages.polkit-kde-agent-1
|
||||||
|
];
|
||||||
|
}
|
||||||
19
modules/users.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{ pkgs, inputs, username, ... }: {
|
||||||
|
|
||||||
|
users.users.${username} = {
|
||||||
|
isNormalUser = true;
|
||||||
|
shell = pkgs.fish;
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "libvirtd" "video" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
extraSpecialArgs = { inherit inputs username; };
|
||||||
|
|
||||||
|
users.${username} = import ../home/home.nix;
|
||||||
|
};
|
||||||
|
}
|
||||||
28
modules/virtualization.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# https://md.timvandenboom.eth64.de/s/Nils/p/evdev-passthrough-BTUeHFqMQ3
|
||||||
|
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# --- Virtualisierung (QEMU/KVM & Libvirtd) ---
|
||||||
|
virtualisation.libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
package = pkgs.qemu_kvm;
|
||||||
|
runAsRoot = true;
|
||||||
|
swtpm.enable = true;
|
||||||
|
verbatimConfig = ''
|
||||||
|
cgroup_device_acl = [
|
||||||
|
"/dev/null", "/dev/full", "/dev/zero",
|
||||||
|
"/dev/random", "/dev/urandom",
|
||||||
|
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
|
||||||
|
"/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
|
||||||
|
"/dev/input/by-id/usb-Kinesis_Corporation_Adv360_Pro_5E36F7BBCC9DC86A-if02-event-kbd",
|
||||||
|
"/dev/input/by-id/usb-Keychron_Keychron_4K_Link-event-mouse"
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Grafische Oberfläche für die Verwaltung
|
||||||
|
programs.virt-manager.enable = true;
|
||||||
|
}
|
||||||
BIN
owl_desktop.png
Normal file
|
After Width: | Height: | Size: 5.0 MiB |
BIN
owl_terminal.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
32
templates/alacritty.toml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
[colors.primary]
|
||||||
|
background = '{{colors.surface.default.hex}}'
|
||||||
|
foreground = '{{colors.on_surface.default.hex}}'
|
||||||
|
dim_foreground = '{{colors.on_surface_variant.default.hex}}'
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = '{{colors.surface.default.hex}}'
|
||||||
|
cursor = '{{colors.primary.default.hex}}'
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style = { shape = "Block", blinking = "Always" }
|
||||||
|
vi_mode_style = { shape = "Block" }
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = '{{colors.surface_container.default.hex}}'
|
||||||
|
red = '{{colors.error.default.hex}}'
|
||||||
|
green = '{{colors.primary.default.hex}}'
|
||||||
|
yellow = '{{colors.tertiary_container.default.hex}}'
|
||||||
|
blue = '{{colors.secondary.default.hex}}'
|
||||||
|
magenta = '{{colors.tertiary.default.hex}}'
|
||||||
|
cyan = '{{colors.primary_container.default.hex}}'
|
||||||
|
white = '{{colors.on_surface.default.hex}}'
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = '{{colors.surface_container_high.default.hex}}'
|
||||||
|
red = '{{colors.error_container.default.hex}}'
|
||||||
|
green = '{{colors.inverse_primary.default.hex}}'
|
||||||
|
yellow = '{{colors.on_tertiary_container.default.hex}}'
|
||||||
|
blue = '{{colors.on_secondary_container.default.hex}}'
|
||||||
|
magenta = '{{colors.on_tertiary.default.hex}}'
|
||||||
|
cyan = '{{colors.on_primary_container.default.hex}}'
|
||||||
|
white = '{{colors.inverse_surface.default.hex}}'
|
||||||
101
templates/bookmarks.txt
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
Vaultwarden [toolbar] :: https://vw.timvandenboom.eth64.de/#/login
|
||||||
|
VR Bank [banking] :: https://www.vvrbank-krp.de/startseite.html
|
||||||
|
Paypal [banking] :: https://www.paypal.com/de/home
|
||||||
|
Scalable Capital [banking] :: https://de.scalable.capital/cockpit/
|
||||||
|
Firefly III [banking] :: https://firefly.timvandenboom.eth64.de/
|
||||||
|
Firefly Importer [banking] :: https://importer.firefly.timvandenboom.eth64.de/token
|
||||||
|
Zeit [news] :: https://www.zeit.de/
|
||||||
|
Zeit Epaper [news] :: https://epaper.zeit.de/abo/diezeit
|
||||||
|
Tagesschau [news] :: https://www.tagesschau.de/
|
||||||
|
NX Netflix [streaming] :: https://www.netflix.com/de/
|
||||||
|
Disney+ [streaming] :: https://www.disneyplus.com/
|
||||||
|
YouTube [streaming] :: https://www.youtube.com/
|
||||||
|
Yewtube [streaming] :: https://yewtu.be/
|
||||||
|
Twitch [streaming] :: https://www.twitch.tv/
|
||||||
|
SoundCloud [streaming] :: https://soundcloud.com/
|
||||||
|
Spotify [streaming] :: https://open.spotify.com/
|
||||||
|
TIDAL [streaming] :: https://listen.tidal.com/
|
||||||
|
Emby Connect [streaming] :: https://emby.media/pin.html
|
||||||
|
Deezer [streaming] :: https://www.deezer.com/de/
|
||||||
|
Syrics [streaming] :: https://syrics-web.vercel.app/
|
||||||
|
Moodle [dhbw] :: https://moodle.dhbw-mannheim.de/login/index.php
|
||||||
|
Dualis [dhbw] :: https://dualis.dhbw.de/
|
||||||
|
Overleaf [dhbw] :: https://www.overleaf.com/project
|
||||||
|
Wikipedia [dhbw] :: https://de.wikipedia.org/wiki/Wikipedia:Hauptseite
|
||||||
|
Zotero [dhbw] :: https://www.zotero.org/niills/library
|
||||||
|
CTAN [dhbw] :: https://ctan.org/?lang=de
|
||||||
|
GeoGebra [dhbw] :: https://www.geogebra.org/calculator
|
||||||
|
GOG [shops] :: https://www.gog.com/de/
|
||||||
|
Hetzner Cloud [shops] :: https://console.hetzner.cloud/projects
|
||||||
|
Hetzner Storage Box [shops] :: https://robot.hetzner.com/storage
|
||||||
|
Gumroad [shops] :: https://gumroad.com/library
|
||||||
|
Excalidraw [edit] :: https://excalidraw.com/
|
||||||
|
Photopea [edit] :: https://www.photopea.com/
|
||||||
|
PIKIMOV [edit] :: https://pikimov.com/app/
|
||||||
|
draw.io [edit] :: https://app.diagrams.net/?src=about
|
||||||
|
Zathura Docs [edit] :: https://pwmt.org/projects/zathura/documentation/
|
||||||
|
Helix Docs [edit] :: https://docs.helix-editor.com/keymap.html
|
||||||
|
niri-dots [edit] :: https://github.com/shreyas-sha3/niri-dots
|
||||||
|
Sharelatex [tim] :: https://sharelatex.timvandenboom.eth64.de/login
|
||||||
|
Stirling PDF [tim] :: https://pdf.timvandenboom.eth64.de/
|
||||||
|
ConvertX [tim] :: https://convertx.timvandenboom.eth64.de/login
|
||||||
|
Nextcloud [tim] :: https://nextcloud.timvandenboom.eth64.de/apps/files/files
|
||||||
|
RePod [tim] :: https://nextcloud.timvandenboom.eth64.de/apps/repod/
|
||||||
|
Docmost [tim] :: https://md.timvandenboom.eth64.de/home
|
||||||
|
Homepage [tim] :: https://timvandenboom.eth64.de/
|
||||||
|
S-Nextcloud [tim] :: https://nextcloud.wvss-mannheim.de/s/YxrbKinKkFXN4FZ
|
||||||
|
PLANKA [tim] :: https://kanban.timvandenboom.eth64.de/login
|
||||||
|
Radicale [tim] :: https://calendar.timvandenboom.eth64.de/.web/
|
||||||
|
VoucherVault [tim] :: https://vouchervault.timvandenboom.eth64.de/de/dashboard
|
||||||
|
Open Archiver [tim] :: https://openarchiver.timvandenboom.eth64.de/signin
|
||||||
|
IT Tools [tim] :: https://ittools.timvandenboom.eth64.de/
|
||||||
|
Linkwarden [tim] :: https://paperless.timvandenboom.eth64.de/dashboard
|
||||||
|
navidrome [tim] :: https://navidrome.timvandenboom.eth64.de
|
||||||
|
gitea [tim] :: https://gitea.timvandenboom.eth64.de/
|
||||||
|
Google Kalender [essentials] :: https://calendar.google.com/calendar/u/0/r?pli=1
|
||||||
|
Gmail [essentials] :: https://mail.google.com/mail/u/0/#inbox/FMfcgzQZVKCHnkcpwKSvfgBgmMNpQdfp
|
||||||
|
ZEIT [default] :: https://www.zeit.de/index
|
||||||
|
🤖 ChatGPT [default] :: https://chatgpt.com/
|
||||||
|
Podcast [default] :: https://nextcloud.timvandenboom.eth64.de/apps/repod/
|
||||||
|
✨ Gemini [default] :: https://gemini.google.com/app
|
||||||
|
Portainer [cloud] :: https://192.168.178.39:9443/#!/home
|
||||||
|
Firefly III Local [cloud] :: http://192.168.178.39:82/
|
||||||
|
Paperless ngx [cloud] :: http://192.168.178.39:8777/dashboard
|
||||||
|
Nextcloud Local [cloud] :: http://192.168.178.39:8080/apps/files/files
|
||||||
|
Immich [cloud] :: http://192.168.178.39:2283/
|
||||||
|
Emby [cloud] :: http://192.168.178.39:8096/web/index.html#!/home
|
||||||
|
Jellyseerr [cloud] :: http://192.168.178.39:8097/
|
||||||
|
Kavita [cloud] :: http://192.168.178.39:2511/home
|
||||||
|
Navidrome [cloud] :: http://192.168.178.39:4533/app/#/album/all?sort=name&order=ASC&filter={}
|
||||||
|
Spotizerr [cloud] :: http://192.168.178.39:7171/?q=&type=track
|
||||||
|
Dawarich [cloud] :: http://192.168.178.39:3000/map
|
||||||
|
Grocy [cloud] :: http://192.168.178.39:9092/stockoverview
|
||||||
|
Sharelatex Local [cloud] :: http://192.168.178.39:420/project
|
||||||
|
Yamtrack [cloud] :: http://192.168.178.39:8282/
|
||||||
|
FritzBox [cloud] :: https://fritz.box/
|
||||||
|
SearXNG [cloud] :: http://192.168.178.39:2501/
|
||||||
|
Homepage [cloud] :: http://192.168.178.39:3100/
|
||||||
|
ArchiveBox [cloud] :: http://192.168.178.39:8040/admin/core/snapshot/
|
||||||
|
Stirling PDF Local [cloud] :: http://192.168.178.39:8320/?lang=de_DE
|
||||||
|
Mealie [cloud] :: http://192.168.178.39:9091/g/home?orderBy=created_at
|
||||||
|
ConvertX Local [cloud] :: http://192.168.178.39:3522/
|
||||||
|
Vaultwarden Local [cloud] :: http://192.168.178.39:2501/home
|
||||||
|
Jellyfin [cloud] :: http://192.168.178.39:8096/web/index.html#/home.html
|
||||||
|
Deemix [cloud] :: http://192.168.178.39:6595/
|
||||||
|
Paypal Login [banking] :: https://www.paypal.com/signin?returnUri=https%3A%2F%2Fwww.paypal.com%2Fmyaccount%2Fsummary&state=
|
||||||
|
VR Bank Login [banking] :: https://www.vvrbank-krp.de/services_cloud/portal/m/banking_start
|
||||||
|
Bitkasten [banking] :: https://mein.bitkasten.de/portal/inbox
|
||||||
|
Soundcloud Discover [musik] :: https://soundcloud.com/discover
|
||||||
|
Samplette [musik] :: https://samplette.io/48842580
|
||||||
|
Splice [musik] :: https://splice.com/sounds
|
||||||
|
Mail [musik] :: https://mail.google.com/mail/u/0/#inbox
|
||||||
|
Rust Doc [docs] :: https://doc.rust-lang.org/book/
|
||||||
|
NixOS Search [docs] :: https://search.nixos.org/packages
|
||||||
|
Mouseless Trainer [tools] :: https://brysonmcbee.itch.io/mouseless-trainer
|
||||||
|
Yazi Features [tools] :: https://yazi-rs.github.io/features/
|
||||||
|
Yazi Quick Start [tools] :: https://yazi-rs.github.io/docs/quick-start/
|
||||||
|
TB Typst Symbol [docs] :: https://typst.app/docs/reference/symbols/sym/
|
||||||
|
TB Detypify [tools] :: https://detypify.quarticcat.com/
|
||||||
|
Discord [social] :: https://discord.com/channels/@me
|
||||||
|
Reddit [social] :: https://www.reddit.com/
|
||||||
|
Google Drive [cloud]
|
||||||
31
templates/btop.theme
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
theme[main_bg]=""
|
||||||
|
|
||||||
|
theme[main_fg]="{{colors.on_surface.default.hex}}"
|
||||||
|
|
||||||
|
theme[title]="{{colors.primary.default.hex}}"
|
||||||
|
|
||||||
|
theme[hi_fg]="{{colors.tertiary.default.hex}}"
|
||||||
|
|
||||||
|
theme[selected_bg]="{{colors.primary_container.default.hex}}"
|
||||||
|
|
||||||
|
theme[selected_fg]="{{colors.on_primary_container.default.hex}}"
|
||||||
|
|
||||||
|
theme[inactive_fg]="{{colors.outline.default.hex}}"
|
||||||
|
|
||||||
|
|
||||||
|
theme[cpu_box]="{{colors.primary.default.hex}}"
|
||||||
|
theme[cpu_start]="{{colors.primary.default.hex}}"
|
||||||
|
theme[cpu_mid]="{{colors.secondary.default.hex}}"
|
||||||
|
theme[cpu_end]="{{colors.tertiary.default.hex}}"
|
||||||
|
|
||||||
|
theme[mem_box]="{{colors.primary.default.hex}}"
|
||||||
|
|
||||||
|
theme[net_box]="{{colors.primary.default.hex}}"
|
||||||
|
|
||||||
|
theme[proc_box]="{{colors.primary.default.hex}}"
|
||||||
|
|
||||||
|
theme[div_line]="{{colors.outline.default.hex}}"
|
||||||
|
|
||||||
|
theme[temp_start]="{{colors.primary.default.hex}}"
|
||||||
|
theme[temp_mid]="{{colors.secondary.default.hex}}"
|
||||||
|
theme[temp_end]="{{colors.error.default.hex}}"
|
||||||
8
templates/colors-gtk.css
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
@define-color background {{colors.surface.default.hex}};
|
||||||
|
@define-color foreground {{colors.on_surface.default.hex}};
|
||||||
|
@define-color primary {{colors.primary.default.hex}};
|
||||||
|
@define-color on_primary {{colors.on_primary.default.hex}};
|
||||||
|
@define-color secondary {{colors.secondary.default.hex}};
|
||||||
|
@define-color surface_container {{colors.surface_container.default.hex}};
|
||||||
|
@define-color surface_container_high {{colors.surface_container_high.default.hex}};
|
||||||
|
@define-color urgent {{colors.error.default.hex}};
|
||||||
14
templates/fish-colors.fish
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
set -g fish_color_normal {{colors.on_surface.default.hex}}
|
||||||
|
set -g fish_color_command {{colors.primary.default.hex}}
|
||||||
|
set -g fish_color_keyword {{colors.tertiary.default.hex}}
|
||||||
|
set -g fish_color_quote {{colors.secondary.default.hex}}
|
||||||
|
set -g fish_color_redirection {{colors.on_surface.default.hex}}
|
||||||
|
set -g fish_color_end {{colors.on_surface.default.hex}}
|
||||||
|
set -g fish_color_error {{colors.error.default.hex}}
|
||||||
|
set -g fish_color_param {{colors.on_surface_variant.default.hex}}
|
||||||
|
set -g fish_color_comment {{colors.outline.default.hex}}
|
||||||
|
set -g fish_color_selection --background={{colors.surface_variant.default.hex}}
|
||||||
|
set -g fish_color_search_match --background={{colors.surface_variant.default.hex}}
|
||||||
|
set -g fish_color_operator {{colors.on_surface.default.hex}}
|
||||||
|
set -g fish_color_escape {{colors.tertiary.default.hex}}
|
||||||
|
set -g fish_color_autosuggestion 555
|
||||||
19
templates/hyprland-colors.conf
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
$primary = rgba({{colors.primary.default.hex_stripped}}ff)
|
||||||
|
$on_primary = rgba({{colors.on_primary.default.hex_stripped}}ff)
|
||||||
|
$primary_container = rgba({{colors.primary_container.default.hex_stripped}}ff)
|
||||||
|
$on_primary_container = rgba({{colors.on_primary_container.default.hex_stripped}}ff)
|
||||||
|
|
||||||
|
$secondary = rgba({{colors.secondary.default.hex_stripped}}ff)
|
||||||
|
$on_secondary = rgba({{colors.on_secondary.default.hex_stripped}}ff)
|
||||||
|
|
||||||
|
$error = rgba({{colors.error.default.hex_stripped}}ff)
|
||||||
|
|
||||||
|
$background = rgba({{colors.background.default.hex_stripped}}ff)
|
||||||
|
$on_background = rgba({{colors.on_background.default.hex_stripped}}ff)
|
||||||
|
|
||||||
|
$surface = rgba({{colors.surface.default.hex_stripped}}ff)
|
||||||
|
$surface_variant = rgba({{colors.surface_variant.default.hex_stripped}}ff)
|
||||||
|
$on_surface = rgba({{colors.on_surface.default.hex_stripped}}ff)
|
||||||
|
$on_surface_variant = rgba({{colors.on_surface_variant.default.hex_stripped}}ff)
|
||||||
|
|
||||||
|
$outline = rgba({{colors.outline.default.hex_stripped}}ff)
|
||||||
5
templates/hyprlock-colors.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
$background = rgb({{colors.background.default.hex_stripped}})
|
||||||
|
$foreground = rgb({{colors.on_background.default.hex_stripped}})
|
||||||
|
$primary = rgb({{colors.primary.default.hex_stripped}})
|
||||||
|
$accent = rgb({{colors.primary_container.default.hex_stripped}})
|
||||||
|
$wallpaper = /home/nils/nixos/wallpaper/wallpaper.png
|
||||||
23
templates/lazygit_theme.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
gui:
|
||||||
|
theme:
|
||||||
|
activeBorderColor:
|
||||||
|
- "{{colors.primary.default.hex}}"
|
||||||
|
- bold
|
||||||
|
inactiveBorderColor:
|
||||||
|
- "{{colors.outline.default.hex}}"
|
||||||
|
optionsTextColor:
|
||||||
|
- "{{colors.primary.default.hex}}"
|
||||||
|
selectedLineBgColor:
|
||||||
|
- "{{colors.surface_container_highest.default.hex}}"
|
||||||
|
selectedRangeBgColor:
|
||||||
|
- "{{colors.surface_container_highest.default.hex}}"
|
||||||
|
cherryPickedCommitBgColor:
|
||||||
|
- "{{colors.tertiary.default.hex}}"
|
||||||
|
cherryPickedCommitFgColor:
|
||||||
|
- "{{colors.on_tertiary.default.hex}}"
|
||||||
|
unstagedChangesColor:
|
||||||
|
- "{{colors.error.default.hex}}"
|
||||||
|
defaultFgColor:
|
||||||
|
- "{{colors.on_surface.default.hex}}"
|
||||||
|
searchingActiveBorderColor:
|
||||||
|
- "{{colors.tertiary.default.hex}}"
|
||||||
15
templates/rofi.rasi
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
* {
|
||||||
|
bg0: {{colors.surface.default.hex}}cc;
|
||||||
|
bg1: {{colors.surface_container.default.hex}};
|
||||||
|
bg2: {{colors.surface_container_high.default.hex}};
|
||||||
|
bg3: {{colors.outline.default.hex}};
|
||||||
|
fg0: {{colors.on_surface.default.hex}};
|
||||||
|
fg1: {{colors.on_surface_variant.default.hex}};
|
||||||
|
fg2: {{colors.outline.default.hex}};
|
||||||
|
red: {{colors.error.default.hex}};
|
||||||
|
green: {{colors.primary.default.hex}};
|
||||||
|
yellow: {{colors.tertiary.default.hex}};
|
||||||
|
blue: {{colors.secondary.default.hex}};
|
||||||
|
magenta: {{colors.inverse_primary.default.hex}};
|
||||||
|
cyan: {{colors.primary_container.default.hex}};
|
||||||
|
}
|
||||||
69
templates/starship.toml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
"$schema" = 'https://starship.rs/config-schema.json'
|
||||||
|
|
||||||
|
format = """
|
||||||
|
[░▒▓]({{colors.primary_container.default.hex}})\
|
||||||
|
$username\
|
||||||
|
[ ](bg:{{colors.primary_container.default.hex}} fg:{{colors.on_primary_container.default.hex}})\
|
||||||
|
$directory\
|
||||||
|
$time\
|
||||||
|
$git_branch\
|
||||||
|
$git_status\
|
||||||
|
$nix_shell\
|
||||||
|
$character"""
|
||||||
|
|
||||||
|
[username]
|
||||||
|
show_always = true
|
||||||
|
style_user = "bg:{{colors.primary_container.default.hex}} fg:{{colors.on_primary_container.default.hex}}"
|
||||||
|
format = "[ $user]($style)"
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
style = "fg:{{colors.on_primary.default.hex}} bg:{{colors.primary.default.hex}}"
|
||||||
|
format = "[ $path ]($style)"
|
||||||
|
truncation_length = 3
|
||||||
|
truncation_symbol = "…/"
|
||||||
|
|
||||||
|
[directory.substitutions]
|
||||||
|
"Documents" = " "
|
||||||
|
"Downloads" = " "
|
||||||
|
"Music" = " "
|
||||||
|
"Pictures" = " "
|
||||||
|
|
||||||
|
[time]
|
||||||
|
disabled = false
|
||||||
|
time_format = "%R"
|
||||||
|
style = "bg:{{colors.surface_container.default.hex}}"
|
||||||
|
format = '[[ $time ](fg:{{colors.on_surface_variant.default.hex}} bg:{{colors.surface_container.default.hex}})]($style)'
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
disabled = false
|
||||||
|
symbol = " "
|
||||||
|
style = "bg:{{colors.secondary.default.hex}} fg:{{colors.on_secondary.default.hex}}"
|
||||||
|
format = '[ $symbol$branch ](bold $style)'
|
||||||
|
|
||||||
|
[git_status]
|
||||||
|
disabled = false
|
||||||
|
style = "bg:{{colors.secondary.default.hex}} fg:{{colors.on_secondary.default.hex}}"
|
||||||
|
format = '[$all_status$ahead_behind]($style)'
|
||||||
|
|
||||||
|
# up_to_date = " synced "
|
||||||
|
modified = "modified "
|
||||||
|
staged = "staged "
|
||||||
|
untracked = "untracked "
|
||||||
|
ahead = "ahead ⇡${count} "
|
||||||
|
behind = "behind ⇣${count} "
|
||||||
|
diverged = "diverged ⇕⇡${ahead_count}⇣${behind_count} "
|
||||||
|
conflicted = "conflict "
|
||||||
|
stashed = "stashed "
|
||||||
|
renamed = "renamed "
|
||||||
|
deleted = "deleted "
|
||||||
|
|
||||||
|
[nix_shell]
|
||||||
|
disabled = false
|
||||||
|
format = '[ <$name> ]($style)'
|
||||||
|
style = "bg:{{colors.surface_variant.default.hex}} fg:{{colors.on_surface_variant.default.hex}}"
|
||||||
|
impure_msg = '(impure)'
|
||||||
|
pure_msg = '(pure)'
|
||||||
|
|
||||||
|
[character]
|
||||||
|
success_symbol = "[ ➜]({{colors.primary.default.hex}})"
|
||||||
|
error_symbol = "[ ERROR ](bold {{colors.error.default.hex}})[➜]({{colors.error.default.hex}})"
|
||||||
6
templates/swaync-colors.css
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@define-color background {{colors.surface.default.hex}};
|
||||||
|
@define-color foreground {{colors.on_surface.default.hex}};
|
||||||
|
@define-color primary {{colors.primary.default.hex}};
|
||||||
|
@define-color secondary {{colors.secondary.default.hex}};
|
||||||
|
@define-color surface_container {{colors.surface_container.default.hex}};
|
||||||
|
@define-color urgent {{colors.error.default.hex}};
|
||||||
6
templates/wlogout-colors.css
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@define-color background {{colors.surface.default.hex}};
|
||||||
|
@define-color foreground {{colors.on_surface.default.hex}};
|
||||||
|
@define-color primary {{colors.primary.default.hex}};
|
||||||
|
@define-color surface {{colors.surface_container.default.hex}};
|
||||||
|
@define-color surface_variant {{colors.surface_variant.default.hex}};
|
||||||
|
@define-color error {{colors.error.default.hex}};
|
||||||
3
templates/wob.ini
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
bar_color = {{colors.primary.default.hex_stripped}}ff
|
||||||
|
border_color = {{colors.outline.default.hex_stripped}}ff
|
||||||
|
background_color = {{colors.surface.default.hex_stripped}}dd
|
||||||
165
templates/yazi-theme.toml
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
# : Manager [[[
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
cwd = { fg = "{{colors.on_surface.default.hex}}" }
|
||||||
|
|
||||||
|
# Tab
|
||||||
|
tab_active = { fg = "#D4D4D4", bg = "#1E1E1E" }
|
||||||
|
tab_inactive = { fg = "#D4D4D4", bg = "#2D2D2D" }
|
||||||
|
tab_width = 1
|
||||||
|
|
||||||
|
# Find
|
||||||
|
find_keyword = { fg = "{{colors.error.default.hex}}", bold = true, italic = true, underline = true }
|
||||||
|
find_position = { fg = "{{colors.error.default.hex}}", bold = true, italic = true }
|
||||||
|
|
||||||
|
# Marker
|
||||||
|
marker_copied = { fg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 20.0}}", bg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 20.0}}" }
|
||||||
|
marker_cut = { fg = "{{colors.tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" }
|
||||||
|
marker_marked = { fg = "{{colors.error.default.hex}}", bg = "{{colors.error.default.hex}}" }
|
||||||
|
marker_selected = { fg = "{{colors.tertiary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" }
|
||||||
|
|
||||||
|
# Count
|
||||||
|
count_copied = { fg = "{{colors.on_tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" }
|
||||||
|
count_cut = { fg = "{{colors.on_tertiary_fixed.default.hex}}", bg = "{{colors.tertiary_fixed.default.hex}}" }
|
||||||
|
count_selected = { fg = "{{colors.on_primary.default.hex}}", bg = "{{colors.tertiary.default.hex}}" }
|
||||||
|
|
||||||
|
# Border
|
||||||
|
border_symbol = "│"
|
||||||
|
border_style = { fg = "{{colors.surface_tint.default.hex}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Status [[[
|
||||||
|
|
||||||
|
[status]
|
||||||
|
separator_open = "🭁"
|
||||||
|
separator_close = "🭠"
|
||||||
|
separator_style = { bg = "{{colors.on_primary.default.hex}}", fg = "#F4A261" }
|
||||||
|
|
||||||
|
[mode]
|
||||||
|
# Mode
|
||||||
|
normal_main = { bg = "{{colors.primary.default.hex}}", fg = "{{colors.on_primary.default.hex}}", bold = true }
|
||||||
|
normal_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" }
|
||||||
|
|
||||||
|
# Select mode
|
||||||
|
select_main = { bg = "{{colors.secondary.default.hex}}", fg = "{{colors.on_secondary.default.hex}}", bold = true }
|
||||||
|
select_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" }
|
||||||
|
|
||||||
|
# Unset mode
|
||||||
|
unset_main = { bg = "{{colors.tertiary.default.hex}}", fg = "{{colors.on_tertiary.default.hex}}", bold = true }
|
||||||
|
unset_alt = { bg = "{{colors.surface_variant.default.hex}}", fg = "{{colors.on_surface_variant.default.hex}}" }
|
||||||
|
|
||||||
|
# Progress
|
||||||
|
progress_label = { bold = true }
|
||||||
|
progress_normal = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.surface_bright.default.hex}}" }
|
||||||
|
progress_error = { fg = "{{colors.error.default.hex}}", bg = "{{colors.surface_bright.default.hex}}" }
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
permissions_t = { fg = "{{colors.secondary.default.hex | auto_lightness: 30.0}}" }
|
||||||
|
permissions_w = { fg = "{{colors.tertiary.default.hex | auto_lightness: 30.0}}" }
|
||||||
|
permissions_x = { fg = "{{colors.error.default.hex | auto_lightness: 30.0}}" }
|
||||||
|
permissions_r = { fg = "{{colors.tertiary_fixed.default.hex | auto_lightness: 30.0}}" }
|
||||||
|
permissions_s = { fg = "{{colors.primary_fixed.default.hex | auto_lightness: 30.0}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Select [[[
|
||||||
|
|
||||||
|
[select]
|
||||||
|
border = { fg = "{{colors.primary.default.hex}}" }
|
||||||
|
active = { fg = "{{colors.tertiary.default.hex}}", bold = true }
|
||||||
|
inactive = {}
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Input [[[
|
||||||
|
|
||||||
|
[input]
|
||||||
|
border = { fg = "{{colors.primary.default.hex}}" }
|
||||||
|
value = { fg = "{{colors.on_surface.default.hex}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Completion [[[
|
||||||
|
|
||||||
|
[completion]
|
||||||
|
border = { fg = "{{colors.primary.default.hex}}", bg = "{{colors.on_primary.default.hex}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Tasks [[[
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
border = { fg = "{{colors.primary.default.hex}}" }
|
||||||
|
title = {}
|
||||||
|
hovered = { fg = "{{colors.tertiary_fixed.default.hex}}", underline = true }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Which [[[
|
||||||
|
|
||||||
|
[which]
|
||||||
|
cols = 3
|
||||||
|
mask = { bg = "{{colors.surface_bright.default.hex}}" }
|
||||||
|
cand = { fg = "{{colors.primary.default.hex}}" }
|
||||||
|
rest = { fg = "{{colors.on_primary.default.hex}}" }
|
||||||
|
desc = { fg = "{{colors.on_surface.default.hex}}" }
|
||||||
|
separator = " ▶ "
|
||||||
|
separator_style = { fg = "{{colors.on_surface.default.hex}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Help [[[
|
||||||
|
|
||||||
|
[help]
|
||||||
|
on = { fg = "{{colors.on_surface.default.hex}}" }
|
||||||
|
run = { fg = "{{colors.on_surface.default.hex}}" }
|
||||||
|
footer = { fg = "{{colors.on_secondary.default.hex}}", bg = "{{colors.secondary.default.hex}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : Notify [[[
|
||||||
|
|
||||||
|
[notify]
|
||||||
|
title_info = { fg = "{{colors.tertiary.default.hex}}" }
|
||||||
|
title_warn = { fg = "{{colors.primary.default.hex}}" }
|
||||||
|
title_error = { fg = "{{colors.error.default.hex}}" }
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
|
|
||||||
|
|
||||||
|
# : File-specific styles [[[
|
||||||
|
|
||||||
|
[filetype]
|
||||||
|
|
||||||
|
rules = [
|
||||||
|
# Images
|
||||||
|
{ mime = "image/*", fg = "#94e2d5" },
|
||||||
|
|
||||||
|
# Media
|
||||||
|
{ mime = "{audio,video}/*", fg = "#f9e2af" },
|
||||||
|
|
||||||
|
# Archives
|
||||||
|
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f5c2e7" },
|
||||||
|
|
||||||
|
# Documents
|
||||||
|
{ mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" },
|
||||||
|
|
||||||
|
# Special files
|
||||||
|
{ name = "*", is = "orphan", bg = "{{colors.error_container.default.hex}}" },
|
||||||
|
{ name = "*", is = "exec", fg = "{{colors.on_error_container.default.hex}}" },
|
||||||
|
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", fg = "{{colors.on_surface.default.hex}}" },
|
||||||
|
{ name = "*/", fg = "{{colors.surface_tint.default.hex}}" },
|
||||||
|
]
|
||||||
|
|
||||||
|
# : ]]]
|
||||||
20
templates/zathura
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
set default-bg "{{colors.surface_container.default.hex}}"
|
||||||
|
set default-fg "{{colors.on_surface.default.hex}}"
|
||||||
|
set statusbar-bg "{{colors.surface_container.default.hex}}"
|
||||||
|
set statusbar-fg "{{colors.on_surface.default.hex}}"
|
||||||
|
set inputbar-bg "{{colors.surface_container_high.default.hex}}"
|
||||||
|
set inputbar-fg "{{colors.primary.default.hex}}"
|
||||||
|
set notification-bg "{{colors.surface_container_highest.default.hex}}"
|
||||||
|
set notification-fg "{{colors.on_surface.default.hex}}"
|
||||||
|
set notification-error-bg "{{colors.error_container.default.hex}}"
|
||||||
|
set notification-error-fg "{{colors.on_error_container.default.hex}}"
|
||||||
|
set notification-warning-bg "{{colors.error_container.default.hex}}"
|
||||||
|
set notification-warning-fg "{{colors.on_error_container.default.hex}}"
|
||||||
|
|
||||||
|
set completion-bg "{{colors.surface_container.default.hex}}"
|
||||||
|
set completion-fg "{{colors.on_surface.default.hex}}"
|
||||||
|
set completion-highlight-bg "{{colors.primary.default.hex}}"
|
||||||
|
set completion-highlight-fg "{{colors.on_primary.default.hex}}"
|
||||||
|
set recolor-lightcolor "{{colors.surface.default.hex}}"
|
||||||
|
set recolor-darkcolor "{{colors.on_surface.default.hex}}"
|
||||||
15
templates/zellij.kdl
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
themes {
|
||||||
|
matugen {
|
||||||
|
fg "{{colors.on_surface.default.hex}}"
|
||||||
|
bg "{{colors.surface_container_high.default.hex}}"
|
||||||
|
black "{{colors.surface_container.default.hex}}"
|
||||||
|
red "{{colors.tertiary.default.hex}}"
|
||||||
|
orange "{{colors.secondary.default.hex}}"
|
||||||
|
green "{{colors.primary.default.hex}}"
|
||||||
|
yellow "{{colors.secondary_container.default.hex}}"
|
||||||
|
blue "{{colors.primary_container.default.hex}}"
|
||||||
|
magenta "{{colors.tertiary_container.default.hex}}"
|
||||||
|
cyan "{{colors.on_surface_variant.default.hex}}"
|
||||||
|
white "{{colors.on_surface.default.hex}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
wallpaper/GhibiliRoots.png
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
BIN
wallpaper/GhibiliStream.png
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
BIN
wallpaper/Hanabi.jpg
Normal file
|
After Width: | Height: | Size: 395 KiB |
BIN
wallpaper/a-c-Eg7e88ES_3w-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 6.3 MiB |
BIN
wallpaper/a_branch_with_pink_flowers_01.jpg
Normal file
|
After Width: | Height: | Size: 592 KiB |
BIN
wallpaper/adrian-appalsamy-2CUBIb8I8-s-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
wallpaper/adrien-olichon-RCAhiGJsUUE-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
wallpaper/andrea-de-santis-Lul4MEKWu5Q-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 14 MiB |
BIN
wallpaper/annie-spratt-Wtc9YH-g8Ag-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 7.0 MiB |
BIN
wallpaper/asa-rodger-B8xmtKWLrVo-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
wallpaper/ashim-d-silva-WeYamle9fDM-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
wallpaper/cristina-gottardi-R4y_E5ZQDPg-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 5.8 MiB |
BIN
wallpaper/current_wallpaper
Normal file
|
After Width: | Height: | Size: 3.7 MiB |
BIN
wallpaper/elliott-c7fnnMRL8P4-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
wallpaper/eric-muhr-GBu6EftQBME-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 7.9 MiB |
BIN
wallpaper/farid-mardanov-dFpjJvsIJjI-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 4.2 MiB |
BIN
wallpaper/federico-di-dio-photography-Wstln0400pE-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 8.1 MiB |
BIN
wallpaper/fredrik-solli-wandem-TrPwD7wfrG0-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 5.8 MiB |
BIN
wallpaper/frida-lannerstrom-Pomm1KDR9yY-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
wallpaper/henry-be-zWt9PnB4pCE-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 3.7 MiB |
BIN
wallpaper/isai-ramos-_3SFFsWqCVg-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 545 KiB |
BIN
wallpaper/iwin-ls1-GTFNwcM-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
wallpaper/jeremy-bishop-cFvK2V6l9Tg-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 5.2 MiB |
BIN
wallpaper/jeremy-hynes-zLrqHNms8eE-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 4.5 MiB |
BIN
wallpaper/lazarescu-alexandra-Yj1UOB_OabQ-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
wallpaper/luka-senica-m1MBGEk_-iM-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 3.1 MiB |
BIN
wallpaper/manuel-cosentino-n--CMLApjfI-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
wallpaper/martin-katler-1GKb9gRpf5s-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
BIN
wallpaper/mateusz-klein-c6cScqrXegw-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 4.5 MiB |
BIN
wallpaper/matt-alaniz-jbaxoX-sm8s-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 789 KiB |
BIN
wallpaper/matt-drenth-Bkw-aS2Nvg8-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 3.0 MiB |
BIN
wallpaper/melanie-magdalena-C1wAQm_lQKM-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
wallpaper/mike-kotsch-xAgvgQpYsf4-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
wallpaper/milosz-roman-zJ9amrAopOE-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
wallpaper/nick-west-4M-5WBrG5-c-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 5.6 MiB |
BIN
wallpaper/pascal-debrunner-vwFvhJf6u_I-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 3.8 MiB |
BIN
wallpaper/pawel-czerwinski-Lki74Jj7H-U-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
wallpaper/polina-kuzovkova-uf2JJNgYp4A-unsplash.jpg
Normal file
|
After Width: | Height: | Size: 2.8 MiB |