commit f47da72b9c8796c33152397560c523f4d93a662e
Author: Kopatz <7265381+Kropatz@users.noreply.github.com>
Date: Sat Oct 14 13:33:14 2023 +0200
ic
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..036f9cd
--- /dev/null
+++ b/.config/hypr/hyprland.conf
@@ -0,0 +1,172 @@
+
+########################################################################################
+AUTOGENERATED HYPR CONFIG.
+PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
+OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
+########################################################################################
+
+#
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki
+#
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=,preferred,auto,auto
+
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+
+# Execute your favorite apps at launch
+# exec-once = waybar & hyprpaper & firefox
+
+# Source a file (multi-file configs)
+# source = ~/.config/hypr/myColors.conf
+
+# Some default env vars.
+env = XCURSOR_SIZE,24
+
+# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+input {
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ touchpad {
+ natural_scroll = yes
+ }
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+}
+
+general {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ gaps_in = 5
+ gaps_out = 20
+ border_size = 2
+ col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+ col.inactive_border = rgba(595959aa)
+
+ layout = dwindle
+}
+
+decoration {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ rounding = 10
+ blur = yes
+ blur_size = 3
+ blur_passes = 1
+ blur_new_optimizations = on
+
+ drop_shadow = yes
+ shadow_range = 4
+ shadow_render_power = 3
+ col.shadow = rgba(1a1a1aee)
+}
+
+animations {
+ enabled = no
+
+ # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+
+ bezier = myBezier, 0.05, 0.9, 0.1, 1.05
+
+ animation = windows, 1, 7, myBezier
+ animation = windowsOut, 1, 7, default, popin 80%
+ animation = border, 1, 10, default
+ animation = borderangle, 1, 8, default
+ animation = fade, 1, 7, default
+ animation = workspaces, 1, 6, default
+}
+
+dwindle {
+ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+ pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = yes # you probably want this
+}
+
+master {
+ # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+ new_is_master = true
+}
+
+gestures {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ workspace_swipe = on
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
+device:epic-mouse-v1 {
+ sensitivity = -0.5
+}
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+$mainMod = SUPER
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod, Q, exec, kitty
+bind = $mainMod, C, killactive,
+bind = $mainMod, M, exit,
+bind = $mainMod, E, exec, dolphin
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, R, exec, wofi --show drun
+bind = $mainMod, S, exec, rofi -show drun -show-icons
+bind = $mainMod, P, pseudo, # dwindle
+bind = $mainMod, J, togglesplit, # dwindle
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+bind = ALT, Tab, cyclenext,
+bind = ALT, Tab, bringactivetotop,
+
+exec-once= bash ~/.config/hypr/start.sh
diff --git a/.config/hypr/start.sh b/.config/hypr/start.sh
new file mode 100755
index 0000000..6e19fbe
--- /dev/null
+++ b/.config/hypr/start.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# wallpaper daemon
+swww init &
+
+nm-applet --indicator &
+
+waybar &
+
+dunst &
diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi
new file mode 100644
index 0000000..b528f72
--- /dev/null
+++ b/.config/rofi/config.rasi
@@ -0,0 +1,156 @@
+configuration {
+ modes: [ combi, window, drun ];
+ combi-modes: [ window, drun ];
+ combi-display-format: "{text}";
+ //modes: "window,drun,run,ssh";
+ font: "mono 20";
+/* location: 0;*/
+/* yoffset: 0;*/
+/* xoffset: 0;*/
+/* fixed-num-lines: true;*/
+ show-icons: true;
+/* terminal: "rofi-sensible-terminal";*/
+/* ssh-client: "ssh";*/
+/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
+/* run-command: "{cmd}";*/
+/* run-list-command: "";*/
+/* run-shell-command: "{terminal} -e {cmd}";*/
+ window-command: "wmctrl -i -R {window}";
+ window-match-fields: "all";
+/* icon-theme: ;*/
+/* drun-match-fields: "name,generic,exec,categories,keywords";*/
+/* drun-categories: ;*/
+/* drun-show-actions: false;*/
+/* drun-display-format: "{name} [({generic})]";*/
+/* drun-url-launcher: "xdg-open";*/
+/* disable-history: false;*/
+/* ignored-prefixes: "";*/
+ sort: true;
+/* sorting-method: "normal";*/
+/* case-sensitive: false;*/
+/* cycle: true;*/
+/* sidebar-mode: false;*/
+/* hover-select: false;*/
+/* eh: 1;*/
+/* auto-select: false;*/
+/* parse-hosts: false;*/
+/* parse-known-hosts: true;*/
+/* combi-modes: "window,run";*/
+/* matching: "normal";*/
+/* tokenize: true;*/
+/* m: "-5";*/
+/* filter: ;*/
+/* dpi: -1;*/
+/* threads: 0;*/
+/* scroll-method: 0;*/
+/* window-format: "{w} {c} {t}";*/
+ click-to-exit: true;
+/* max-history-size: 25;*/
+/* combi-hide-mode-prefix: false;*/
+/* combi-display-format: "{mode} {text}";*/
+/* matching-negate-char: '-' /* unsupported */;*/
+/* cache-dir: ;*/
+/* window-thumbnail: false;*/
+/* drun-use-desktop-cache: false;*/
+/* drun-reload-desktop-cache: false;*/
+/* normalize-match: false;*/
+ steal-focus: false;
+/* application-fallback-icon: ;*/
+/* refilter-timeout-limit: 8192;*/
+ xserver-i300-workaround: false;
+/* pid: "/run/user/1000/rofi.pid";*/
+/* display-window: ;*/
+/* display-windowcd: ;*/
+/* display-run: ;*/
+/* display-ssh: ;*/
+/* display-drun: ;*/
+/* display-combi: ;*/
+/* display-keys: ;*/
+/* display-filebrowser: ;*/
+/* kb-primary-paste: "Control+V,Shift+Insert";*/
+/* kb-secondary-paste: "Control+v,Insert";*/
+/* kb-clear-line: "Control+w";*/
+/* kb-move-front: "Control+a";*/
+/* kb-move-end: "Control+e";*/
+/* kb-move-word-back: "Alt+b,Control+Left";*/
+/* kb-move-word-forward: "Alt+f,Control+Right";*/
+/* kb-move-char-back: "Left,Control+b";*/
+/* kb-move-char-forward: "Right,Control+f";*/
+/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
+/* kb-remove-word-forward: "Control+Alt+d";*/
+/* kb-remove-char-forward: "Delete,Control+d";*/
+/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
+/* kb-remove-to-eol: "Control+k";*/
+/* kb-remove-to-sol: "Control+u";*/
+/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
+/* kb-accept-custom: "Control+Return";*/
+/* kb-accept-custom-alt: "Control+Shift+Return";*/
+/* kb-accept-alt: "Shift+Return";*/
+/* kb-delete-entry: "Shift+Delete";*/
+/* kb-mode-next: "Shift+Right,Control+Tab";*/
+/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
+/* kb-mode-complete: "Control+l";*/
+/* kb-row-left: "Control+Page_Up";*/
+/* kb-row-right: "Control+Page_Down";*/
+/* kb-row-up: "Up,Control+p";*/
+/* kb-row-down: "Down,Control+n";*/
+/* kb-row-tab: "";*/
+/* kb-element-next: "Tab";*/
+/* kb-element-prev: "ISO_Left_Tab";*/
+/* kb-page-prev: "Page_Up";*/
+/* kb-page-next: "Page_Down";*/
+/* kb-row-first: "Home,KP_Home";*/
+/* kb-row-last: "End,KP_End";*/
+/* kb-row-select: "Control+space";*/
+/* kb-screenshot: "Alt+S";*/
+/* kb-ellipsize: "Alt+period";*/
+/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
+/* kb-toggle-sort: "Alt+grave";*/
+/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
+/* kb-custom-1: "Alt+1";*/
+/* kb-custom-2: "Alt+2";*/
+/* kb-custom-3: "Alt+3";*/
+/* kb-custom-4: "Alt+4";*/
+/* kb-custom-5: "Alt+5";*/
+/* kb-custom-6: "Alt+6";*/
+/* kb-custom-7: "Alt+7";*/
+/* kb-custom-8: "Alt+8";*/
+/* kb-custom-9: "Alt+9";*/
+/* kb-custom-10: "Alt+0";*/
+/* kb-custom-11: "Alt+exclam";*/
+/* kb-custom-12: "Alt+at";*/
+/* kb-custom-13: "Alt+numbersign";*/
+/* kb-custom-14: "Alt+dollar";*/
+/* kb-custom-15: "Alt+percent";*/
+/* kb-custom-16: "Alt+dead_circumflex";*/
+/* kb-custom-17: "Alt+ampersand";*/
+/* kb-custom-18: "Alt+asterisk";*/
+/* kb-custom-19: "Alt+parenleft";*/
+/* kb-select-1: "Super+1";*/
+/* kb-select-2: "Super+2";*/
+/* kb-select-3: "Super+3";*/
+/* kb-select-4: "Super+4";*/
+/* kb-select-5: "Super+5";*/
+/* kb-select-6: "Super+6";*/
+/* kb-select-7: "Super+7";*/
+/* kb-select-8: "Super+8";*/
+/* kb-select-9: "Super+9";*/
+/* kb-select-10: "Super+0";*/
+/* ml-row-left: "ScrollLeft";*/
+/* ml-row-right: "ScrollRight";*/
+/* ml-row-up: "ScrollUp";*/
+/* ml-row-down: "ScrollDown";*/
+/* me-select-entry: "MousePrimary";*/
+/* me-accept-entry: "MouseDPrimary";*/
+/* me-accept-custom: "Control+MouseDPrimary";*/
+ timeout {
+ action: "kb-cancel";
+ delay: 0;
+ }
+ filebrowser {
+ directories-first: true;
+ sorting-method: "name";
+ }
+}
+
+@theme "nord"
diff --git a/.config/rofi/nord.rasi b/.config/rofi/nord.rasi
new file mode 100644
index 0000000..4e96467
--- /dev/null
+++ b/.config/rofi/nord.rasi
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * ROFI VERTICAL THEME USING THE NORD COLOR PALETTE
+ * User : LR-Tech
+ * Theme Repo : https://github.com/lr-tech/rofi-themes-collection
+ * Nord Project Repo : https://github.com/arcticicestudio/nord
+ *******************************************************************************/
+
+* {
+ font: "IBM Plex Mono 12";
+
+ nord0: #2e3440;
+ nord1: #3b4252;
+ nord2: #434c5e;
+ nord3: #4c566a;
+
+ nord4: #d8dee9;
+ nord5: #e5e9f0;
+ nord6: #eceff4;
+
+ nord7: #8fbcbb;
+ nord8: #88c0d0;
+ nord9: #81a1c1;
+ nord10: #5e81ac;
+ nord11: #bf616a;
+
+ nord12: #d08770;
+ nord13: #ebcb8b;
+ nord14: #a3be8c;
+ nord15: #b48ead;
+
+ background-color: transparent;
+ text-color: @nord4;
+ accent-color: @nord8;
+
+ margin: 0px;
+ padding: 0px;
+ spacing: 0px;
+}
+
+window {
+ background-color: @nord0;
+ border-color: @accent-color;
+
+ location: center;
+ width: 480px;
+ border: 1px;
+}
+
+inputbar {
+ padding: 8px 12px;
+ spacing: 12px;
+ children: [ prompt, entry ];
+}
+
+prompt, entry, element-text, element-icon {
+ vertical-align: 0.5;
+}
+
+prompt {
+ text-color: @accent-color;
+}
+
+listview {
+ lines: 8;
+ columns: 1;
+
+ fixed-height: false;
+}
+
+element {
+ padding: 8px;
+ spacing: 8px;
+}
+
+element normal urgent {
+ text-color: @nord13;
+}
+
+element normal active {
+ text-color: @accent-color;
+}
+
+element selected {
+ text-color: @nord0;
+}
+
+element selected normal {
+ background-color: @accent-color;
+}
+
+element selected urgent {
+ background-color: @nord13;
+}
+
+element selected active {
+ background-color: @nord8;
+}
+
+element-icon {
+ size: 0.75em;
+}
+
+element-text {
+ text-color: inherit;
+}
diff --git a/.gitconfig b/.gitconfig
new file mode 100644
index 0000000..6a72e35
--- /dev/null
+++ b/.gitconfig
@@ -0,0 +1,34 @@
+[user]
+ name = Lukas
+ email = lukas.kopatz11@gmail.com
+[alias]
+ pushfwl = push --force-with-lease
+ last = log -1 --stat
+ now = commit --amend --date="now" --no-edit
+ cp = cherry-pick
+ co = checkout
+ cl = clone
+ ci = commit
+ st = status -sb
+ br = branch
+ unstage = reset HEAD --
+ dc = diff --cached
+ lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
+ lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
+ lg = !"git lg1"
+[color]
+ ui = true
+
+[includeIf "gitdir/i:~/projects/github/**"]
+ path = .gitconfig-github
+[includeIf "gitdir/i:~/projects/gitea/**"]
+ path = .gitconfig-gitea
+[includeIf "gitdir/i:~/projects/fh/**"]
+ path = .gitconfig-gitlabfh
+[core]
+ editor = kate
+[gui]
+ recentrepo = D:/Stuff/work/evolit/TIS2020
+
+[credential "http://server.home:3000"]
+ provider = generic
diff --git a/.gitconfig-gitea b/.gitconfig-gitea
new file mode 100644
index 0000000..74afcc6
--- /dev/null
+++ b/.gitconfig-gitea
@@ -0,0 +1,21 @@
+
+[push]
+ default = upstream
+[core]
+ repositoryformatversion = 0
+ filemode = false
+ bare = false
+ logallrefupdates = true
+ symlinks = false
+ ignorecase = true
+[mergetool]
+ keeptemporaries = false
+ keepbackups = false
+ prompt = false
+ trustexitcode = false
+[user]
+ name = Kopatz
+ email = lukas.kopatz111@gmail.com
+ signingkey = 1702133BD8033AFE
+[commit]
+ gpgsign = false
\ No newline at end of file
diff --git a/.gitconfig-github b/.gitconfig-github
new file mode 100644
index 0000000..bebae03
--- /dev/null
+++ b/.gitconfig-github
@@ -0,0 +1,18 @@
+
+[push]
+ default = upstream
+[core]
+ repositoryformatversion = 0
+ filemode = false
+ bare = false
+ logallrefupdates = true
+ symlinks = false
+ ignorecase = true
+[mergetool]
+ keeptemporaries = false
+ keepbackups = false
+ prompt = false
+ trustexitcode = false
+[user]
+ name = Kopatz
+ email = 7265381+Kropatz@users.noreply.github.com
diff --git a/.gitconfig-gitlabfh b/.gitconfig-gitlabfh
new file mode 100644
index 0000000..e601776
--- /dev/null
+++ b/.gitconfig-gitlabfh
@@ -0,0 +1,21 @@
+
+[push]
+ default = upstream
+[core]
+ repositoryformatversion = 0
+ filemode = false
+ bare = false
+ logallrefupdates = true
+ symlinks = false
+ ignorecase = true
+[mergetool]
+ keeptemporaries = false
+ keepbackups = false
+ prompt = false
+ trustexitcode = false
+[user]
+ name = Kopatz
+ email = is221015@fhstp.ac.at
+ signingkey = C9FE26C362DB772E
+[commit]
+ gpgsign = true
\ No newline at end of file
diff --git a/gnome.nix b/gnome.nix
new file mode 100644
index 0000000..00ca6be
--- /dev/null
+++ b/gnome.nix
@@ -0,0 +1,53 @@
+{ config, pkgs, ... }:
+
+{
+
+ imports =
+ [
+ ./main.nix
+ ];
+
+ services.xserver = {
+ layout = "at";
+ xkbVariant = "";
+ enable = true;
+ displayManager.gdm.enable = true;
+ desktopManager.gnome.enable = true;
+ };
+
+ environment.gnome.excludePackages = (with pkgs; [
+ gnome-photos
+ gnome-tour
+ ]) ++ (with pkgs.gnome; [
+ cheese # webcam tool
+ gnome-music
+ gnome-terminal
+ gedit # text editor
+ epiphany # web browser
+ #geary # email reader
+ evince # document viewer
+ gnome-characters
+ totem # video player
+ tali # poker game
+ iagno # go game
+ hitori # sudoku game
+ atomix # puzzle game
+ ]);
+
+ environment.systemPackages = with pkgs; [
+ wmctrl
+ gnome.mutter
+ gnome.adwaita-icon-theme
+ gnomeExtensions.appindicator
+ gnome.gnome-settings-daemon
+ gnome.gnome-tweaks
+ gruvbox-gtk-theme
+ colloid-icon-theme
+ gnomeExtensions.just-perfection
+ gnomeExtensions.system-monitor
+ gnomeExtensions.dash2dock-lite
+ gnomeExtensions.dash-to-dock
+ gnomeExtensions.vitals
+ rofi
+ ];
+}
diff --git a/hyperland.nix b/hyperland.nix
new file mode 100644
index 0000000..ab3a4c8
--- /dev/null
+++ b/hyperland.nix
@@ -0,0 +1,60 @@
+{ config, pkgs, ... }:
+
+let
+ patchedWaybar = pkgs.waybar.overrideAttrs (oldAttrs: {
+ mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
+ });
+in
+
+{
+ imports =
+ [ # Include the results of the hardware scan.
+ ./main.nix
+ ];
+
+ services.xserver = {
+ layout = "at";
+ xkbVariant = "";
+ enable = true;
+ displayManager.sddm.enable = true;
+ };
+
+ programs.hyprland = {
+ enable = true;
+ nvidiaPatches = true;
+ xwayland.enable = true;
+ };
+
+ environment.sessionVariables = {
+ # If your cursor becomes invisible
+ #WLR_NO_HARDWARE_CURSORS = "1";
+ # Hint electron apps to use wayland
+ NIXOS_OZONE_WL = "1";
+ WLR_DRM_DEVICES = "/dev/dri/card0";
+ };
+
+ hardware = {
+ # Opengl
+ opengl.enable = true;
+
+ # Most wayland compositors need this
+ nvidia.modesetting.enable = true;
+ };
+
+ # XDG portal
+ xdg.portal.enable = true;
+ xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+
+ # List packages installed in system profile. To search, run:
+ # $ nix search wget
+ environment.systemPackages = with pkgs; [
+ # hyprland stuff
+ patchedWaybar
+ dunst
+ swww
+ kitty
+ rofi-wayland
+ libnotify
+ networkmanagerapplet
+ ];
+}
diff --git a/main.nix b/main.nix
new file mode 100644
index 0000000..06a297e
--- /dev/null
+++ b/main.nix
@@ -0,0 +1,178 @@
+# Edit this configuration file to define what should be installed on
+# your system. Help is available in the configuration.nix(5) man page
+# and in the NixOS manual (accessible by running ‘nixos-help’).
+
+{ config, pkgs, ... }:
+
+let
+ keepassWithPlugins = pkgs.keepass.override {
+ plugins = [
+ pkgs.keepass-keepassrpc
+ ];
+ };
+
+in
+
+{
+ imports =
+ [ # Include the results of the hardware scan.
+
+ ./hardware-configuration.nix
+ ];
+
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ networking.hostName = "nix-laptop"; # Define your hostname.
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ # Enable networking
+ networking.networkmanager.enable = true;
+
+ # Set your time zone.
+ time.timeZone = "Europe/Vienna";
+
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_US.UTF-8";
+
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "de_AT.UTF-8";
+ LC_IDENTIFICATION = "de_AT.UTF-8";
+ LC_MEASUREMENT = "de_AT.UTF-8";
+ LC_MONETARY = "de_AT.UTF-8";
+ LC_NAME = "de_AT.UTF-8";
+ LC_NUMERIC = "de_AT.UTF-8";
+ LC_PAPER = "de_AT.UTF-8";
+ LC_TELEPHONE = "de_AT.UTF-8";
+ LC_TIME = "de_AT.UTF-8";
+ };
+
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+
+ # Enable sound with pipewire.
+ sound.enable = true;
+ hardware.pulseaudio.enable = false;
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use JACK applications, uncomment this
+ #jack.enable = true;
+
+ # use the example session manager (no others are packaged yet so this is enabled by default,
+ # no need to redefine it in your config for now)
+ #media-session.enable = true;
+ };
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ services.xserver.libinput.enable = true;
+
+ #users.mutableUsers=false;
+ # Define a user account. Don't forget to set a password with ‘passwd’.
+ users.users.kopatz = {
+ isNormalUser = true;
+ description = "kopatz";
+ extraGroups = [ "networkmanager" "wheel" ];
+ #password = "test";
+ packages = with pkgs; [
+ #firefox
+ # thunderbird
+ discord
+ librewolf
+ ];
+ };
+
+ programs.steam = {
+ enable = true;
+ remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
+ dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
+ };
+
+ programs.kdeconnect.enable = true;
+
+ fonts.fontDir.enable = true;
+ fonts.fonts = with pkgs; [
+ nerdfonts
+ font-awesome
+ ];
+
+ networking.firewall = {
+ enable = true;
+ allowedTCPPortRanges = [
+ { from = 1714; to = 1764; } # KDE Connect
+ ];
+ allowedUDPPortRanges = [
+ { from = 1714; to = 1764; } # KDE Connect
+ ];
+ };
+
+ # Allow unfree packages
+ nixpkgs.config.allowUnfree = true;
+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
+
+ # List packages installed in system profile. To search, run:
+ # $ nix search wget
+ environment.systemPackages = with pkgs; [
+ # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
+ # wget
+ wget
+ nixos-option
+ kate
+ keepassWithPlugins
+ jetbrains.idea-ultimate
+ neovim
+ htop
+ busybox
+ git
+ #hyprland
+ #hyprpaper
+ #hyprpicker
+ #gtk3
+ neofetch
+ #qt5.qtwayland
+ #qt6.qmake
+ #qt6.qtwayland
+ #waybar
+ #xdg-desktop-portal-hyprland
+ #xdg-desktop-portal-gtk
+ #xdg-utils
+ #xwayland
+ ];
+
+
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ # programs.gnupg.agent = {
+ # enable = true;
+ # enableSSHSupport = true;
+ # };
+
+ # List services that you want to enable:
+
+ # Enable the OpenSSH daemon.
+ # services.openssh.enable = true;
+
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ # networking.firewall.enable = false;
+
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+ system.stateVersion = "23.05"; # Did you read the comment?
+
+}
diff --git a/plasma.nix b/plasma.nix
new file mode 100644
index 0000000..21266eb
--- /dev/null
+++ b/plasma.nix
@@ -0,0 +1,17 @@
+{ config, pkgs, ... }:
+
+{
+
+ imports =
+ [
+ ./main.nix
+ ];
+
+ services.xserver = {
+ layout = "at";
+ xkbVariant = "";
+ enable = true;
+ displayManager.sddm.enable = true;
+ desktopManager.plasma5.enable = true;
+ };
+}