diff --git a/.config/i3/kde-config b/.config/i3/kde-config new file mode 100644 index 0000000..7ef853f --- /dev/null +++ b/.config/i3/kde-config @@ -0,0 +1,97 @@ +# i3 config file (v4) +# Please see http://i3wm.org/docs/userguide.html for a complete reference! +# Generate by Chef for animatronio + +font pango:FontAwesome,Oxygen Mono Regular 11 + +bindsym Mod4+q exec /usr/bin/env konsole +bindsym Mod4+e exec /usr/bin/env dolphin +# bindsym Mod4+grave exec rofi -modi window -show window + +floating_modifier Mod4 + +bindsym Mod4+c kill + +bindsym Mod4+h focus left +bindsym Mod4+j focus down +bindsym Mod4+k focus up +bindsym Mod4+l focus right +bindsym Mod4+space focus mode_toggle +bindsym Mod4+a focus parent +bindsym Mod4+x focus child + +bindsym Mod4+Shift+h move left +bindsym Mod4+Shift+j move down +bindsym Mod4+Shift+k move up +bindsym Mod4+Shift+l move right + +bindsym Mod4+n split h +bindsym Mod4+b split v + +bindsym Mod4+f fullscreen + +bindsym Mod4+s layout stacking +bindsym Mod4+w layout tabbed +bindsym Mod4+Shift+s layout toggle split +bindsym Mod4+v floating toggle + +bindsym Mod4+1 workspace number 1 +bindsym Mod4+Shift+1 move container to workspace number 1 +bindsym Mod4+2 workspace number 2 +bindsym Mod4+Shift+2 move container to workspace number 2 +bindsym Mod4+3 workspace number 3 +bindsym Mod4+Shift+3 move container to workspace number 3 +bindsym Mod4+4 workspace number 4 +bindsym Mod4+Shift+4 move container to workspace number 4 +bindsym Mod4+5 workspace number 5 +bindsym Mod4+Shift+5 move container to workspace number 5 +bindsym Mod4+6 workspace number 6 +bindsym Mod4+Shift+6 move container to workspace number 6 +bindsym Mod4+7 workspace number 7 +bindsym Mod4+Shift+7 move container to workspace number 7 +bindsym Mod4+8 workspace number 8 +bindsym Mod4+Shift+8 move container to workspace number 8 +bindsym Mod4+9 workspace number 9 +bindsym Mod4+Shift+9 move container to workspace number 9 +bindsym Mod4+0 workspace number 10 +bindsym Mod4+Shift+0 move container to workspace number 10 + +bindsym Mod4+Shift+c reload +bindsym Mod4+Shift+r restart + +bindsym Mod4+r mode "resize" +mode "resize" { + bindsym h resize shrink width 5 px or 5 ppt + bindsym j resize grow height 5 px or 5 ppt + bindsym k resize shrink height 5 px or 5 ppt + bindsym l resize grow width 5 px or 5 ppt + bindsym Escape mode "default" +} + +# we're going to use the KDE bar! +# bar {} + +# Tab Decorations +client.focused #aaaaaa #aaaaaa #151718 #9fca56 +client.focused_inactive #9fca56 #9fca56 #151718 #a074c4 +client.unfocused #1f2326 #1f2326 #aaaaaa #a074c4 +client.urgent #ce4045 #ce4045 #ffffff #dccd69 + +new_window 1pixel +new_float 1pixel +for_window [class="^.*"] border pixel 0 + +smart_gaps on +gaps inner 5 + +# hide kde desktop and stuff +for_window [title="Desktop — Plasma"] move scratchpad +# for volume popups +no_focus [class="plasmashell"] +for_window [class="plasmashell"] sticky enable +for_window [class="plasmashell"] floating enable + +#exec --no-startup-id compton +#exec --no-startup-id nitrogen --restore + + diff --git a/flake.lock b/flake.lock index 94e0845..1436035 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,88 @@ "type": "github" } }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1708890466, + "narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "665b3c6748534eb766c777298721cece9453fdae", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-foot": { + "flake": false, + "locked": { + "lastModified": 1696725948, + "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", + "owner": "tinted-theming", + "repo": "base16-foot", + "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-foot", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1696727917, + "narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-kitty": { + "flake": false, + "locked": { + "lastModified": 1665001328, + "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", + "owner": "kdrag0n", + "repo": "base16-kitty", + "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", + "type": "github" + }, + "original": { + "owner": "kdrag0n", + "repo": "base16-kitty", + "type": "github" + } + }, "base16-schemes": { "flake": false, "locked": { @@ -37,6 +119,38 @@ "type": "github" } }, + "base16-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "base16-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-tmux", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1663659192, + "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", + "owner": "chriskempson", + "repo": "base16-vim", + "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", + "type": "github" + }, + "original": { + "owner": "chriskempson", + "repo": "base16-vim", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -143,6 +257,22 @@ "type": "github" } }, + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -233,6 +363,22 @@ "type": "github" } }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1689549921, + "narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -255,6 +401,23 @@ "type": "github" } }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1713702291, + "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "46.1", + "repo": "gnome-shell", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -339,6 +502,27 @@ "type": "github" } }, + "home-manager_4": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nix-colors": { "inputs": { "base16-schemes": "base16-schemes", @@ -500,6 +684,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1714912032, + "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "devshell": "devshell", @@ -583,7 +783,36 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", - "nur": "nur" + "nur": "nur", + "stylix": "stylix" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-foot": "base16-foot", + "base16-helix": "base16-helix", + "base16-kitty": "base16-kitty", + "base16-tmux": "base16-tmux", + "base16-vim": "base16-vim", + "flake-compat": "flake-compat_5", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_4", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1715516559, + "narHash": "sha256-xzUwP85yIYvVSKHY2MutzAt5/ZQwUzlhL5/Gfh7jySc=", + "owner": "danth", + "repo": "stylix", + "rev": "b5f4ca49df372c3d26ce04b1554fb02a0107cc8d", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" } }, "systems": { diff --git a/flake.nix b/flake.nix index 5667db7..9d4bc51 100644 --- a/flake.nix +++ b/flake.nix @@ -28,10 +28,11 @@ url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + stylix.url = "github:danth/stylix"; }; outputs = { self, nur, nixpkgs, nixos-hardware, nixos-wsl, nixpkgs-unstable , agenix, home-manager, home-manager-unstable, nix-colors, nixos-cosmic - , nixvim }@inputs: + , nixvim, stylix }@inputs: let inherit (self) outputs; system = "x86_64-linux"; @@ -52,6 +53,7 @@ home-manager-unstable.nixosModules.home-manager agenix.nixosModules.default nixos-cosmic.nixosModules.default + stylix.nixosModules.stylix ]; specialArgs = specialArgs // { inherit inputs outputs; }; }; diff --git a/home-manager/kitty.nix b/home-manager/kitty.nix index 1206266..e948c3e 100644 --- a/home-manager/kitty.nix +++ b/home-manager/kitty.nix @@ -3,15 +3,15 @@ programs.kitty = { enable = true; settings = { - foreground = "#${config.colorScheme.colors.base05}"; - background = "#${config.colorScheme.colors.base00}"; + #foreground = "#${config.colorScheme.colors.base05}"; + #background = "#${config.colorScheme.colors.base00}"; - active_tab_foreground = "#${config.colorScheme.colors.base05}"; - active_tab_background = "#${config.colorScheme.colors.base01}"; - inactive_tab_foreground = "#${config.colorScheme.colors.base05}"; - inactive_tab_background = "#${config.colorScheme.colors.base00}"; + #active_tab_foreground = "#${config.colorScheme.colors.base05}"; + #active_tab_background = "#${config.colorScheme.colors.base01}"; + #inactive_tab_foreground = "#${config.colorScheme.colors.base05}"; + #inactive_tab_background = "#${config.colorScheme.colors.base00}"; env = "TERM=xterm-256color"; - background_opacity = "0.5"; + #background_opacity = "0.5"; font_size = 13; # ... }; diff --git a/home-manager/themes/yorha/scheme.yml b/home-manager/themes/yorha/scheme.yml new file mode 100644 index 0000000..96eb02f --- /dev/null +++ b/home-manager/themes/yorha/scheme.yml @@ -0,0 +1,18 @@ +scheme: "yorha" +author: "flick0 (https://github.com/flick0)" +base00: "1e1d1c" +base01: "A39D8F" +base02: "AFA899" +base03: "BBB4A5" +base04: "C3BCAB" +base05: "D2CCB9" +base06: "DBD5C2" +base07: "e8e5da" +base08: "a2a098" +base09: "A39D8F" +base0A: "AFA899" +base0B: "BBB4A5" +base0C: "C3BCAB" +base0D: "D2CCB9" +base0E: "DBD5C2" +base0F: "e8e5da" diff --git a/modules/graphical/default.nix b/modules/graphical/default.nix index e392db9..cfcffed 100644 --- a/modules/graphical/default.nix +++ b/modules/graphical/default.nix @@ -16,5 +16,6 @@ ./openrgb.nix ./plasma.nix ./shared.nix + ./stylix.nix ]; } diff --git a/modules/graphical/plasma.nix b/modules/graphical/plasma.nix index 288ceab..3b00fef 100644 --- a/modules/graphical/plasma.nix +++ b/modules/graphical/plasma.nix @@ -1,29 +1,32 @@ -{lib, config, pkgs, ... }: +{ lib, config, pkgs, ... }: with lib; -let - cfg = config.custom.graphical.plasma; -in -{ +let cfg = config.custom.graphical.plasma; +in { options.custom.graphical.plasma = { enable = mkEnableOption "Enables plasma"; }; - + config = mkIf cfg.enable { services.xserver = { enable = true; - xkb.layout = config.mainUser.layout; + xkb.layout = config.mainUser.layout; xkb.variant = config.mainUser.variant; - displayManager.sddm.enable = true; + windowManager.i3 = { + package = pkgs.i3-gaps; + enable = true; + configFile = ../../.config/i3/kde-config; + }; + displayManager = { + sddm.enable = true; + }; #displayManager.sddm.settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions"; #displayManager.sddm.wayland.enable = true; - + libinput = { enable = true; - + # disabling mouse acceleration - mouse = { - accelProfile = "flat"; - }; + mouse = { accelProfile = "flat"; }; }; }; services.xserver.desktopManager.plasma5.enable = true; @@ -31,24 +34,23 @@ in #services.desktopManager.plasma6.enable = true; #environment.plasma6.excludePackages = with pkgs.kdePackages; [ ocean-sound-theme spectacle ]; - - environment.sessionVariables = { - __GL_YIELD = "usleep"; - MOZ_ENABLE_WAYLAND = "1"; - NIXOS_OZONE_WL = "1"; - }; - + #environment.sessionVariables = { + # __GL_YIELD = "usleep"; + # MOZ_ENABLE_WAYLAND = "1"; + # NIXOS_OZONE_WL = "1"; + #}; + xdg = { portal = { enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-wlr - #xdg-desktop-portal-gtk - ]; + extraPortals = with pkgs; + [ + xdg-desktop-portal-wlr + #xdg-desktop-portal-gtk + ]; }; }; - - + environment.systemPackages = with pkgs; [ libsForQt5.bismuth # auto tiling wayland-utils diff --git a/modules/graphical/stylix.nix b/modules/graphical/stylix.nix new file mode 100644 index 0000000..944dceb --- /dev/null +++ b/modules/graphical/stylix.nix @@ -0,0 +1,48 @@ +{ lib, config, pkgs, ... }: +with lib; +let cfg = config.custom.graphical.stylix; +in { + options.custom.graphical.stylix = { + enable = mkEnableOption "Enables stylix"; + }; + + # https://danth.github.io/stylix/options/nixos.html + config = + let nerdfonts = pkgs.nerdfonts.override { fonts = [ "Hack" "Noto" ]; }; + in mkIf cfg.enable { + stylix = { + polarity = "dark"; + #image = ./yuyukowallpaper1809.png; + #base16Scheme = ../../home-manager/themes/yorha/scheme.yml; + base16Scheme = + "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml"; + cursor = { + size = 24; + name = "breeze_cursors"; + package = pkgs.libsForQt5.breeze-gtk; + }; + opacity = { + applications = 0.7; + desktop = 0.7; + terminal = 0.7; + }; + fonts = { + serif = config.stylix.fonts.sansSerif; + sansSerif = { + package = pkgs.noto-fonts; + name = "Noto Sans"; + }; + sizes = { + applications = 12; + desktop = 10; + popups = 10; + terminal = 12; + }; + monospace = { + package = nerdfonts; + name = "Hack"; + }; + }; + }; + }; +} diff --git a/modules/graphical/yuyukowallpaper1809.png b/modules/graphical/yuyukowallpaper1809.png new file mode 100644 index 0000000..b2cf633 Binary files /dev/null and b/modules/graphical/yuyukowallpaper1809.png differ diff --git a/modules/services/default.nix b/modules/services/default.nix index e8233b0..aa497ec 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -3,6 +3,7 @@ imports = [ ./acme.nix ./adguard.nix + ./dnsmasq.nix ./ente.nix ./kubernetes.nix ./kavita.nix diff --git a/modules/services/dnsmasq.nix b/modules/services/dnsmasq.nix new file mode 100644 index 0000000..7e07bce --- /dev/null +++ b/modules/services/dnsmasq.nix @@ -0,0 +1,26 @@ +{ config, pkgs, lib, inputs, ... }: +with lib; +let cfg = config.custom.services.dnsmasq; +in { + options.custom.services.dnsmasq = { + enable = mkEnableOption "Enables dnsmaq service"; + server = mkOption { type = types.listOf types.string; }; + }; + config = mkIf cfg.enable { + #networking.resolvconf.enable = false; + + services.dnsmasq = { + enable = true; + resolveLocalQueries = true; + settings.server = cfg.server; + extraConfig = '' + interface=lo + bind-interfaces + listen-address=127.0.0.1 + cache-size=1000 + + no-negcache + ''; + }; + }; +} diff --git a/systems/pc/configuration.nix b/systems/pc/configuration.nix index 42946cd..553e7ce 100644 --- a/systems/pc/configuration.nix +++ b/systems/pc/configuration.nix @@ -29,9 +29,15 @@ enable = true; interface = "enp42s0"; ip = "192.168.0.11"; - dns = "192.168.0.10"; + #dns = "127.0.0.1"; + dns = "192.168.10"; #gateway = "192.168.0.10"; }; + # It uses 1.1.1.1 for some reason? set in /etc/dnsmasq-resolv.conf. no idea why + #services.dnsmasq = { + # enable = true; + # server = [ "192.168.0.10" ]; + #}; misc = { docker.enable = true; }; @@ -54,6 +60,7 @@ plasma.enable = true; #cosmic.enable = true; shared.enable = true; + stylix.enable = true; }; }; diff --git a/users/kopatz/home.nix b/users/kopatz/home.nix index 57cf76b..2f49262 100644 --- a/users/kopatz/home.nix +++ b/users/kopatz/home.nix @@ -24,7 +24,7 @@ ../../home-manager/lf.nix ../../home-manager/nixvim ../../home-manager/rofi.nix - ../../home-manager/theme.nix + #../../home-manager/theme.nix ../../home-manager/zsh.nix inputs.nixvim.homeManagerModules.nixvim inputs.nix-colors.homeManagerModule