add plasma-manager
This commit is contained in:
116
home/jonas/home.nix
Normal file
116
home/jonas/home.nix
Normal file
@@ -0,0 +1,116 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./plasma.nix
|
||||
];
|
||||
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home.username = "jonas";
|
||||
home.homeDirectory = "/home/jonas";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs; [
|
||||
chromium
|
||||
firefox
|
||||
fzf
|
||||
nil
|
||||
nixpkgs-fmt
|
||||
poetry
|
||||
thefuck
|
||||
vim
|
||||
vscode
|
||||
];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
home.file = {
|
||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||
# # symlink to the Nix store copy.
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
|
||||
# # You can also set the file content immediately.
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||
# either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# or
|
||||
#
|
||||
# /etc/profiles/per-user/jonas/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
home.sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# Git
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Jonas Röger";
|
||||
userEmail = "jonas.roeger@tu-dortmund.de";
|
||||
};
|
||||
|
||||
# Zsh
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
shellAliases = {
|
||||
ll = "ls -l";
|
||||
update = "sudo nixos-rebuild switch";
|
||||
};
|
||||
history.size = 10000;
|
||||
history.path = "${config.xdg.dataHome}/zsh/history";
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"docker"
|
||||
"docker-compose"
|
||||
"emacs"
|
||||
"fzf"
|
||||
"git"
|
||||
"pass"
|
||||
"poetry"
|
||||
"python"
|
||||
"rust"
|
||||
"thefuck"
|
||||
];
|
||||
theme = "bureau";
|
||||
};
|
||||
};
|
||||
|
||||
# wayland.windowManager.hyprland = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# "$mod" = "SUPER";
|
||||
# };
|
||||
# };
|
||||
}
|
||||
89
home/jonas/plasma.nix
Normal file
89
home/jonas/plasma.nix
Normal file
@@ -0,0 +1,89 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
#
|
||||
# Some high-level settings:
|
||||
#
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
cursorTheme = "Bibata-Modern-Ice";
|
||||
iconTheme = "Papirus-Dark";
|
||||
wallpaper = "${pkgs.libsForQt5.plasma-workspace-wallpapers}/share/wallpapers/Patak/contents/images/1080x1920.png";
|
||||
};
|
||||
|
||||
hotkeys.commands."launch-konsole" = {
|
||||
name = "Launch Konsole";
|
||||
key = "Meta+Alt+K";
|
||||
command = "konsole";
|
||||
};
|
||||
|
||||
panels = [
|
||||
# Windows-like panel at the bottom
|
||||
{
|
||||
location = "bottom";
|
||||
widgets = [
|
||||
"org.kde.plasma.kickoff"
|
||||
# We can also configure the widgets. For example if you want to pin
|
||||
# konsole and dolphin to the task-launcher the following widget will
|
||||
# have that.
|
||||
{
|
||||
name = "org.kde.plasma.icontasks";
|
||||
config = {
|
||||
General.launchers = [
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.marginsseperator"
|
||||
"org.kde.plasma.systemtray"
|
||||
"org.kde.plasma.digitalclock"
|
||||
];
|
||||
hiding = "autohide";
|
||||
}
|
||||
# Global menu at the top
|
||||
{
|
||||
location = "top";
|
||||
height = 26;
|
||||
widgets = [
|
||||
"org.kde.plasma.appmenu"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
#
|
||||
# Some mid-level settings:
|
||||
#
|
||||
shortcuts = {
|
||||
ksmserver = {
|
||||
"Lock Session" = [ "Screensaver" "Meta+Ctrl+Alt+L" ];
|
||||
};
|
||||
|
||||
kwin = {
|
||||
"Expose" = "Meta+,";
|
||||
"Switch Window Down" = "Meta+J";
|
||||
"Switch Window Left" = "Meta+H";
|
||||
"Switch Window Right" = "Meta+L";
|
||||
"Switch Window Up" = "Meta+K";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
#
|
||||
# Some low-level settings:
|
||||
#
|
||||
configFile = {
|
||||
"baloofilerc"."Basic Settings"."Indexing-Enabled".value = false;
|
||||
"kwinrc"."org.kde.kdecoration2"."ButtonsOnLeft".value = "SF";
|
||||
"kwinrc"."Desktops"."Number" = {
|
||||
value = 8;
|
||||
# Forces kde to not change this value (even through the settings app).
|
||||
immutable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user