summaryrefslogtreecommitdiff
path: root/home-manager/modules
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/modules')
-rw-r--r--home-manager/modules/apps/default.nix54
-rw-r--r--home-manager/modules/apps/desktop/default.nix3
-rw-r--r--home-manager/modules/apps/desktop/hyprland.nix241
-rw-r--r--home-manager/modules/apps/nvim/default.nix4
-rw-r--r--home-manager/modules/apps/zsh.nix24
-rw-r--r--home-manager/modules/default.nix8
-rw-r--r--home-manager/modules/services/default.nix3
-rw-r--r--home-manager/modules/services/syncthing.nix 11
8 files changed, 348 insertions, 0 deletions
diff --git a/home-manager/modules/apps/default.nix b/home-manager/modules/apps/default.nix
new file mode 100644
index 0000000..afb7ea3
--- /dev/null
+++ b/home-manager/modules/apps/default.nix
@@ -0,0 +1,54 @@
+{lib, pkgs, ...}:
+with lib;
+{
+ imports = [
+ ./nvim
+ ./desktop
+ ./zsh.nix
+ ];
+
+ # Stuff that is to be sorted to its appropriate files
+ # If no appropriate category is found or thought of, put it in misc.nix
+ home.packages = with pkgs; [
+ speedcrunch
+ htop
+ btop
+ nmap
+ dig
+ ripgrep
+ unzip
+ unrar
+ xdg-user-dirs
+ thunderbird
+ element-desktop
+ filelight
+ libreoffice
+ evince
+ obsidian
+ krita
+ hugo
+ qalculate-qt
+
+ spotify
+ prismlauncher
+ ani-cli
+ vlc
+ mpv
+ openttd
+ anki-bin
+
+ #Theme
+ qt6Packages.qt6ct
+ kdePackages.qtstyleplugin-kvantum
+ (catppuccin-kvantum.override {
+ accent = "pink";
+ variant = "mocha";
+ })
+
+
+ # Do i need this?
+ php
+ php83Packages.composer
+
+ ];
+}
diff --git a/home-manager/modules/apps/desktop/default.nix b/home-manager/modules/apps/desktop/default.nix
new file mode 100644
index 0000000..4bc7478
--- /dev/null
+++ b/home-manager/modules/apps/desktop/default.nix
@@ -0,0 +1,3 @@
+{lib, ...}: with lib; {
+ imports = [ ./hyprland.nix ];
+}
diff --git a/home-manager/modules/apps/desktop/hyprland.nix b/home-manager/modules/apps/desktop/hyprland.nix
new file mode 100644
index 0000000..5142f40
--- /dev/null
+++ b/home-manager/modules/apps/desktop/hyprland.nix
@@ -0,0 +1,241 @@
+{cfg, lib, ...}:
+{
+ # Hyprland
+ wayland.windowManager.hyprland = {
+ systemd.enable = false;
+ enable = true;
+ xwayland.enable = true;
+ settings = {
+ exec-once = map (s: "uwsm app -- " + s) [
+ "kitty &"
+ "lxqt-policykit-agent &"
+ "waybar &"
+ "nm-applet &"
+ "blueman-tray &"
+ "blueman-applet &"
+ "hyprctl setcursor Catppuccin-Mocha-Dark-Cursors 24"
+ "kdeconnect-indicator &"
+ ] ++ [
+ "systemctl --user start hypridle.service"
+ "systemctl --user start hyprpaper.service"
+ "uwsm finalize QT_QPA_PLATFORM QT_PLUGIN_PATH"
+ ];
+ general = {
+ gaps_in = 3;
+ gaps_out = 8;
+ border_size = 1;
+
+ "col.active_border" = "rgba(ed45b8ee) rgba(611449ee) 45deg";
+ "col.inactive_border" = "rgba(595959aa)";
+
+ resize_on_border = true;
+ allow_tearing = true;
+ layout = "dwindle";
+ };
+
+ animations = {
+ enabled = true;
+ bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
+ animation = [
+ "windows, 1, 7, myBezier"
+ "windowsOut, 1, 7, default, popin 80%"
+ "border, 1, 10, default"
+ "borderangle, 1, 8, default"
+ "fade, 1, 7, default"
+ "workspaces, 1, 6, default"
+ ];
+ };
+
+ decoration = {
+ rounding = 10;
+
+ # Change transparency of focused and unfocused windows
+ active_opacity = "1.0";
+ inactive_opacity = "1.0";
+
+ # drop_shadow = true;
+ # shadow_range = 4;
+ # shadow_render_power = 3;
+ # "col.shadow" = "rgba(1a1a1aee)";
+
+ # https://wiki.hyprland.org/Configuring/Variables/#blur
+ blur = {
+ enabled = true;
+ size = 3;
+ passes = 1;
+
+ vibrancy = "0.1696";
+ };
+ };
+ dwindle = {
+ pseudotile = true;
+ preserve_split = true;
+ };
+
+ #master = {
+ # new_is_master = true;
+ #};
+ input = {
+ kb_layout = "pl";
+ kb_variant = "";
+ kb_model = "";
+ kb_options = "";
+ kb_rules = "";
+
+ follow_mouse = 1;
+
+ sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
+
+ touchpad = {
+ natural_scroll = true;
+ };
+ };
+ gestures = {
+ workspace_swipe = true;
+ };
+ misc = {
+ force_default_wallpaper = "-1"; # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = false; # If true disables the random hyprland logo / anime girl background. :(
+ };
+ monitor= [ ",preferred,auto,1" ];
+
+ # Mod key
+ "$mod" = "SUPER";
+
+ # Programs
+ "$terminal" = "kitty";
+ "$fileManager" = "pcmanfm";
+ "$menu" = "wofi --show run";
+ "$screenshot" = "hyprshot -m region -f screenshots/screenshot_$(date +'%d-%m-%y_%H-%M-%S').png";
+
+
+ bind = [
+ # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+ "$mod, RETURN, exec, $terminal"
+ "$mod, Q, killactive,"
+ "$mod SHIFT, M, exec, uwsm stop"
+ "$mod, E, exec, uwsm app -- $fileManager"
+ "$mod, V, togglefloating,"
+ "$mod, R, exec, uwsm app -- $menu"
+ "$mod, P, pseudo"
+ "$mod, J, togglesplit"
+ "$mod, L, exec, uwsm app -- hyprlock"
+ ",Print, exec, uwsm app -- $screenshot "
+
+ # Move focus with mod + arrow keys
+ "$mod, left, movefocus, l"
+ "$mod, right, movefocus, r"
+ "$mod, up, movefocus, u"
+ "$mod, down, movefocus, d"
+
+ # Example special workspace (scratchpad)
+ "$mod, S, togglespecialworkspace, magic"
+ "$mod SHIFT, S, movetoworkspace, special:magic"
+
+ # Scroll through existing workspaces with mod + scroll
+ "$mod, mouse_down, workspace, e+1"
+ "$mod, mouse_up, workspace, e-1"
+ ] ++ (
+ # workspaces
+ # binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
+ builtins.concatLists (builtins.genList (
+ x: let
+ ws = let
+ c = (x + 1) / 10;
+ in
+ builtins.toString (x + 1 - (c * 10));
+ in [
+ "$mod, ${ws}, workspace, ${toString (x + 1)}"
+ "$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
+ ]
+ )
+ 10)
+ );
+
+ bindm = [
+ "$mod, mouse:272, movewindow"
+ "$mod, mouse:273, resizewindow"
+ ];
+
+
+ windowrulev2 = [
+ "suppressevent maximize, class:.*" # You'll probably like this.
+ ];
+
+ source = [
+ "~/.config/hypr/hypr_test.conf"
+ ];
+ };
+ };
+
+ services.hyprpaper = {
+ enable = true;
+ settings = {
+ ipc = "on";
+ splash = false;
+ splash_offset = 2.0;
+
+ preload =
+ [ "/home/wilkuu/Pictures/Wallpapers/peony.png" ];
+ wallpaper= [",/home/wilkuu/Pictures/Wallpapers/peony.png"];
+ };
+ };
+
+ programs.hyprlock = {
+ enable=true;
+ settings = {
+ general = {
+ disable_loading_bar = true;
+ grace = 0;
+ hide_cursor = true;
+ no_fade_in = false;
+ };
+
+ background = [
+ {
+ path = "screenshot";
+ blur_passes = 3;
+ blur_size = 16;
+ }
+ ];
+
+ input-field = [
+ {
+ size = "200, 50";
+ position = "0, -80";
+ monitor = "";
+ dots_center = true;
+ fade_on_empty = false;
+ font_color = "rgb(202, 211, 245)";
+ inner_color = "rgb(91, 96, 120)";
+ outer_color = "rgb(24, 25, 38)";
+ outline_thickness = 5;
+ placeholder_text = "<span foreground=\"##cad3f5\">Password...</span>";
+ shadow_passes = 2;
+ }
+ ];
+ };
+ };
+
+ services.hypridle.enable = true;
+ services.hypridle.settings = {
+ general = {
+ lock_cmd ="pidof hyprlock || hyprlock";
+ before_sleep_cmd="loginctl lock-session";
+ ignore_dbus_inhibit=false;
+ after_sleep_cmd="hyprctl_dispatch dpms on";
+ };
+ listener = [
+ {
+ timeout = 30;
+ on-timeout = "hyprlock";
+ }
+ {
+ timeout = 90;
+ on-timeout = "hyprctl dispatch dpms off";
+ on-resume = "hyprctl dispatch dpms on";
+ }
+ ];
+ };
+
+}
diff --git a/home-manager/modules/apps/nvim/default.nix b/home-manager/modules/apps/nvim/default.nix
new file mode 100644
index 0000000..0505f78
--- /dev/null
+++ b/home-manager/modules/apps/nvim/default.nix
@@ -0,0 +1,4 @@
+{pkgs, ...}:
+{
+ # TODO
+}
diff --git a/home-manager/modules/apps/zsh.nix b/home-manager/modules/apps/zsh.nix
new file mode 100644
index 0000000..7a940e6
--- /dev/null
+++ b/home-manager/modules/apps/zsh.nix
@@ -0,0 +1,24 @@
+{config ,pkgs, ...}: {
+ programs.zsh = {
+ enable = true;
+ enableCompletion = true;
+ oh-my-zsh = {
+ enable = true;
+ theme = "clean";
+ };
+ plugins = [
+ {
+ name = "zsh-nix-shell";
+ file = "nix-shell.plugin.zsh";
+ src = pkgs.fetchFromGitHub {
+ owner = "chisui";
+ repo = "zsh-nix-shell";
+ rev = "v0.8.0";
+ sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7";
+ };
+ }
+ ];
+ };
+
+
+}
diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix
new file mode 100644
index 0000000..040dee8
--- /dev/null
+++ b/home-manager/modules/default.nix
@@ -0,0 +1,8 @@
+{lib, ...}:
+with lib;
+{
+ imports = [
+ ./apps
+ #./service
+ ];
+}
diff --git a/home-manager/modules/services/default.nix b/home-manager/modules/services/default.nix
new file mode 100644
index 0000000..a0f8310
--- /dev/null
+++ b/home-manager/modules/services/default.nix
@@ -0,0 +1,3 @@
+{lib, ...}: {
+ imports = [ ./syncthing.nix];
+}
diff --git a/home-manager/modules/services/syncthing.nix b/home-manager/modules/services/syncthing.nix
new file mode 100644
index 0000000..f917d86
--- /dev/null
+++ b/home-manager/modules/services/syncthing.nix
@@ -0,0 +1,11 @@
+{ config, pkgs, ... }:
+{
+ services.syncthing = {
+ enable = true;
+ tray = {
+ enable = true;
+ command = "syncthingtray --wait";
+ };
+ };
+}
+