initial setup

This commit is contained in:
2025-05-29 13:53:53 +02:00
commit 9f1f69cf9b
112 changed files with 3344 additions and 0 deletions

14
README.md Normal file
View File

@ -0,0 +1,14 @@
## NixOS config
Daily Driver Nixos configuration.
### Todo
- [X] Better autoupgrade
- [X] Bash/ZSH Settings
- [ ] ssh key deployment with [agenix](https://github.com/ryantm/agenix)
- [x] alternative way to declare .nix files instead of dumping them into configuration.nix -> now uses groups in flake.nix
- [x] Multi Host functionality for homelab
- [X] OCI container for common services
- [X] Fix Home-Manager issues with immutable .config files during rebuild -> files kglobalshortcutsrc and kwinrc can't be overwritten because of plasma-manager

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
assets/wallpaper-asia.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
assets/wallpaper-beach.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
assets/wallpaper-car.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 MiB

BIN
assets/wallpaper-clouds.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
assets/wallpaper-crow.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 KiB

BIN
assets/wallpaper-cs2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
assets/wallpaper-fuji.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

BIN
assets/wallpaper-gore.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

BIN
assets/wallpaper-house.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
assets/wallpaper-kame.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

BIN
assets/wallpaper-lava.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

BIN
assets/wallpaper-nix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

BIN
assets/wallpaper-pixelcity Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
assets/wallpaper-plant.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

BIN
assets/wallpaper-sake.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
assets/wallpaper-street.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

BIN
assets/wallpaper-switch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

BIN
assets/wallpaper-sword.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
assets/wallpaper-tape.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
assets/wallpaper-tuxdev.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
assets/wallpaper-wave.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
assets/wallpaper-xp.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

138
flake.lock generated Normal file
View File

@ -0,0 +1,138 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1747793476,
"narHash": "sha256-2qAOSixSrbb9l6MI+SI4zGineOzDcc2dgOOFK9Dx+IY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2468b2d35512d093aeb04972a1d8c20a0735793f",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1747744144,
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"nur": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1747824892,
"narHash": "sha256-5lYnHfkCsdt75BS2qYNLlDrF5vM6eTTNveqMq564mwU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2a41603d663c0065eddaf1dde1e405b31e3c7f8b",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"plasma-manager": {
"inputs": {
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1742765550,
"narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "b70be387276e632fe51232887f9e04e2b6ef8c16",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "trunk",
"repo": "plasma-manager",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nur": "nur",
"plasma-manager": "plasma-manager"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

102
flake.nix Normal file
View File

@ -0,0 +1,102 @@
{
description = "Moe.OS";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url = "github:nix-community/plasma-manager/trunk";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, plasma-manager, nur, ... }:
let
system = "x86_64-linux";
lib = nixpkgs.lib;
pkgs = import nixpkgs {inherit system;};
filterNixFiles = dir: lib.filter (n: lib.strings.hasSuffix ".nix" n) (lib.filesystem.listFilesRecursive dir);
root.base = filterNixFiles ./root/base;
root.desktop = filterNixFiles ./root/desktop;
root.filesystem.client = filterNixFiles ./root/filesystem/client;
root.filesystem.server = filterNixFiles ./root/filesystem/server;
root.gaming.desktop = filterNixFiles ./root/gaming/desktop;
root.gaming.console = filterNixFiles ./root/gaming/console;
root.gnome = filterNixFiles ./root/gnome;
root.hyprland = filterNixFiles ./root/hyprland;
root.plasma = filterNixFiles ./root/plasma;
root.services = filterNixFiles ./root/services;
home.base = filterNixFiles ./home/base;
home.gaming = filterNixFiles ./home/gaming;
home.gnome = filterNixFiles ./home/gnome;
#home.hyprland = filterNixFiles ./home/hyprland;
home.plasma = filterNixFiles ./home/plasma;
root.external = [
home-manager.nixosModules.home-manager
nur.modules.nixos.default
];
home.external = [
plasma-manager.homeManagerModules.plasma-manager
];
in
{
nixosConfigurations = {
Computer-Mo =
let
user = "mo";
hostName = "Computer-Mo";
in
lib.nixosSystem {
specialArgs = { inherit user; inherit hostName; inherit system; };
modules =
root.external ++
root.base ++
root.desktop ++
root.filesystem.client ++
root.hyprland ++
root.gaming.desktop ++[
{
home-manager.users.${user}.imports =
home.base ++
home.hyprland ++
home.gaming;
home-manager.sharedModules = home.external;
}
];
};
server =
let
user = "administrator";
hostName = "server";
in
lib.nixosSystem {
specialArgs = { inherit user; inherit hostName; inherit system; };
modules =
root.external ++
root.base ++
root.services ++
root.filesystem.server ++ [
{
home-manager.users.${user}.imports =
home.base;
home-manager.sharedModules = home.external;
}
];
};
};
};
}

12
home/base/git/default.nix Normal file
View File

@ -0,0 +1,12 @@
{ ... }:
{
programs.git = {
enable = true;
userName = "Mohamed C.";
userEmail = "mohamed@chrayed.de";
extraConfig = {
init.defaultBranch = "main";
core.editor = "nano";
};
};
}

View File

@ -0,0 +1,4 @@
{ ... }:
{
home.stateVersion = "25.05";
}

View File

@ -0,0 +1,4 @@
{ ... }:
{
home.file.".zshrc".source = ./dotfiles/zsh-config;
}

View File

View File

@ -0,0 +1,4 @@
{ ... }:
{
home.file."./.ssh/config".source = ./dotfiles/ssh-identityfile;
}

View File

@ -0,0 +1,3 @@
IdentityFile ~/.ssh/extern
IdentityFile ~/.ssh/intern
IdentityFile ~/.ssh/arbeit

View File

@ -0,0 +1,4 @@
{ ... }:
{
home.file.".config/autostart/steam.desktop".source = ./dotfiles/steam-desktop;
}

View File

@ -0,0 +1,282 @@
[Desktop Entry]
Name=Steam
Comment=Application for managing and playing games on Steam
Comment[pt_BR]=Aplicativo para jogar e gerenciar jogos no Steam
Comment[bg]=Приложение за ръководене и пускане на игри в Steam
Comment[cs]=Aplikace pro spravování a hraní her ve službě Steam
Comment[da]=Applikation til at håndtere og spille spil på Steam
Comment[nl]=Applicatie voor het beheer en het spelen van games op Steam
Comment[fi]=Steamin pelien hallintaan ja pelaamiseen tarkoitettu sovellus
Comment[fr]=Application de gestion et d'utilisation des jeux sur Steam
Comment[de]=Anwendung zum Verwalten und Spielen von Spielen auf Steam
Comment[el]=Εφαρμογή διαχείρισης παιχνιδιών στο Steam
Comment[hu]=Alkalmazás a Steames játékok futtatásához és kezeléséhez
Comment[it]=Applicazione per la gestione e l'esecuzione di giochi su Steam
Comment[ja]=Steam 上でゲームを管理&プレイするためのアプリケーション
Comment[ko]=Steam에 있는 게임을 관리하고 플레이할 수 있는 응용 프로그램
Comment[no]=Program for å administrere og spille spill på Steam
Comment[pt_PT]=Aplicação para organizar e executar jogos no Steam
Comment[pl]=Aplikacja do zarządzania i uruchamiania gier na platformie Steam
Comment[ro]=Aplicație pentru administrarea și jucatul jocurilor pe Steam
Comment[ru]=Приложение для игр и управления играми в Steam
Comment[es]=Aplicación para administrar y ejecutar juegos en Steam
Comment[sv]=Ett program för att hantera samt spela spel på Steam
Comment[zh_CN]=管理和进行 Steam 游戏的应用程序
Comment[zh_TW]=管理並執行 Steam 遊戲的應用程式
Comment[th]=โปรแกรมสำหรับจัดการและเล่นเกมบน Steam
Comment[tr]=Steam üzerinden oyun oynama ve düzenleme uygulaması
Comment[uk]=Програма для керування іграми та запуску ігор у Steam
Comment[vi]=Ứng dụng để quản lý và chơi trò chơi trên Steam
Exec=steam %U -silent
Icon=steam
Terminal=false
Type=Application
Categories=Network;FileTransfer;Game;
MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink;
Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends;
PrefersNonDefaultGPU=true
X-KDE-RunOnDiscreteGpu=true
[Desktop Action Store]
Name=Store
Name[pt_BR]=Loja
Name[bg]=Магазин
Name[cs]=Obchod
Name[da]=Butik
Name[nl]=Winkel
Name[fi]=Kauppa
Name[fr]=Magasin
Name[de]=Shop
Name[el]=ΚΑΤΑΣΤΗΜΑ
Name[hu]=Áruház
Name[it]=Negozio
Name[ja]=ストア
Name[ko]=상점
Name[no]=Butikk
Name[pt_PT]=Loja
Name[pl]=Sklep
Name[ro]=Magazin
Name[ru]=Магазин
Name[es]=Tienda
Name[sv]=Butik
Name[zh_CN]=商店
Name[zh_TW]=商店
Name[th]=ร้านค้า
Name[tr]=Mağaza
Name[uk]=Крамниця
Name[vi]=Cửa hàng
Exec=steam steam://store
[Desktop Action Community]
Name=Community
Name[pt_BR]=Comunidade
Name[bg]=Общност
Name[cs]=Komunita
Name[da]=Fællesskab
Name[nl]=Community
Name[fi]=Yhteisö
Name[fr]=Communauté
Name[de]=Community
Name[el]=Κοινότητα
Name[hu]=Közösség
Name[it]=Comunità
Name[ja]=コミュニティ
Name[ko]=커뮤니티
Name[no]=Samfunn
Name[pt_PT]=Comunidade
Name[pl]=Społeczność
Name[ro]=Comunitate
Name[ru]=Сообщество
Name[es]=Comunidad
Name[sv]=Gemenskap
Name[zh_CN]=社区
Name[zh_TW]=社群
Name[th]=ชุมชน
Name[tr]=Topluluk
Name[uk]=Спільнота
Name[vi]=Cộng đồng
Exec=steam steam://url/SteamIDControlPage
[Desktop Action Library]
Name=Library
Name[pt_BR]=Biblioteca
Name[bg]=Библиотека
Name[cs]=Knihovna
Name[da]=Bibliotek
Name[nl]=Bibliotheek
Name[fi]=Kokoelma
Name[fr]=Bibliothèque
Name[de]=Bibliothek
Name[el]=Συλλογή
Name[hu]=Könyvtár
Name[it]=Libreria
Name[ja]=ライブラリ
Name[ko]=라이브러리
Name[no]=Bibliotek
Name[pt_PT]=Biblioteca
Name[pl]=Biblioteka
Name[ro]=Colecţie
Name[ru]=Библиотека
Name[es]=Biblioteca
Name[sv]=Bibliotek
Name[zh_CN]=库
Name[zh_TW]=收藏庫
Name[th]=คลัง
Name[tr]=Kütüphane
Name[uk]=Бібліотека
Name[vi]=Thư viện
Exec=steam steam://open/games
[Desktop Action Servers]
Name=Servers
Name[pt_BR]=Servidores
Name[bg]=Сървъри
Name[cs]=Servery
Name[da]=Servere
Name[nl]=Servers
Name[fi]=Palvelimet
Name[fr]=Serveurs
Name[de]=Server
Name[el]=Διακομιστές
Name[hu]=Szerverek
Name[it]=Server
Name[ja]=サーバー
Name[ko]=서버
Name[no]=Tjenere
Name[pt_PT]=Servidores
Name[pl]=Serwery
Name[ro]=Servere
Name[ru]=Серверы
Name[es]=Servidores
Name[sv]=Servrar
Name[zh_CN]=服务器
Name[zh_TW]=伺服器
Name[th]=เซิร์ฟเวอร์
Name[tr]=Sunucular
Name[uk]=Сервери
Name[vi]=Máy chủ
Exec=steam steam://open/servers
[Desktop Action Screenshots]
Name=Screenshots
Name[pt_BR]=Capturas de tela
Name[bg]=Снимки
Name[cs]=Snímky obrazovky
Name[da]=Skærmbilleder
Name[nl]=Screenshots
Name[fi]=Kuvankaappaukset
Name[fr]=Captures d'écran
Name[de]=Screenshots
Name[el]=Φωτογραφίες
Name[hu]=Képernyőmentések
Name[it]=Screenshot
Name[ja]=スクリーンショット
Name[ko]=스크린샷
Name[no]=Skjermbilder
Name[pt_PT]=Capturas de ecrã
Name[pl]=Zrzuty ekranu
Name[ro]=Capturi de ecran
Name[ru]=Скриншоты
Name[es]=Capturas
Name[sv]=Skärmdumpar
Name[zh_CN]=截图
Name[zh_TW]=螢幕擷圖
Name[th]=ภาพหน้าจอ
Name[tr]=Ekran Görüntüleri
Name[uk]=Скріншоти
Name[vi]=Ảnh chụp
Exec=steam steam://open/screenshots
[Desktop Action News]
Name=News
Name[pt_BR]=Notícias
Name[bg]=Новини
Name[cs]=Zprávy
Name[da]=Nyheder
Name[nl]=Nieuws
Name[fi]=Uutiset
Name[fr]=Actualités
Name[de]=Neuigkeiten
Name[el]=Νέα
Name[hu]=Hírek
Name[it]=Notizie
Name[ja]=ニュース
Name[ko]=뉴스
Name[no]=Nyheter
Name[pt_PT]=Novidades
Name[pl]=Aktualności
Name[ro]=Știri
Name[ru]=Новости
Name[es]=Noticias
Name[sv]=Nyheter
Name[zh_CN]=新闻
Name[zh_TW]=新聞
Name[th]=ข่าวสาร
Name[tr]=Haberler
Name[uk]=Новини
Name[vi]=Tin tức
Exec=steam steam://open/news
[Desktop Action Settings]
Name=Settings
Name[pt_BR]=Configurações
Name[bg]=Настройки
Name[cs]=Nastavení
Name[da]=Indstillinger
Name[nl]=Instellingen
Name[fi]=Asetukset
Name[fr]=Paramètres
Name[de]=Einstellungen
Name[el]=Ρυθμίσεις
Name[hu]=Beállítások
Name[it]=Impostazioni
Name[ja]=設定
Name[ko]=설정
Name[no]=Innstillinger
Name[pt_PT]=Definições
Name[pl]=Ustawienia
Name[ro]=Setări
Name[ru]=Настройки
Name[es]=Parámetros
Name[sv]=Inställningar
Name[zh_CN]=设置
Name[zh_TW]=設定
Name[th]=การตั้งค่า
Name[tr]=Ayarlar
Name[uk]=Налаштування
Name[vi]=Thiết lập
Exec=steam steam://open/settings
[Desktop Action BigPicture]
Name=Big Picture
Exec=steam steam://open/bigpicture
[Desktop Action Friends]
Name=Friends
Name[pt_BR]=Amigos
Name[bg]=Приятели
Name[cs]=Přátelé
Name[da]=Venner
Name[nl]=Vrienden
Name[fi]=Kaverit
Name[fr]=Amis
Name[de]=Freunde
Name[el]=Φίλοι
Name[hu]=Barátok
Name[it]=Amici
Name[ja]=フレンド
Name[ko]=친구
Name[no]=Venner
Name[pt_PT]=Amigos
Name[pl]=Znajomi
Name[ro]=Prieteni
Name[ru]=Друзья
Name[es]=Amigos
Name[sv]=Vänner
Name[zh_CN]=好友
Name[zh_TW]=好友
Name[th]=เพื่อน
Name[tr]=Arkadaşlar
Name[uk]=Друзі
Name[vi]=Bạn bè
Exec=steam steam://open/friends

View File

@ -0,0 +1,130 @@
{ user, ... }:
{
# Global Hotkeys
dconf.settings = {
"org/gnome/shell/keybindings" = {
focus-active-notification = [];
open-new-window-application-1 = [];
open-new-window-application-2 = [];
open-new-window-application-3 = [];
open-new-window-application-4 = [];
open-new-window-application-5 = [];
open-new-window-application-6 = [];
open-new-window-application-7 = [];
open-new-window-application-8 = [];
open-new-window-application-9 = [];
toggle-message-tray = ["<Super>N"];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
help = [];
home = ["<Super>E"];
screenreader = [];
magnifier = [];
magnifier-zoom-in = [];
magnifier-zoom-out = [];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
#binding = ["<Super>Return"];
command = ["kgx --tab"];
name = ["Console"];
};
"org/gnome/desktop/wm/keybindings" = {
activate-window-menu = [];
always-on-top = ["<Super>T"];
begin-move = ["<Super>M"];
begin-resize = ["<Super>R"];
close = ["<Super>Q"];
cycle-group = [];
cycle-group-backward = [];
cycle-panels = [];
cycle-panels-backward = [];
cycle-windows = [];
cycle-windows-backward = [];
lower = [];
maximize = [];
maximize-horizontally = [];
minimize = ["<Super>Down"];
move-to-monitor-down = [];
move-to-monitor-left = [];
move-to-monitor-right = [];
move-to-monitor-up = [];
move-to-workspace-1 = [];
move-to-workspace-down = [];
move-to-workspace-last = [];
move-to-workspace-left = [];
move-to-workspace-right = [];
move-to-workspace-up = [];
show-desktop = ["<Super>D"];
switch-applications = ["<Alt>Tab"];
switch-applications-backward = ["<Shift><Alt>Tab"];
switch-group = ["<Super>Tab"];
switch-group-backward = ["<Shift><Super>Tab"];
panel-run-dialog = ["<Alt>Space"];
switch-input-source = [];
switch-input-source-backward = [];
switch-panels = [];
switch-panels-backward = [];
switch-to-workspace-1 = [];
switch-to-workspace-down = [];
switch-to-workspace-last = [];
switch-to-workspace-left = [];
switch-to-workspace-right = [];
switch-to-workspace-up = [];
toggle-fullscreen = ["<Super>F"];
toggle-maximized = ["<Super>Up"];
toggle-on-all-workspaces = ["<Super>S"];
unmaximize = [];
};
"org/gnome/mutter" = {
experimental-features = ["variable-refresh-rate"];
center-new-windows = true;
edge-tiling = true;
dynamic-workspaces = true;
};
"org/gnome/desktop/interface" = {
font-name = "IBM Plex Sans 11";
document-font-name = "IBM Plex Sans 11";
monospace-font-name = "IBM Plex Mono 11";
gtk-theme = "adw-gtk3";
enable-hot-corners = false;
cursor-theme = "Adwaita";
};
"org/gnome/shell/extensions/rounded-window-corners-reborn" = {
border-width = -2;
skip-libadwaita-app = false;
};
"org/gnome/shell/extensions/clipboard-indicator" = {
toggle-menu = ["<Super>V"];
};
"org/gnome/shell/extensions/azwallpaper" = {
#slideshow-directory = "/home/${user}/Bilder/Wallpaper";
slideshow-use-absolute-time-for-duration = true;
};
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
#picture-uri = "file://" + /home/${user}/Bilder/Wallpaper/wallpaper-asia.jpg;
};
"org/gnome/shell/extensions/nightthemeswitcher/commands" = {
enabled = true;
sunrise = "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' && gsettings set org.gnome.desktop.interface color-scheme 'default'";
sunset = "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark' && gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'";
};
"org/gnome/shell" = {
enabled-extensions = [
"light-style@gnome-shell-extensions.gcampax.github.com"
"clipboard-indicator@tudmotu.com"
"AlphabeticalAppGrid@stuarthayhurst"
"rounded-window-corners@fxgn"
"appindicatorsupport@rgcjonas.gmail.com"
"nightthemeswitcher@romainvigier.fr"
"azwallpaper@azwallpaper.gitlab.com" ];
};
};
# Wallpaper
home.file.wallpaper = {
recursive = true;
source = ../../../assets;
target = "Bilder/Wallpaper";
};
}

View File

@ -0,0 +1,105 @@
{ user, hostName, ... }:
{
home.file."Code/.directory".source = ./dotfiles/code-folder;
home.file.".config/haruna/haruna.conf".source = ./dotfiles/haruna-config;
home.file.".local/share/user-places.xbel".source = ./dotfiles/userplaces-${hostName};
home.file.".config/kde-material-you-colors/config.conf".source = ./dotfiles/kmyc-config;
home.file.".config/autostart/kde-material-you-colors.desktop".source = ./dotfiles/kmyc-desktop;
home.file.wallpaper = {
recursive = true;
source = ../../../assets;
target = "Bilder/Wallpaper";
};
programs.plasma = {
enable = true;
immutableByDefault = false;
workspace.wallpaperSlideShow.path = /home/${user}/Bilder/Wallpaper;
workspace.wallpaperSlideShow.interval = 864000;
workspace.windowDecorations.library = "org.kde.klassy";
workspace.windowDecorations.theme = "Klassy";
kscreenlocker.appearance.wallpaper = "/home/${user}/Bilder/Wallpaper/wallpaper-beach.png";
kscreenlocker.lockOnResume = false;
kscreenlocker.lockOnStartup = false;
kscreenlocker.passwordRequired = false;
powerdevil.AC.dimDisplay.enable = false;
powerdevil.AC.turnOffDisplay.idleTimeoutWhenLocked = 600;
session.general.askForConfirmationOnLogout = false;
fonts = {
menu.family = "Adwaita Sans";
menu.pointSize = 10;
menu.weight = "normal";
general.family = "Adwaita Sans";
general.pointSize = 10;
general.weight = "normal";
small.family = "Adwaita Sans";
small.pointSize = 8;
small.weight = "normal";
toolbar.family = "Adwaita Sans";
toolbar.pointSize = 10;
toolbar.weight = "normal";
fixedWidth.family = "Adwaita Mono";
fixedWidth.pointSize = 11;
fixedWidth.weight = "normal";
windowTitle.family = "Adwaita Sans";
windowTitle.pointSize = 12;
windowTitle.weight = "normal";
};
workspace.cursor = {
size = 24;
theme = "Breeze_Light";
};
#workspace.lookAndFeel = "org.kde.breeze.desktop";
workspace.colorScheme = "MaterialYouLight";
panels = [
{
location = "bottom";
floating = true;
alignment = "center";
height = 46;
lengthMode = "fit";
hiding = "dodgewindows";
widgets = [
{
name = "org.kde.plasma.kickoff";
config = {
General = {
icon = "nix-snowflake";
};
};
}
"org.kde.plasma.marginsseparator"
{
iconTasks = {
launchers = [
"applications:org.kde.dolphin.desktop"
"applications:org.kde.konsole.desktop"
"applications:google-chrome.desktop"
"applications:org.kde.kate.desktop"
"applications:steam.desktop"
"applications:vesktop.desktop"
"applications:org.kde.plasma-systemmonitor.desktop"
"applications:systemsettings.desktop"
];
};
}
"org.kde.plasma.marginsseparator"
{
systemTray.items = {
shown = [
"org.kde.plasma.bluetooth"
"org.kde.plasma.networkmanagement"
];
};
}
{
digitalClock = {
calendar.firstDayOfWeek = "monday";
time.format = "24h";
};
}
];
}
];
};
}

View File

@ -0,0 +1,378 @@
[ActivityManager][Global Shortcuts]
switch-to-activity-99a658ea-e650-4e16-bc1c-5e90fd8097c3=
[KDE Keyboard Layout Switcher][Global Shortcuts]
Switch to Last-Used Keyboard Layout=
Switch to Next Keyboard Layout=
[StandardShortcuts]
AboutApp=
AboutKDE=
Activate Next Tab=Ctrl+]; Ctrl+PgDown
Activate Previous Tab=Ctrl+PgUp; Ctrl+[
ActualSize=Ctrl+0
AddBookmark=Ctrl+B
Back=Alt+Left; Back
BackwardWord=Ctrl+Left
Begin=Ctrl+Home
BeginningOfLine=Home
Clear=
Close=Ctrl+Esc; Ctrl+W
ConfigureNotifications=
ConfigureToolbars=
Copy=Ctrl+Ins; Ctrl+C
CreateFolder=Ctrl+Shift+N
Cut=Ctrl+X; Shift+Del
DeleteFile=Shift+Del
DeleteWordBack=Ctrl+Backspace
DeleteWordForward=Ctrl+Del
Deselect=Ctrl+Shift+A
DocumentBack=Alt+Shift+Left
DocumentForward=Alt+Shift+Right
Donate=
EditBookmarks=
End=Ctrl+End
EndOfLine=End
Find=Ctrl+F
FindNext=F3
FindPrev=Shift+F3
FitToHeight=
FitToPage=
FitToWidth=
Forward=Forward; Alt+Right
ForwardWord=Ctrl+Right
FullScreen=Ctrl+Shift+F
Goto=
GotoLine=Ctrl+G
GotoPage=
Help=F1
Home=Home Page; Alt+Home
KeyBindings=Ctrl+Alt+,
Mail=
MoveToTrash=Del
New=Ctrl+N
Next=PgDown
NextCompletion=Ctrl+Down
Open=Ctrl+O
OpenContextMenu=Menu; Shift+F10
OpenMainMenu=F10
OpenRecent=
Paste=Ctrl+V; Shift+Ins
Paste Selection=Ctrl+Shift+Ins
Preferences=Ctrl+Shift+,
PrevCompletion=Ctrl+Up
Print=Ctrl+P
PrintPreview=
Prior=PgUp
Quit=Ctrl+Q
Redo=Ctrl+Shift+Z
Reload=Refresh; F5
RenameFile=F2
Replace=Ctrl+R
ReportBug=
Revert=
RotateDown=Down
RotateUp=Up
Save=Ctrl+S
SaveAs=Ctrl+Shift+S
SelectAll=Ctrl+A
ShowHideHiddenFiles=Ctrl+H; Alt+.
ShowMenubar=Ctrl+M
ShowStatusbar=
ShowToolbar=
Spelling=
SubstringCompletion=Ctrl+T
SwitchApplicationLanguage=
TextCompletion=Ctrl+E
Undo=Ctrl+Z
Up=Alt+Up
WhatsThis=Shift+F1
Zoom=
ZoomIn=Ctrl+=; Ctrl++
ZoomOut=Ctrl+-
[kaccess][Global Shortcuts]
Toggle Screen Reader On and Off=
[kcm_touchpad][Global Shortcuts]
Disable Touchpad=Touchpad Off
Enable Touchpad=Touchpad On
Toggle Touchpad=Meta+Ctrl+Touchpad Toggle; Touchpad Toggle; Meta+Ctrl+Zenkaku Hankaku
[kmix][Global Shortcuts]
decrease_microphone_volume=Microphone Volume Down
decrease_volume=Volume Down
decrease_volume_small=Shift+Volume Down
increase_microphone_volume=Microphone Volume Up
increase_volume=Volume Up
increase_volume_small=Shift+Volume Up
mic_mute=Microphone Mute; Meta+Volume Mute
mute=Volume Mute
[ksmserver][Global Shortcuts]
Halt Without Confirmation=
Lock Session=Meta+L; Screensaver
Log Out=Ctrl+Alt+Del
Log Out Without Confirmation=
LogOut=
Reboot=
Reboot Without Confirmation=
Shut Down=
[kwin][Global Shortcuts]
Activate Window Demanding Attention=
Cycle Overview=
Cycle Overview Opposite=
Decrease Opacity=
Edit Tiles=Meta+T
Expose=
ExposeAll=Launch (C)
ExposeClass=
ExposeClassCurrentDesktop=
Grid View=
Increase Opacity=
Kill Window=Meta+Shift+Q
MinimizeAll=Meta+D
Move Tablet to Next Output=
MoveMouseToCenter=
MoveMouseToFocus=
MoveZoomDown=
MoveZoomLeft=
MoveZoomRight=
MoveZoomUp=
Overview=
Setup Window Shortcut=
Show Desktop=
Switch One Desktop Down=
Switch One Desktop Up=
Switch One Desktop to the Left=
Switch One Desktop to the Right=
Switch Window Down=
Switch Window Left=
Switch Window Right=
Switch Window Up=
Switch to Desktop 1=
Switch to Desktop 10=
Switch to Desktop 11=
Switch to Desktop 12=
Switch to Desktop 13=
Switch to Desktop 14=
Switch to Desktop 15=
Switch to Desktop 16=
Switch to Desktop 17=
Switch to Desktop 18=
Switch to Desktop 19=
Switch to Desktop 2=
Switch to Desktop 20=
Switch to Desktop 3=
Switch to Desktop 4=
Switch to Desktop 5=
Switch to Desktop 6=
Switch to Desktop 7=
Switch to Desktop 8=
Switch to Desktop 9=
Switch to Next Desktop=
Switch to Next Screen=
Switch to Previous Desktop=
Switch to Previous Screen=
Switch to Screen 0=
Switch to Screen 1=
Switch to Screen 2=
Switch to Screen 3=
Switch to Screen 4=
Switch to Screen 5=
Switch to Screen 6=
Switch to Screen 7=
Switch to Screen Above=
Switch to Screen Below=
Switch to Screen to the Left=
Switch to Screen to the Right=
Toggle Night Color=
Toggle Window Raise/Lower=
Walk Through Windows=Alt+Tab
Walk Through Windows (Reverse)=Alt+Shift+Tab
Walk Through Windows Alternative=
Walk Through Windows Alternative (Reverse)=
Walk Through Windows of Current Application=Meta+Tab
Walk Through Windows of Current Application (Reverse)=Meta+Shift+Tab
Walk Through Windows of Current Application Alternative=
Walk Through Windows of Current Application Alternative (Reverse)=
Window Above Other Windows=
Window Below Other Windows=
Window Close=Alt+F4; Meta+Q
Window Custom Quick Tile Bottom=
Window Custom Quick Tile Left=
Window Custom Quick Tile Right=
Window Custom Quick Tile Top=
Window Fullscreen=
Window Grow Horizontal=
Window Grow Vertical=
Window Lower=
Window Maximize=Meta+Up
Window Maximize Horizontal=
Window Maximize Vertical=
Window Minimize=Meta+Down
Window Move=
Window Move Center=
Window No Border=
Window On All Desktops=
Window One Desktop Down=
Window One Desktop Up=
Window One Desktop to the Left=
Window One Desktop to the Right=
Window One Screen Down=
Window One Screen Up=
Window One Screen to the Left=
Window One Screen to the Right=
Window Operations Menu=
Window Pack Down=
Window Pack Left=
Window Pack Right=
Window Pack Up=
Window Quick Tile Bottom=
Window Quick Tile Bottom Left=
Window Quick Tile Bottom Right=
Window Quick Tile Left=Meta+Left
Window Quick Tile Right=Meta+Right
Window Quick Tile Top=
Window Quick Tile Top Left=
Window Quick Tile Top Right=
Window Raise=
Window Resize=
Window Shade=
Window Shrink Horizontal=
Window Shrink Vertical=
Window to Desktop 1=
Window to Desktop 10=
Window to Desktop 11=
Window to Desktop 12=
Window to Desktop 13=
Window to Desktop 14=
Window to Desktop 15=
Window to Desktop 16=
Window to Desktop 17=
Window to Desktop 18=
Window to Desktop 19=
Window to Desktop 2=
Window to Desktop 20=
Window to Desktop 3=
Window to Desktop 4=
Window to Desktop 5=
Window to Desktop 6=
Window to Desktop 7=
Window to Desktop 8=
Window to Desktop 9=
Window to Next Desktop=
Window to Next Screen=
Window to Previous Desktop=
Window to Previous Screen=
Window to Screen 0=
Window to Screen 1=
Window to Screen 2=
Window to Screen 3=
Window to Screen 4=
Window to Screen 5=
Window to Screen 6=
Window to Screen 7=
disableInputCapture=
view_actual_size=
view_zoom_in=
view_zoom_out=
[mediacontrol][Global Shortcuts]
mediavolumedown=
mediavolumeup=
nextmedia=Media Next
pausemedia=Media Pause
playmedia=
playpausemedia=Media Play
previousmedia=Media Previous
stopmedia=Media Stop
[org.kde.dolphin.desktop][Global Shortcuts]
_launch=Meta+E
[org.kde.kcalc.desktop][Global Shortcuts]
_launch=Calculator
[org.kde.konsole.desktop][Global Shortcuts]
NewTab=
NewWindow=
_launch=Meta+Return
[org.kde.krunner.desktop][Global Shortcuts]
RunClipboard=
_launch=Search; Alt+Space; Alt+F2
[org.kde.kscreen.desktop][Global Shortcuts]
ShowOSD=Meta+P; Display
[org.kde.plasma-systemmonitor.desktop][Global Shortcuts]
_launch=Meta+Esc
[org.kde.plasma.emojier.desktop][Global Shortcuts]
_launch=
[org.kde.spectacle.desktop][Global Shortcuts]
ActiveWindowScreenShot=
CurrentMonitorScreenShot=
FullScreenScreenShot=
OpenWithoutScreenshot=
RecordRegion=
RecordScreen=
RecordWindow=
RectangularRegionScreenShot=
WindowUnderCursorScreenShot=
_launch=Print
[org_kde_powerdevil][Global Shortcuts]
Decrease Keyboard Brightness=Keyboard Brightness Down
Decrease Screen Brightness=Monitor Brightness Down
Decrease Screen Brightness Small=Shift+Monitor Brightness Down
Hibernate=Hibernate
Increase Keyboard Brightness=Keyboard Brightness Up
Increase Screen Brightness=Monitor Brightness Up
Increase Screen Brightness Small=Shift+Monitor Brightness Up
PowerDown=Power Down
PowerOff=Power Off
Sleep=Sleep
Toggle Keyboard Backlight=Keyboard Light On/Off
Turn Off Screen=
powerProfile=Battery; Meta+B
[plasmashell][Global Shortcuts]
activate application launcher=Alt+F1; Meta
activate task manager entry 1=Meta+1
activate task manager entry 10=
activate task manager entry 2=Meta+2
activate task manager entry 3=Meta+3
activate task manager entry 4=Meta+4
activate task manager entry 5=Meta+5
activate task manager entry 6=Meta+6
activate task manager entry 7=Meta+7
activate task manager entry 8=Meta+8
activate task manager entry 9=Meta+9
clear-history=
clipboard_action=
cycle-panels=
cycleNextAction=
cyclePrevAction=
manage activities=
next activity=
previous activity=
repeat_action=
show dashboard=
show-barcode=
show-on-mouse-pos=Meta+V
stop current activity=
switch to next activity=
switch to previous activity=
toggle do not disturb=
[systemsettings.desktop][Global Shortcuts]
_launch=Tools
kcm-kscreen=
kcm-lookandfeel=
kcm-powerdevilprofilesconfig=
kcm-screenlocker=
kcm-users=

View File

@ -0,0 +1,2 @@
[Desktop Entry]
Icon=folder-git

View File

@ -0,0 +1,13 @@
[Audio]
PreferredLanguage=eng,en,ger,de,jap,ja
[General]
AppendVideoToSingleInstance=true
ShowPreviewThumbnail=true
UseSingleInstance=true
[Playback]
UseHWDecoding=true
[Subtitles]
PreferredLanguage=eng,en,ger,de,jap,ja

View File

@ -0,0 +1,300 @@
[ActivityManager]
_k_friendly_name=Aktivitätenverwaltung
switch-to-activity-3ca404ec-5cd5-4e96-a3cf-39ff49b582e8=,none,Zu Aktivität „Standard“ wechseln
[KDE Keyboard Layout Switcher]
Switch to Last-Used Keyboard Layout=Meta+Alt+L,Meta+Alt+L,Auf zuletzt verwendete Tastaturbelegung umschalten
Switch to Next Keyboard Layout=Meta+Alt+K,Meta+Alt+K,Auf nächste Tastaturbelegung umschalten
_k_friendly_name=Umschaltung der Tastaturbelegung
[KDE Keyboard Layout Switcher][Global Shortcuts]
_k_friendly_name=
[kaccess]
Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,Screenreader ein-/ausschalten
_k_friendly_name=Zugangshilfen
[kcm_touchpad]
Disable Touchpad=Touchpad Off,Touchpad Off,
Enable Touchpad=Touchpad On,Touchpad On,
Toggle Touchpad=Touchpad Toggle\t\tMeta+Ctrl+Touchpad Toggle\tMeta+Ctrl+Zenkaku Hankaku,Touchpad Toggle\tTouchpad Toggle\tMeta+Ctrl+Touchpad Toggle\tMeta+Ctrl+Zenkaku Hankaku,
_k_friendly_name=kcm_touchpad
[kcm_touchpad][Global Shortcuts]
_k_friendly_name=
[kmix]
_k_friendly_name=Lautstärke
decrease_microphone_volume=Microphone Volume Down,Microphone Volume Down,Mikrofonlautstärke verringern
decrease_volume=Volume Down,Volume Down,Lautstärke verringern
decrease_volume_small=Shift+Volume Down,Shift+Volume Down,Lautstärke um 1 % verringern
increase_microphone_volume=Microphone Volume Up,Microphone Volume Up,Mikrofonlautstärke erhöhen
increase_volume=Volume Up,Volume Up,Lautstärke erhöhen
increase_volume_small=Shift+Volume Up,Shift+Volume Up,Lautstärke um 1 % erhöhen
mic_mute=Microphone Mute\tMeta+Volume Mute,Microphone Mute\tMeta+Volume Mute,Mikrofon stummschalten
mute=Volume Mute,Volume Mute,Stummschalten
[ksmserver]
Halt Without Confirmation=,,Ohne Rückfrage herunterfahren
Lock Session=Meta+L\tScreensaver,Meta+L\tScreensaver,Sitzung sperren
Log Out=Ctrl+Alt+Del,Ctrl+Alt+Del,Abmeldedialog anzeigen
Log Out Without Confirmation=,,Ohne Rückfrage abmelden
LogOut=,,Abmelden
Reboot=,,Neu starten
Reboot Without Confirmation=,,Ohne Rückfrage neu starten
Shut Down=,,Herunterfahren
_k_friendly_name=ksmserver
[ksmserver][Global Shortcuts]
_k_friendly_name=
[kwin]
Activate Window Demanding Attention=Meta+Ctrl+A,Meta+Ctrl+A,Fenster aktivieren\\, das Aufmerksamkeit erfordert
Cycle Overview=,none,Durch Überblick und Rasteransicht wechseln
Cycle Overview Opposite=,none,Durch Rasteransicht und Überblick wechseln
Decrease Opacity=,,Die Deckkraft des aktiven Fensters um 5 % verringern
Edit Tiles=,Meta+T,Tiling-Editor ein-/ausschalten
Expose=,Ctrl+F9,Fenster der aktuellen Arbeitsfläche anzeigen
ExposeAll=Ctrl+F10\tLaunch (C),Ctrl+F10\tLaunch (C),Fenster aller Arbeitsflächen anzeigen
ExposeClass=,Ctrl+F7,Fenster der Fensterklasse anzeigen
ExposeClassCurrentDesktop=,none,Fenster der Fensterklasse auf der aktuellen Arbeitsfläche anzeigen
Grid View=,Meta+G,Übersicht umschalten
Increase Opacity=,,Die Deckkraft des aktiven Fensters um 5 % erhöhen
Kill Window=Meta+Shift+Q,Meta+Ctrl+Esc,Fenster beseitigen
MinimizeAll=Meta+D,none,MinimizeAll
Move Tablet to Next Output=,none,Move the tablet to the next output
MoveMouseToCenter=,Meta+F6,Mauszeiger zentrieren
MoveMouseToFocus=,Meta+F5,Mauszeiger in den Fokus verschieben
MoveZoomDown=,none,Vergrößerten Bereich nach unten verschieben
MoveZoomLeft=,none,Vergrößerten Bereich nach links verschieben
MoveZoomRight=,none,Vergrößerten Bereich nach rechts verschieben
MoveZoomUp=,none,Vergrößerten Bereich nach oben verschieben
Overview=,Meta+W,Übersicht umschalten
Setup Window Shortcut=,,Kurzbefehl für Fenster einrichten
Show Desktop=none,Meta+D,Blick auf die Arbeitsfläche
Switch One Desktop Down=Meta+Ctrl+Down,Meta+Ctrl+Down,Eine Arbeitsfläche nach unten
Switch One Desktop Up=Meta+Ctrl+Up,Meta+Ctrl+Up,Eine Arbeitsfläche nach oben
Switch One Desktop to the Left=Meta+Ctrl+Left,Meta+Ctrl+Left,Eine Arbeitsfläche nach links
Switch One Desktop to the Right=Meta+Ctrl+Right,Meta+Ctrl+Right,Eine Arbeitsfläche nach rechts
Switch Window Down=,Meta+Alt+Down,Zum Fenster darunter wechseln
Switch Window Left=,Meta+Alt+Left,Zum Fenster links wechseln
Switch Window Right=,Meta+Alt+Right,Zum Fenster rechts wechseln
Switch Window Up=,Meta+Alt+Up,Zum Fenster darüber wechseln
Switch to Desktop 1=Ctrl+F1,Ctrl+F1,Auf Arbeitsfläche 1 umschalten
Switch to Desktop 10=,,Auf Arbeitsfläche 10 umschalten
Switch to Desktop 11=,,Auf Arbeitsfläche 11 umschalten
Switch to Desktop 12=,,Auf Arbeitsfläche 12 umschalten
Switch to Desktop 13=,,Auf Arbeitsfläche 13 umschalten
Switch to Desktop 14=,,Auf Arbeitsfläche 14 umschalten
Switch to Desktop 15=,,Auf Arbeitsfläche 15 umschalten
Switch to Desktop 16=,,Auf Arbeitsfläche 16 umschalten
Switch to Desktop 17=,,Auf Arbeitsfläche 17 umschalten
Switch to Desktop 18=,,Auf Arbeitsfläche 18 umschalten
Switch to Desktop 19=,,Auf Arbeitsfläche 19 umschalten
Switch to Desktop 2=Ctrl+F2,Ctrl+F2,Auf Arbeitsfläche 2 umschalten
Switch to Desktop 20=,,Auf Arbeitsfläche 20 umschalten
Switch to Desktop 3=Ctrl+F3,Ctrl+F3,Auf Arbeitsfläche 3 umschalten
Switch to Desktop 4=Ctrl+F4,Ctrl+F4,Auf Arbeitsfläche 4 umschalten
Switch to Desktop 5=,,Auf Arbeitsfläche 5 umschalten
Switch to Desktop 6=,,Auf Arbeitsfläche 6 umschalten
Switch to Desktop 7=,,Auf Arbeitsfläche 7 umschalten
Switch to Desktop 8=,,Auf Arbeitsfläche 8 umschalten
Switch to Desktop 9=,,Auf Arbeitsfläche 9 umschalten
Switch to Next Desktop=,,Zur nächsten Arbeitsfläche umschalten
Switch to Next Screen=,,Zum nächsten Bildschirm wechseln
Switch to Previous Desktop=,,Zur vorherigen Arbeitsfläche umschalten
Switch to Previous Screen=,,Zum vorherigen Bildschirm wechseln
Switch to Screen 0=,,Zum Bildschirm 0 wechseln
Switch to Screen 1=,,Zum Bildschirm 1 wechseln
Switch to Screen 2=,,Zum Bildschirm 2 wechseln
Switch to Screen 3=,,Zum Bildschirm 3 wechseln
Switch to Screen 4=,,Zum Bildschirm 4 wechseln
Switch to Screen 5=,,Zum Bildschirm 5 wechseln
Switch to Screen 6=,,Zum Bildschirm 6 wechseln
Switch to Screen 7=,,Zum Bildschirm 7 wechseln
Switch to Screen Above=,,Zum Bildschirm oben wechseln
Switch to Screen Below=,,Zum Bildschirm unten wechseln
Switch to Screen to the Left=,,Zum Bildschirm links wechseln
Switch to Screen to the Right=,,Zum Bildschirm rechts wechseln
Toggle Night Color=,none,Nachtlicht aussetzen/fortsetzen
Toggle Window Raise/Lower=,,Fenster nach vorne/hinten
Walk Through Windows=Alt+Tab,Alt+Tab,Zwischen Fenstern wechseln
Walk Through Windows (Reverse)=Alt+Shift+Tab,Alt+Shift+Tab,Zwischen Fenstern wechseln (Gegenrichtung)
Walk Through Windows Alternative=,,Alternatives Wechseln zwischen Fenstern
Walk Through Windows Alternative (Reverse)=,,Alternatives Wechseln zwischen Fenstern (Gegenrichtung)
Walk Through Windows of Current Application=Meta+Tab,Alt+`,Zwischen Fenstern der aktuellen Anwendung wechseln
Walk Through Windows of Current Application (Reverse)=,Alt+~,Zwischen Fenstern der aktuellen Anwendung wechseln (Gegenrichtung)
Walk Through Windows of Current Application Alternative=,,Alternatives Wechseln zwischen Fenstern der aktuellen Anwendung
Walk Through Windows of Current Application Alternative (Reverse)=,,Alternatives Wechseln zwischen Fenstern der aktuellen Anwendung (Gegenrichtung)
Window Above Other Windows=,,Fenster im Vordergrund halten
Window Below Other Windows=,,Fenster im Hintergrund halten
Window Close=Alt+F4\tMeta+Q,Alt+F4,Fenster schließen
Window Custom Quick Tile Bottom=,,Custom Quick Tile Window to the Bottom
Window Custom Quick Tile Left=,,Custom Quick Tile Window to the Left
Window Custom Quick Tile Right=,,Custom Quick Tile Window to the Right
Window Custom Quick Tile Top=,,Custom Quick Tile Window to the Top
Window Fullscreen=Meta+F,,Fenster auf Vollbildgröße
Window Grow Horizontal=,,Fenster waagerecht maximieren
Window Grow Vertical=,,Fenster senkrecht maximieren
Window Lower=,,Fenster nach hinten
Window Maximize=Meta+Up,Meta+PgUp,Fenster maximieren
Window Maximize Horizontal=,,Fenster waagerecht maximieren
Window Maximize Vertical=,,Fenster senkrecht maximieren
Window Minimize=Meta+Down,Meta+PgDown,Fenster minimieren
Window Move=,,Fenster verschieben
Window Move Center=,,Fenster zentrieren
Window No Border=,,Titelleiste und Rahmen des Fensters ein-/ausschalten
Window On All Desktops=,,Fenster auf allen Arbeitsflächen anzeigen
Window One Desktop Down=,Meta+Ctrl+Shift+Down,Fenster eine Arbeitsfläche nach unten
Window One Desktop Up=,Meta+Ctrl+Shift+Up,Fenster eine Arbeitsfläche nach oben
Window One Desktop to the Left=,Meta+Ctrl+Shift+Left,Fenster eine Arbeitsfläche nach links
Window One Desktop to the Right=,Meta+Ctrl+Shift+Right,Fenster eine Arbeitsfläche nach rechts
Window One Screen Down=,,Fenster einen Bildschirm nach unten verschieben
Window One Screen Up=,,Fenster einen Bildschirm nach oben verschieben
Window One Screen to the Left=,,Fenster einen Bildschirm nach links verschieben
Window One Screen to the Right=,,Fenster einen Bildschirm nach rechts verschieben
Window Operations Menu=,Alt+F3,Fensteraktionen-Menü
Window Pack Down=,,Fenster nach unten verschieben
Window Pack Left=,,Fenster nach links verschieben
Window Pack Right=,,Fenster nach rechts verschieben
Window Pack Up=,,Fenster nach oben verschieben
Window Quick Tile Bottom=,Meta+Down,Fenster am unteren Bildschirmrand anordnen
Window Quick Tile Bottom Left=,,Fenster am linken unteren Bildschirmrand anordnen
Window Quick Tile Bottom Right=,,Fenster am rechten unteren Bildschirmrand anordnen
Window Quick Tile Left=Meta+Left,Meta+Left,Fenster am linken Bildschirmrand anordnen
Window Quick Tile Right=Meta+Right,Meta+Right,Fenster am rechten Bildschirmrand anordnen
Window Quick Tile Top=,Meta+Up,Fenster am oberen Bildschirmrand anordnen
Window Quick Tile Top Left=,,Fenster am linken oberen Bildschirmrand anordnen
Window Quick Tile Top Right=,,Fenster am rechten oberen Bildschirmrand anordnen
Window Raise=,,Fenster nach vorne
Window Resize=,,Fenstergröße ändern
Window Shade=,,Fensterheber betätigen
Window Shrink Horizontal=,,Fenster waagerecht verkleinern
Window Shrink Vertical=,,Fenster senkrecht verkleinern
Window to Desktop 1=,,Fenster auf Arbeitsfläche 1
Window to Desktop 10=,,Fenster auf Arbeitsfläche 10
Window to Desktop 11=,,Fenster auf Arbeitsfläche 11
Window to Desktop 12=,,Fenster auf Arbeitsfläche 12
Window to Desktop 13=,,Fenster auf Arbeitsfläche 13
Window to Desktop 14=,,Fenster auf Arbeitsfläche 14
Window to Desktop 15=,,Fenster auf Arbeitsfläche 15
Window to Desktop 16=,,Fenster auf Arbeitsfläche 16
Window to Desktop 17=,,Fenster auf Arbeitsfläche 17
Window to Desktop 18=,,Fenster auf Arbeitsfläche 18
Window to Desktop 19=,,Fenster auf Arbeitsfläche 19
Window to Desktop 2=,,Fenster auf Arbeitsfläche 2
Window to Desktop 20=,,Fenster auf Arbeitsfläche 20
Window to Desktop 3=,,Fenster auf Arbeitsfläche 3
Window to Desktop 4=,,Fenster auf Arbeitsfläche 4
Window to Desktop 5=,,Fenster auf Arbeitsfläche 5
Window to Desktop 6=,,Fenster auf Arbeitsfläche 6
Window to Desktop 7=,,Fenster auf Arbeitsfläche 7
Window to Desktop 8=,,Fenster auf Arbeitsfläche 8
Window to Desktop 9=,,Fenster auf Arbeitsfläche 9
Window to Next Desktop=,,Fenster auf nächste Arbeitsfläche verschieben
Window to Next Screen=Meta+Shift+Tab,Meta+Shift+Right,Fenster auf nächsten Bildschirm verschieben
Window to Previous Desktop=,,Fenster auf vorherige Arbeitsfläche verschieben
Window to Previous Screen=,Meta+Shift+Left,Fenster auf vorherigen Bildschirm verschieben
Window to Screen 0=,,Fenster auf Bildschirm 0 verschieben
Window to Screen 1=,,Fenster auf Bildschirm 1 verschieben
Window to Screen 2=,,Fenster auf Bildschirm 2 verschieben
Window to Screen 3=,,Fenster auf Bildschirm 3 verschieben
Window to Screen 4=,,Fenster auf Bildschirm 4 verschieben
Window to Screen 5=,,Fenster auf Bildschirm 5 verschieben
Window to Screen 6=,,Fenster auf Bildschirm 6 verschieben
Window to Screen 7=,,Fenster auf Bildschirm 7 verschieben
_k_friendly_name=kwin
disableInputCapture=Meta+Shift+Esc,Meta+Shift+Esc,Disable Active Input Capture
view_actual_size=Meta+0,Meta+0,Auf Originalgröße zoomen
view_zoom_in=,Meta++\tMeta+=,Vergrößern
view_zoom_out=,Meta+-,Verkleinern
[kwin][Global Shortcuts]
_k_friendly_name=
[mediacontrol]
_k_friendly_name=Mediensteuerung
mediavolumedown=,,Medienwiedergabe leiser
mediavolumeup=,,Medienwiedergabe lauter
nextmedia=Media Next,Media Next,Nächstes Medium wiedergeben
pausemedia=Media Pause,Media Pause,Medienwiedergabe pausieren
playmedia=,,Medienwiedergabe starten
playpausemedia=Media Play,Media Play,Medienwiedergabe starten/pausieren
previousmedia=Media Previous,Media Previous,Vorheriges Medium wiedergeben
stopmedia=Media Stop,Media Stop,Medienwiedergabe anhalten
[org_kde_powerdevil]
Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,Helligkeit der Tastatur-Hintergrundbeleuchtung verringern
Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,Bildschirmhelligkeit verringern
Decrease Screen Brightness Small=Shift+Monitor Brightness Down,Shift+Monitor Brightness Down,Bildschirmhelligkeit um 1 % verringern
Hibernate=Hibernate,Hibernate,Ruhezustand
Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,Helligkeit der Tastatur-Hintergrundbeleuchtung erhöhen
Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,Bildschirmhelligkeit erhöhen
Increase Screen Brightness Small=Shift+Monitor Brightness Up,Shift+Monitor Brightness Up,Bildschirmhelligkeit um 1 % erhöhen
PowerDown=Power Down,Power Down,Abschalten
PowerOff=Power Off,Power Off,Ausschalten
Sleep=Sleep,Sleep,Standby-Modus
Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,Hintergrundbeleuchtung der Tastatur umschalten
Turn Off Screen=,none,Bildschirm ausschalten
_k_friendly_name=Energieverwaltung
powerProfile=Battery\tMeta+B,Battery\tMeta+B,Energieprofil wechseln
[plasmashell]
_k_friendly_name=plasmashell
activate application launcher=Meta\tAlt+F1,Meta\tAlt+F1,Anwendungsstarter aktivieren
activate task manager entry 1=Meta+1,Meta+1,Fensterleisteneintrag 1 aktivieren
activate task manager entry 10=,,Fensterleisteneintrag 10 aktivieren
activate task manager entry 2=Meta+2,Meta+2,Fensterleisteneintrag 2 aktivieren
activate task manager entry 3=Meta+3,Meta+3,Fensterleisteneintrag 3 aktivieren
activate task manager entry 4=Meta+4,Meta+4,Fensterleisteneintrag 4 aktivieren
activate task manager entry 5=Meta+5,Meta+5,Fensterleisteneintrag 5 aktivieren
activate task manager entry 6=Meta+6,Meta+6,Fensterleisteneintrag 6 aktivieren
activate task manager entry 7=Meta+7,Meta+7,Fensterleisteneintrag 7 aktivieren
activate task manager entry 8=Meta+8,Meta+8,Fensterleisteneintrag 8 aktivieren
activate task manager entry 9=Meta+9,Meta+9,Fensterleisteneintrag 9 aktivieren
clear-history=,,Bisherigen Inhalt der Zwischenablage löschen
clipboard_action=,Meta+Ctrl+X,Automatisches Aufklappmenü für Aktionen
cycle-panels=,Meta+Alt+P,Tastaturfokus zwischen Kontrollleisten umschalten
cycleNextAction=,,Nächstes Element im Verlauf
cyclePrevAction=,,Vorheriges Element im Verlauf
manage activities=,Meta+Q,Aktivitätenwechsler anzeigen
next activity=,none,Zwischen Aktivitäten wechseln
previous activity=,none,Zwischen Aktivitäten wechseln (Gegenrichtung)
repeat_action=,,Aktionen der aktuellen Zwischenablage manuell aufrufen
show dashboard=,Ctrl+F12,Arbeitsfläche anzeigen
show-barcode=,,Strichcode anzeigen …
show-on-mouse-pos=Meta+V,Meta+V,Elemente der Zwischenablage an Mausposition anzeigen
stop current activity=,Meta+S,Aktuelle Aktivität anhalten
switch to next activity=,,Zur nächsten Aktivität wechseln
switch to previous activity=,,Zur vorherigen Aktivität wechseln
toggle do not disturb=,,Nicht stören umschalten
[services][org.kde.konsole.desktop]
NewTab=
NewWindow=
_launch=Meta+Return
[services][org.kde.krunner.desktop]
RunClipboard=
[services][org.kde.plasma.emojier.desktop]
_launch=Meta+C
[services][org.kde.spectacle.desktop]
ActiveWindowScreenShot=
CurrentMonitorScreenShot=
FullScreenScreenShot=
OpenWithoutScreenshot=
RecordRegion=
RecordScreen=
RecordWindow=
RectangularRegionScreenShot=
WindowUnderCursorScreenShot=
_launch=Print
[services][systemsettings.desktop]
kcm-kscreen=
kcm-lookandfeel=
kcm-powerdevilprofilesconfig=
kcm-screenlocker=
kcm-users=

View File

@ -0,0 +1,8 @@
[TitleBarSpacing]
TitleAlignment=AlignLeft
[Windeco]
ButtonIconStyle=StyleRedmond11
ButtonShape=ShapeIntegratedRoundedRectangleGrouped
RoundBottomCornersWhenNoBorders=true
WindowCornerRadius=3

View File

@ -0,0 +1,197 @@
[CUSTOM]
# INSTRUCTIONS
# Run kde-material-you-colors with no arguments from terminal
# to debug your configuration changing in real time.
# NOTE:
# Any argument passed from the command line overrides their counterpart here.
# Monitor to get wallpaper from
# For me main is 0 but second one is 6, play with this to find yours
# Default is 0
monitor = 0
# File containing absolute path of an image (Takes precedence over automatic wallpaper detection)
# Commented by default
#file = /tmp/000_eDP-1_current_wallpaper
# Custom color used to generate M3 color scheme (Takes precedence over automatic wallpaper detection, monitor and file options)
# Accepted values are hex (e.g #ff0000) and rgb (e.g 255,0,0) colors (rgb is converted to hex)
#color = 255,0,1
# List of 7 space separated colors (hex or rgb) to be used for text in pywal/konsole/KSyntaxHighlighting instead of wallpaper ones
# Accepted values are hex e.g #ff0000 and rgb e.g 255,0,0 colors (rgb is converted to hex)
# Commented by default
# Example using catppuccin color scheme:
#custom_colors_list = #ED8796 #A6DA95 #EED49F #8AADF4 #F5BDE6 #8BD5CA #f5a97f
# Enable Light mode
# Accepted values are True or False
# Commented by default to follow System Color Setting (Material You Light/Dark only)
# NOTE:
# Will fallback to dark mode if not defined here or enabled in Settings
#light = False
# Alternative color mode (default is 0), some images return more than one color, this will use either the matched or last color
# Default is 0
ncolor = 0
# Light scheme icons theme
# Commented by default
iconslight = klassy
# Dark scheme icons theme
# Commented by default
iconsdark = klassy-dark
# Use pywal to theme other programs using Material You colors
# https://github.com/dylanaraps/pywal/wiki/Customization
# You need to install pywal python module first
# Accepted values are True or False
# Commented by default
pywal=True
# Force light/dark mode for pywal and/or Konsole
# Accepted values are True or False comment out to dark/light scheme
# Commented by default (Follows light option above)
# NOTE:
# Theming Konsole doesn't require pywal to be installed
#pywal_light = False
# The amount of perceptible color for backgrounds in dark mode
# A number between 0 and 4.0 (limited for accessibility purposes)
# Defaults to 1 if not set
#light_blend_multiplier = 1.0
# The amount of perceptible color for backgrounds in dark mode
# A number between 0 and 4.0 (limited for accessibility purposes)
# Defaults to 1 if not set
#dark_blend_multiplier = 1.0
# A script/command that will be executed on start or wallpaper/dark/light/settings change
# example below using https://github.com/vlevit/notify-send.sh to send a desktop notification:
#on_change_hook = notify-send.sh "kde-material-you-colors" "This is a test" -t 2000
# Tint Sierra Breeze decoration buttons https://github.com/kay0u/SierraBreeze
# Accepted values are True or False
# Default is False
# NOTE:
# This WILL OVERWRITE any set colors and reload KWin (screen will blink on x11)
#sierra_breeze_buttons_color = True
# Disable automatic Konsole theming
# Default is False
# NOTE:
# When enabled, Konsole color scheme files are still generated, but not enforced
#disable_konsole = False
# Konsole background opacity (normal and dark mode)
# An integer between 0 and 100
# Default is commented (opaque)
#konsole_opacity = 85
#konsole_opacity_dark = 85
# Title Bar opacity (normal and dark mode)
# Requires one of the following window decorations:
# Klassy https://github.com/paulmcauley/klassy || Sierra Breeze Enhanced https://github.com/kupiqu/SierraBreezeEnhanced
# An integer between 0 and 100
# Default is commented (opaque)
# NOTE:
# This will reload KWin (screen will blink on x11)
#titlebar_opacity = 85
#titlebar_opacity_dark = 85
# ToolBar opacity (normal and dark mode) needs Lightly Application Style to work https://github.com/Luwx/Lightly
# An integer between 0 and 100
# Default is commented (opaque)
# NOTE:
# kirigami ToolBar opacity is not affected by this option https://github.com/Luwx/Lightly/issues/128
#toolbar_opacity = 85
#toolbar_opacity_dark = 85
# Tint Klassy Window Decoration window outline https://github.com/paulmcauley/klassy
# Accepted values are True or False
# Default is False
# NOTE:
# This will reload KWin (screen will blink on x11)
#klassy_windeco_outline= True
# List of space separated window class names to apply a darker titlebar,
# useful for terminals, code editors and other programs themed by pywal
# will create a window rule matching names in a case insensitive manner
# Commented by default
# This WILL reload KWin (screen will blink on x11)
# Example with konsole, Alacritty and kitty terminals
#darker_window_list = konsole Alacritty kitty
# Enable startup delay delay before doing anything,
# useful for waiting for other utilities that may change themes on boot.
# Requires setting startup_delay below or passing --sd SECONDS
# Commented by default
#use_startup_delay = True
# Startup delay in seconds
# Useful for waiting for other utilities that may change themes on boot
# Commented by default
#startup_delay = 5
# Main loop delay in seconds
# How often the main program looks for wallpaper/config changes.
# Useful to save some power
# Default is 1 seconds
# Commented by default
#main_loop_delay = 1
# Delay between desktop view screenshots in seconds
# Some wallpaper plugins display a constant transition based on time or other
# circumstances, this option can be configured to decrease the amount
# of detections for those cases to save power.
# NOTE:
# Should be bigger than main_loop_delay (will take main_loop_delay otherwise)
# Default is 900 seconds (15 minutes)
# Commented by default
#screenshot_delay = 900
# Extract colors from screenshot once after changing plugin
# This option makes sense for wallpaper plugins that display an animated loop
# that never stops. This option makes the color extraction run
# only a single time instead of detecting every change.
# Useful to save power and resources for wallpapers that need screenshot
# Default is False
# Commented by default
#once_after_change = False
# Pause mode
# Disables wallpaper detection and automatic theming
# Default is False
#pause_mode = False
# Scheme Variant
# Changes between Material You scheme variants (0-8)
# 0 = Content
# 1 = Expressive
# 2 = Fidelity
# 3 = Monochrome
# 4 = Neutral
# 5 = TonalSpot
# 6 = Vibrant
# 7 = Rainbow
# 8 = FruitSalad
# Default is 5
scheme_variant = 5
# Colorfulness
# Changes chroma (colorfulness) of theme
# An integer between 0.5 and 10
# Default is 1
chroma_multiplier = 1
# Brightness
# Changes tone (brightness) of theme
# An integer between 0.5 and 1.5
# Default is 1
tone_multiplier = 1
# QDbus executable
# Name or location of the QDbus executable e.g qdbus6, qdbus-qt6...
# Default is qdbus6
qdbus_executable = qdbus

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Exec=kde-material-you-colors
Icon=
Name=kde-material-you-colors
Path=
Terminal=False
Type=Application

View File

@ -0,0 +1,3 @@
[General]
FreeFloating=true
historyBehavior=ImmediateCompletion

View File

@ -0,0 +1,26 @@
[Desktops]
Id_1=29b63c03-e66e-4e5c-b4e4-b3b74c72c1e0
Number=1
Rows=1
[Round-Corners]
InactiveCornerRadius=3
Size=3
[Tiling]
padding=4
[Tiling][8d68b562-7cb3-59eb-9dfc-6d7db3f311a8]
tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]}
[Tiling][958e4428-4cae-537e-8f11-81c0be072b7f]
tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]}
[Xwayland]
Scale=1
[org.kde.kdecoration2]
ButtonsOnLeft=F
ButtonsOnRight=IAX
library=org.kde.klassy
theme=Klassy

View File

@ -0,0 +1,15 @@
[2ade3df0-3c0b-4f75-bc22-ccfc46b21de9]
Description=Fenster-Einstellungen für vesktop
clientmachine=localhost
decocolor=BreezeDark
decocolorrule=2
title=• Discord | #nixos | Nix/NixOS (unofficial)
types=1
windowrole=browser-window
windowrolematch=1
wmclass=vesktop
wmclassmatch=1
[General]
count=1
rules=2ade3df0-3c0b-4f75-bc22-ccfc46b21de9

View File

@ -0,0 +1,2 @@
[Global]
BundledWindecoPresetsImportedVersion=6.2.1

View File

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks" xmlns:kdepriv="http://www.kde.org/kdepriv" xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info">
<info>
<metadata owner="http://www.kde.org">
<kde_places_version>4</kde_places_version>
<GroupState-Places-IsHidden>false</GroupState-Places-IsHidden>
<GroupState-Remote-IsHidden>false</GroupState-Remote-IsHidden>
<GroupState-Devices-IsHidden>false</GroupState-Devices-IsHidden>
<GroupState-RemovableDevices-IsHidden>false</GroupState-RemovableDevices-IsHidden>
<GroupState-Tags-IsHidden>false</GroupState-Tags-IsHidden>
<withRecentlyUsed>true</withRecentlyUsed>
<GroupState-RecentlySaved-IsHidden>false</GroupState-RecentlySaved-IsHidden>
<withBaloo>true</withBaloo>
<GroupState-SearchFor-IsHidden>false</GroupState-SearchFor-IsHidden>
</metadata>
</info>
<bookmark href="file:///home/mo">
<title>Home</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-home"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/0</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Schreibtisch">
<title>Desktop</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-desktop"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/1</ID>
<isSystemItem>true</isSystemItem>
<IsHidden>true</IsHidden>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Bilder">
<title>Pictures</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-pictures"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/7</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Code">
<title>Code</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-git"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820821/2</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Dokumente">
<title>Documents</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-documents"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/2</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Downloads">
<title>Downloads</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-downloads"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/3</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Musik">
<title>Music</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-music"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/6</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/%C3%96ffentlich">
<title>Öffentlich</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-public"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820827/3</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Schreibtisch">
<title>Schreibtisch</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-desktop"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820837/4</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Videos">
<title>Videos</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-videos"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/8</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/mo/Vorlagen">
<title>Vorlagen</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-templates"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820856/5</ID>
</metadata>
</info>
</bookmark>
<bookmark href="sftp://administrator@server.chrayed.home/data">
<title>Daten</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="network-workgroup"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820812/0</ID>
</metadata>
</info>
</bookmark>
<bookmark href="remote:/">
<title>Network</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-network"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/4</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="trash:/">
<title>Trash</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-trash"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/5</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="recentlyused:/files">
<title>Recent Files</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="document-open-recent"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/9</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="recentlyused:/locations">
<title>Recent Locations</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-open-recent"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/10</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<separator>
<info>
<metadata owner="http://www.kde.org">
<UDI>/org/freedesktop/UDisks2/block_devices/nvme0n1p2</UDI>
<isSystemItem>true</isSystemItem>
<uuid>27c4c28c-0cd4-4d41-bdcd-0145c5d61a5a</uuid>
</metadata>
</info>
</separator>
</xbel>

View File

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks" xmlns:kdepriv="http://www.kde.org/kdepriv" xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info">
<info>
<metadata owner="http://www.kde.org">
<kde_places_version>4</kde_places_version>
<GroupState-Places-IsHidden>false</GroupState-Places-IsHidden>
<GroupState-Remote-IsHidden>false</GroupState-Remote-IsHidden>
<GroupState-Devices-IsHidden>false</GroupState-Devices-IsHidden>
<GroupState-RemovableDevices-IsHidden>false</GroupState-RemovableDevices-IsHidden>
<GroupState-Tags-IsHidden>false</GroupState-Tags-IsHidden>
<withRecentlyUsed>true</withRecentlyUsed>
<GroupState-RecentlySaved-IsHidden>false</GroupState-RecentlySaved-IsHidden>
<withBaloo>true</withBaloo>
<GroupState-SearchFor-IsHidden>false</GroupState-SearchFor-IsHidden>
</metadata>
</info>
<bookmark href="file:///home/deck">
<title>Home</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-home"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/0</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Schreibtisch">
<title>Desktop</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-desktop"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/1</ID>
<isSystemItem>true</isSystemItem>
<IsHidden>true</IsHidden>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Bilder">
<title>Pictures</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-pictures"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/7</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Code">
<title>Code</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-git"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820821/2</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Dokumente">
<title>Documents</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-documents"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/2</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Downloads">
<title>Downloads</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-downloads"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/3</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Musik">
<title>Music</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-music"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/6</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/%C3%96ffentlich">
<title>Öffentlich</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-public"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820827/3</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Schreibtisch">
<title>Schreibtisch</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-desktop"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820837/4</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Videos">
<title>Videos</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-videos"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/8</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Vorlagen">
<title>Vorlagen</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-templates"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820856/5</ID>
</metadata>
</info>
</bookmark>
<bookmark href="smb://administrator@server.chrayed.de/Daten">
<title>Daten</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="network-workgroup"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820812/0</ID>
</metadata>
</info>
</bookmark>
<bookmark href="remote:/">
<title>Network</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-network"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/4</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="trash:/">
<title>Trash</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-trash"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/5</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="recentlyused:/files">
<title>Recent Files</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="document-open-recent"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/9</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="recentlyused:/locations">
<title>Recent Locations</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-open-recent"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/10</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<separator>
<info>
<metadata owner="http://www.kde.org">
<UDI>/org/freedesktop/UDisks2/block_devices/nvme0n1p2</UDI>
<isSystemItem>true</isSystemItem>
<uuid>27c4c28c-0cd4-4d41-bdcd-0145c5d61a5a</uuid>
</metadata>
</info>
</separator>
</xbel>

View File

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xbel>
<xbel xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks" xmlns:kdepriv="http://www.kde.org/kdepriv" xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info">
<info>
<metadata owner="http://www.kde.org">
<kde_places_version>4</kde_places_version>
<GroupState-Places-IsHidden>false</GroupState-Places-IsHidden>
<GroupState-Remote-IsHidden>false</GroupState-Remote-IsHidden>
<GroupState-Devices-IsHidden>false</GroupState-Devices-IsHidden>
<GroupState-RemovableDevices-IsHidden>false</GroupState-RemovableDevices-IsHidden>
<GroupState-Tags-IsHidden>false</GroupState-Tags-IsHidden>
<withRecentlyUsed>true</withRecentlyUsed>
<GroupState-RecentlySaved-IsHidden>false</GroupState-RecentlySaved-IsHidden>
<withBaloo>true</withBaloo>
<GroupState-SearchFor-IsHidden>false</GroupState-SearchFor-IsHidden>
</metadata>
</info>
<bookmark href="file:///home/deck">
<title>Home</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-home"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/0</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Schreibtisch">
<title>Desktop</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-desktop"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/1</ID>
<isSystemItem>true</isSystemItem>
<IsHidden>true</IsHidden>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Bilder">
<title>Pictures</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-pictures"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/7</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Code">
<title>Code</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-git"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820821/2</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Dokumente">
<title>Documents</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-documents"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/2</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Downloads">
<title>Downloads</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-downloads"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/3</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Musik">
<title>Music</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-music"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/6</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/%C3%96ffentlich">
<title>Öffentlich</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-public"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820827/3</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Schreibtisch">
<title>Schreibtisch</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-desktop"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820837/4</ID>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Videos">
<title>Videos</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-videos"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/8</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="file:///home/deck/Vorlagen">
<title>Vorlagen</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-templates"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820856/5</ID>
</metadata>
</info>
</bookmark>
<bookmark href="smb://administrator@server.chrayed.de/Daten">
<title>Daten</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="network-workgroup"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1723820812/0</ID>
</metadata>
</info>
</bookmark>
<bookmark href="remote:/">
<title>Network</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-network"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/4</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="trash:/">
<title>Trash</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="user-trash"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/5</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="recentlyused:/files">
<title>Recent Files</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="document-open-recent"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/9</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<bookmark href="recentlyused:/locations">
<title>Recent Locations</title>
<info>
<metadata owner="http://freedesktop.org">
<bookmark:icon name="folder-open-recent"/>
</metadata>
<metadata owner="http://www.kde.org">
<ID>1722875040/10</ID>
<isSystemItem>true</isSystemItem>
</metadata>
</info>
</bookmark>
<separator>
<info>
<metadata owner="http://www.kde.org">
<UDI>/org/freedesktop/UDisks2/block_devices/nvme0n1p2</UDI>
<isSystemItem>true</isSystemItem>
<uuid>27c4c28c-0cd4-4d41-bdcd-0145c5d61a5a</uuid>
</metadata>
</info>
</separator>
</xbel>

View File

@ -0,0 +1,11 @@
# Shell Apps for every host.
{ pkgs, ... }:
{
environment.systemPackages =
(with pkgs; [
wget
git
nil
yaml-language-server
]);
}

View File

@ -0,0 +1,16 @@
# Boot options.
{ ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.consoleMode = "max";
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.timeout = 1;
boot.consoleLogLevel = 0;
# Lots of kernel params for pure quiet boot.
boot.kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "i915.fastboot=1" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" "i915.enable_guc=2" ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.verbose = false;
boot.initrd.enable = true;
boot.plymouth.enable = true;
boot.plymouth.theme = "bgrt";
}

View File

@ -0,0 +1,6 @@
{ ... }:
{
networking.firewall = {
enable = false;
};
}

View File

@ -0,0 +1,6 @@
# Firmware updater.
{ ... }:
{
services.fwupd.enable = true;
hardware.enableAllFirmware = true;
}

View File

@ -0,0 +1,8 @@
# Home Manager Settings.
{ pkgs, user, hostName, ... }:
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit pkgs; inherit user; inherit hostName; };
home-manager.backupFileExtension = "backup";
}

View File

@ -0,0 +1,19 @@
# Locale settings.
{ ... }:
{
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "de_DE.UTF-8";
console.keyMap = "de";
services.xserver.xkb.layout = "de";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
}

View File

@ -0,0 +1,6 @@
# CPU microcode, uses both since it can't hurt
{ lib, config,... }:
{
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -0,0 +1,8 @@
# Simple networking settings. Uses DHCP.
{ lib, hostName, ... }:
{
networking.hostName = hostName;
networking.useDHCP = lib.mkDefault true;
networking.networkmanager.enable = true;
networking.interfaces.enp11s0.wakeOnLan.enable = true;
}

View File

@ -0,0 +1,7 @@
# Misc. nix settings.
{ lib, ... }:
{
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
}

View File

@ -0,0 +1,5 @@
# For now only enable rtkit.
{ ... }:
{
security.rtkit.enable = true;
}

View File

@ -0,0 +1,12 @@
# ZSH global settings. No HM needed.
{ pkgs, ... }:
{
programs.zsh.enable = true;
programs.zsh.enableCompletion = true;
programs.zsh.syntaxHighlighting.enable = true;
programs.zsh.autosuggestions.enable = true;
programs.zsh.autosuggestions.async = true;
programs.zsh.ohMyZsh.enable = true;
programs.zsh.ohMyZsh.theme = "agnoster";
users.defaultUserShell = pkgs.zsh;
}

12
root/base/ssh/default.nix Normal file
View File

@ -0,0 +1,12 @@
# SSH settings. Defined authorized internal key and enables key authentication.
{ user, ... }:
{
services.openssh = {
enable = true;
settings.PasswordAuthentication = false;
settings.KbdInteractiveAuthentication = false;
};
users.users.${user}.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAxNhl9lAA7SGpFv0/YhIrL+C1nrODGsvpXlevjpOP9d Interne Infrastruktur"
];
}

View File

@ -0,0 +1,5 @@
# NixOS state version.
{ ... }:
{
system.stateVersion = "25.05";
}

View File

@ -0,0 +1,15 @@
# Autoupdate settings. Maybe make it weekly.
{ hostName, ... }:
{
# nix.optimise.automatic = true;
# nix.optimise.dates = [ "03:45" ];
# system.autoUpgrade = {
# enable = true;
# dates = "04:00";
# persistent = true;
# flake = "git+ssh://git@github.com/Moe1369/nixos-config.git?ref=main#${hostName}";
# flags = [
# ];
# allowReboot = false;
# };
}

View File

@ -0,0 +1,10 @@
# Define users. Hashed Password reused across devices.
{ user, ... }:
{
users.users.${user} = {
hashedPassword = "$y$j9T$qziHkyBuG215vEKwqmoFl1$Pd1zqAsFlx1.kENKSn7BCWA1vHTLF2wlq7BQjFxgTu8";
description = "Mohamed Chrayed";
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
};
}

View File

@ -0,0 +1,14 @@
# Normal desktop programs for both gnome and plasma.
{ pkgs, ... }:
{
environment.systemPackages =
(with pkgs; [
ibm-plex
adwaita-fonts
pciutils
aha
vesktop
obs-studio
teams-for-linux
]);
}

View File

@ -0,0 +1,6 @@
# Enable bluetooth on boot.
{ ... }:
{
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
}

View File

@ -0,0 +1,8 @@
# Only install Chrome. Declaritive options not needed.
{ pkgs, ... }:
{
environment.systemPackages =
(with pkgs; [
google-chrome
]);
}

View File

@ -0,0 +1,7 @@
{ ... }:
{
# Ignore Dualsense touchpad in desktop mode.
services.udev.extraRules =''
ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="*Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1"
'';
}

View File

@ -0,0 +1,15 @@
# Install GPU drivers and vulkan hdr layer
{ pkgs, ... }:
{
hardware.amdgpu.initrd.enable = true;
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "amdgpu" ];
environment.systemPackages = with pkgs;[
vulkan-tools
vulkan-hdr-layer-kwin6
];
hardware.graphics = {
enable = true;
enable32Bit = true;
};
}

View File

@ -0,0 +1,5 @@
# Enable libinput.
{ ... }:
{
services.libinput.enable = true;
}

View File

@ -0,0 +1,5 @@
# Enable CUPS for printing.
{ ... }:
{
services.printing.enable = true;
}

View File

@ -0,0 +1,11 @@
# Use pipewire and alsa instead of pulseaudio.
{ ... }:
{
#hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}

View File

@ -0,0 +1,19 @@
# Filesystem for clients. Use partlabel as device to make it reusable. Singledisk setup.
{ ... }:
{
fileSystems."/" =
{ device = "/dev/disk/by-label/root";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 16*1024;
}];
}

View File

@ -0,0 +1,30 @@
# Filesystem settings for homeserver. Singledisk root with ext4 and external disks. External disks with ZFS.
{ ... }:
{
# ZFS NEEDS hostID
networking.hostId = "efc6dacc";
boot.zfs.devNodes = "/dev/disk/by-id";
boot.zfs.extraPools = [ "ssd" "hdd" ];
fileSystems."/" =
{ device = "/dev/disk/by-partlabel/root";
fsType = "ext4";
};
fileSystems."/var/lib/docker" =
{ device = "ssd/docker";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/data" =
{ device = "hdd/data";
fsType = "zfs";
options = [ "zfsutil" ];
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 16*1024;
}];
}

View File

@ -0,0 +1,7 @@
{ user, ... }:
{
jovian.steam.enable = true;
jovian.steam.autoStart = true;
jovian.steam.user = user;
jovian.steam.desktopSession = "plasma";
}

View File

@ -0,0 +1,24 @@
# Use LACT for GPU overclocking
{ pkgs,... }:
{
environment.systemPackages =
(with pkgs; [
lact
]);
# Enable Modprobe
boot.extraModprobeConfig = ''
options amdgpu ppfeaturemask=0xFFF7FFFF
'';
# Enable Systemd Service
systemd.services.lact = {
enable = true;
description = "AMDGPU Control Daemon";
after = ["multi-user.target"];
wantedBy = ["multi-user.target"];
serviceConfig = {
ExecStart = "${pkgs.lact}/bin/lact daemon";
};
};
}

View File

@ -0,0 +1,48 @@
{ pkgs, ... }:
# Scripts for SteamOS session
let
jupiter-biosupdate = pkgs.writeShellScriptBin "jupiter-biosupdate" ''
exit 0;
'';
steamos-update = pkgs.writeShellScriptBin "steamos-update" ''
exit 7;
'';
steamos-select-branch = pkgs.writeShellScriptBin "steamos-select-branch" ''
echo "Not applicable for this OS"
'';
steamos-session-select = pkgs.writeShellScriptBin "steamos-session-select" ''
steam -shutdown
'';
in
{
environment.systemPackages = [
jupiter-biosupdate
steamos-update
steamos-select-branch
steamos-session-select
];
hardware.steam-hardware.enable = true;
programs.steam = {
enable = true;
extest.enable = true;
gamescopeSession.enable = true;
gamescopeSession.args = [
"--mangoapp"
];
gamescopeSession.steamArgs = [
"-steamdeck"
"-steamos3"
];
extraCompatPackages = with pkgs; [
proton-ge-bin
];
extraPackages = with pkgs; [
gamescope
mangohud
vulkan-hdr-layer-kwin6
];
};
}

View File

@ -0,0 +1,52 @@
{ pkgs, ...}:{
# Install applications.
programs.file-roller.enable = true;
services.gnome.tinysparql.enable = true;
environment.systemPackages = with pkgs; [
gnome-text-editor
dconf-editor
mission-center
amberol
clapper
speedtest
pdfarranger
video-trimmer
commit
cartridges
gnome-obfuscate
parabolic
gnome-tweaks
adw-gtk3
adwsteamgtk
gdm-settings
tsukimi
gnomeExtensions.appindicator
gnomeExtensions.rounded-window-corners-reborn
gnomeExtensions.clipboard-indicator
gnomeExtensions.middle-click-to-close-in-overview
gnomeExtensions.wallpaper-slideshow
gnomeExtensions.alphabetical-app-grid
gnomeExtensions.night-theme-switcher
];
# Don't install unneeded applications.
environment.gnome.excludePackages = (with pkgs; [
xterm
gnome-software
gnome-connections
gnome-maps
gnome-weather
gnome-photos
gnome-tour
gedit
gnome-music
gnome-terminal
epiphany
geary
gnome-characters
totem
tali
iagno
hitori
atomix
]);
}

View File

@ -0,0 +1,6 @@
{ ... }:
{
# Install Gnome.
services.xserver.enable = true;
services.xserver.desktopManager.gnome.enable = true;
}

View File

@ -0,0 +1,13 @@
# Gnome Display Manager.
{ user, lib, config, ... }:
{
# Enable GDM only on workstation.
services.xserver = lib.mkIf (config.networking.hostName == "Computer-Mo") {
displayManager.gdm.enable = true;
};
# Autologin only on workstation. Not needed on konsole or steamdeck. Jovian Greeter is being used.
services.displayManager = lib.mkIf (config.networking.hostName == "Computer-Mo") {
autoLogin.enable = true;
autoLogin.user = user;
};
}

15
root/hyprland/default.nix Normal file
View File

@ -0,0 +1,15 @@
{pkgs, ...}:
{
programs.hyprland.enable = true;
programs.waybar.enable = true;
programs.hyprlock.enable = true;
programs.uwsm.enable = true;
programs.hyprland.withUWSM = true;
environment.systemPackages = [
pkgs.kitty
pkgs.wofi
pkgs.anyrun
pkgs.ptyxis
pkgs.hyprpolkitagent
];
}

View File

@ -0,0 +1,27 @@
{ pkgs, ...}: {
environment.systemPackages =
(with pkgs; [
nur.repos.shadowrz.klassy-qt6
kdePackages.kate
kdePackages.isoimagewriter
kdePackages.gwenview
kdePackages.okular
kdePackages.kdenlive
kdePackages.elisa
kdePackages.wallpaper-engine-plugin
kdePackages.qtwebengine
haruna
krita
kdePackages.kcolorchooser
kdePackages.kfind
kdePackages.kcalc
kdePackages.filelight
kdePackages.skanlite
kdePackages.ksystemlog
kdePackages.partitionmanager
kdePackages.plasma-browser-integration
kdePackages.koi
python312Packages.kde-material-you-colors
pywal
]);
}

View File

@ -0,0 +1,6 @@
{ pkgs, user, ... }:
{
# Install plasma without xserver. Use wayland.
services.desktopManager.plasma6.enable = true;
services.xserver.enable = false;
}

View File

@ -0,0 +1,10 @@
{ user, ... }:
{
# Only use sddm on Computer-Mo.
services.displayManager = {
sddm.wayland.enable = true;
sddm.enable = true;
autoLogin.enable = true;
autoLogin.user = user;
};
}

View File

@ -0,0 +1,118 @@
{ ... }:
{
virtualisation.oci-containers.containers."container-authentik-cache" = {
image = "docker.io/library/redis:alpine";
networks = [
"network-internal"
];
volumes = [
"volume-authentik-cache:/data:rw"
];
cmd = [ "--save" "60" "1" "--loglevel" "warning" ];
extraOptions = [
"--pull=always"
];
};
virtualisation.oci-containers.containers."container-authentik-db" = {
image = "docker.io/library/postgres:12-alpine";
environment = {
"POSTGRES_DB" = "authentik";
"POSTGRES_PASSWORD" = "shmJQWMIWJRI23jn19842!";
"POSTGRES_USER" = "authentik";
};
networks = [
"network-internal"
];
volumes = [
"volume-authentik-db:/var/lib/postgresql/data:rw"
];
extraOptions = [
"--pull=always"
];
};
virtualisation.oci-containers.containers."container-authentik-ldap" = {
image = "ghcr.io/goauthentik/ldap";
environment = {
"AUTHENTIK_HOST" = "http://container-authentik-server:9000";
"AUTHENTIK_INSECURE" = "true";
"AUTHENTIK_TOKEN" = "yZPlmWkdLsteKXXAJJPFO0Txd7o9zZlIfFdyBlGh0LjPjatYjpcqSYHwzMQ9";
};
networks = [
"network-internal"
];
ports = [
"389:3389"
"636:6636"
];
dependsOn = [
"container-authentik-server"
"container-authentik-worker"
"container-authentik-cache"
"container-authentik-db"
];
extraOptions = [
"--pull=always"
];
};
virtualisation.oci-containers.containers."container-authentik-server" = {
image = "ghcr.io/goauthentik/server";
environment = {
"AUTHENTIK_SECRET_KEY" = "OS7C4vThZKf5tPGKlOu3QXgZIHWAF7HBfpk/Y6LMVh7QMdyOD6NwojmASlKb3lwtYA5OdZzDLB2GNSQg";
"AUTHENTIK_POSTGRESQL__HOST" = "container-authentik-db";
"AUTHENTIK_POSTGRESQL__NAME" = "authentik";
"AUTHENTIK_POSTGRESQL__PASSWORD" = "shmJQWMIWJRI23jn19842!";
"AUTHENTIK_POSTGRESQL__USER" = "authentik";
"AUTHENTIK_REDIS__HOST" = "container-authentik-cache";
"AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS" = "172.16.0.0/12";
};
networks = [
"network-internal"
];
ports = [
"9000:9000"
"9443:9443"
];
volumes = [
"volume-authentik-media:/media:rw"
"volume-authentik-templates:/templates:rw"
];
cmd = [ "server" ];
dependsOn = [
"container-authentik-cache"
"container-authentik-db"
];
extraOptions = [
"--pull=always"
];
};
virtualisation.oci-containers.containers."container-authentik-worker" = {
image = "ghcr.io/goauthentik/server";
environment = {
"AUTHENTIK_SECRET_KEY" = "OS7C4vThZKf5tPGKlOu3QXgZIHWAF7HBfpk/Y6LMVh7QMdyOD6NwojmASlKb3lwtYA5OdZzDLB2GNSQg";
"AUTHENTIK_POSTGRESQL__HOST" = "container-authentik-db";
"AUTHENTIK_POSTGRESQL__NAME" = "authentik";
"AUTHENTIK_POSTGRESQL__PASSWORD" = "shmJQWMIWJRI23jn19842!";
"AUTHENTIK_POSTGRESQL__USER" = "authentik";
"AUTHENTIK_REDIS__HOST" = "container-authentik-cache";
"AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS" = "172.16.0.0/12";
};
networks = [
"network-internal"
];
volumes = [
"/run/docker.sock:/var/run/docker.sock:rw"
"volume-authentik-certs:/certs:rw"
"volume-authentik-media:/media:rw"
"volume-authentik-templates:/templates:rw"
];
cmd = [ "worker" ];
dependsOn = [
"container-authentik-cache"
"container-authentik-db"
];
extraOptions = [
"--pull=always"
];
};
}

Some files were not shown because too many files have changed in this diff Show More