Compare commits

..

No commits in common. "d7d5b44f1350ea0aa10cd08da186fe81007fd61c" and "8b755657c69ffa3466b4cf999f6a3bba5aefa212" have entirely different histories.

14 changed files with 359 additions and 637 deletions

View File

@ -1,10 +1,10 @@
# TODO # TODO
- [ ] Wallpaper switch - [ ] Wallpaper switch
- [x] Keyboard switch - [ ] Keyboard switch
- [x] Waybar fix - [ ] Waybar fix
- [x] Rofi config - [ ] Rofi config
- [ ] Cliphist manager fix - [ ] Cliphist manager fix
- [x] Stylix theming - [x] Stylix theming
- [ ] Enabling nvidia graphics and disabling it - [ ] Enabling nvidia graphics and disabling it
- [ ] Modularity connected via configuration.nix file with home manager (disable gnome, gnome configuration will be disabled too) - [ ] Modularity connected via configuration.nix file with home manager (disable gnome, gnome configuration will be disabled too)

View File

@ -1,105 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="800px"
width="800px"
viewBox="0 0 24 24"
fill="none"
version="1.1"
id="svg12"
sodipodi:docname="keyboard.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
inkscape:export-filename="keyboard.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs12" />
<sodipodi:namedview
id="namedview12"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="1.6075631"
inkscape:cx="190.35023"
inkscape:cy="99.218502"
inkscape:window-width="1265"
inkscape:window-height="1032"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg12" />
<g
id="SVGRepo_iconCarrier"
inkscape:label="kbd"
transform="matrix(0.71618532,0,0,0.71618532,3.4057762,3.4057762)"
style="display:inline">
<path
opacity="0.5"
d="M 16,5 H 8 C 5.17157,5 3.75736,5 2.87868,5.87868 2,6.75736 2,8.17157 2,11 v 2 c 0,2.8284 0,4.2426 0.87868,5.1213 C 3.75736,19 5.17157,19 8,19 h 8 c 2.8284,0 4.2426,0 5.1213,-0.8787 C 22,17.2426 22,15.8284 22,13 V 11 C 22,8.17157 22,6.75736 21.1213,5.87868 20.2426,5 18.8284,5 16,5 Z"
fill="#1c274c"
id="path1"
style="fill:#a7adba;fill-opacity:1" />
<path
d="M 6,10 C 6.55228,10 7,9.55228 7,9 7,8.44772 6.55228,8 6,8 5.44772,8 5,8.44772 5,9 c 0,0.55228 0.44772,1 1,1 z"
fill="#1c274c"
id="path2"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 6,13 c 0.55228,0 1,-0.4477 1,-1 0,-0.5523 -0.44772,-1 -1,-1 -0.55228,0 -1,0.4477 -1,1 0,0.5523 0.44772,1 1,1 z"
fill="#1c274c"
id="path3"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 9,13 c 0.55228,0 1,-0.4477 1,-1 0,-0.5523 -0.44772,-1 -1,-1 -0.55228,0 -1,0.4477 -1,1 0,0.5523 0.44772,1 1,1 z"
fill="#1c274c"
id="path4"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="M 9,10 C 9.55228,10 10,9.55228 10,9 10,8.44772 9.55228,8 9,8 8.44772,8 8,8.44772 8,9 c 0,0.55228 0.44772,1 1,1 z"
fill="#1c274c"
id="path5"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 12,10 c 0.5523,0 1,-0.44772 1,-1 0,-0.55228 -0.4477,-1 -1,-1 -0.5523,0 -1,0.44772 -1,1 0,0.55228 0.4477,1 1,1 z"
fill="#1c274c"
id="path6"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 12,13 c 0.5523,0 1,-0.4477 1,-1 0,-0.5523 -0.4477,-1 -1,-1 -0.5523,0 -1,0.4477 -1,1 0,0.5523 0.4477,1 1,1 z"
fill="#1c274c"
id="path7"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 15,10 c 0.5523,0 1,-0.44772 1,-1 0,-0.55228 -0.4477,-1 -1,-1 -0.5523,0 -1,0.44772 -1,1 0,0.55228 0.4477,1 1,1 z"
fill="#1c274c"
id="path8"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 15,13 c 0.5523,0 1,-0.4477 1,-1 0,-0.5523 -0.4477,-1 -1,-1 -0.5523,0 -1,0.4477 -1,1 0,0.5523 0.4477,1 1,1 z"
fill="#1c274c"
id="path9"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 18,10 c 0.5523,0 1,-0.44772 1,-1 0,-0.55228 -0.4477,-1 -1,-1 -0.5523,0 -1,0.44772 -1,1 0,0.55228 0.4477,1 1,1 z"
fill="#1c274c"
id="path10"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 18,13 c 0.5523,0 1,-0.4477 1,-1 0,-0.5523 -0.4477,-1 -1,-1 -0.5523,0 -1,0.4477 -1,1 0,0.5523 0.4477,1 1,1 z"
fill="#1c274c"
id="path11"
style="fill:#4f5b66;fill-opacity:1" />
<path
d="m 17.75,16 c 0,0.4142 -0.3358,0.75 -0.75,0.75 H 7 C 6.58579,16.75 6.25,16.4142 6.25,16 6.25,15.5858 6.58579,15.25 7,15.25 h 10 c 0.4142,0 0.75,0.3358 0.75,0.75 z"
fill="#1c274c"
id="path12"
style="fill:#4f5b66;fill-opacity:1" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -108,11 +108,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1731643390, "lastModified": 1731556998,
"narHash": "sha256-ckIrZY5i+b7UrxolO54pSRO9dKW7GnMYQ1uQLeWEBsU=", "narHash": "sha256-/x/j+JHTMVFLWDpWClFw3IpzJiVkHTWL5z138Jj2ec4=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "f0fa120121e9ea5c16c7b2c578fbebe37fbcab55", "rev": "47a8f584cbd9f26ca18e905ec37799838babcc29",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -252,11 +252,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1731604581, "lastModified": 1731535640,
"narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=", "narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10", "rev": "35b055009afd0107b69c286fca34d2ad98940d57",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -329,11 +329,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1731631654, "lastModified": 1731526492,
"narHash": "sha256-3BrzIc6CzuOVdhbRuKguIdG6IqfLbvNbYXqhmMWkxwY=", "narHash": "sha256-tzWLCOcIxvJvxB25kC0Q371pc5wBBzbzwSlSNc4L8gw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "098e491a43e8b26f4382b48651a4131464bf6a2f", "rev": "3fb47372b79265ebdabeeefdad10359d5b18377a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -478,22 +478,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1731386116,
"narHash": "sha256-lKA770aUmjPHdTaJWnP3yQ9OI1TigenUqVC3wweqZuI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "689fed12a013f56d4c4d3f612489634267d86529",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1731319897, "lastModified": 1731319897,
@ -512,11 +496,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1731531548, "lastModified": 1725194671,
"narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=", "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "24f0d4acd634792badd6470134c387a3b039dace", "rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -526,6 +510,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -556,8 +556,8 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable_2", "stylix": "stylix",
"stylix": "stylix" "zen-browser": "zen-browser"
} }
}, },
"stylix": { "stylix": {
@ -577,11 +577,11 @@
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux"
}, },
"locked": { "locked": {
"lastModified": 1731657386, "lastModified": 1731577695,
"narHash": "sha256-Mm/JL8tFUS1SOmmZDPcswExUxzw0VpHcEyZI1h58CGA=", "narHash": "sha256-ohxX2gG7zDWIA3slEbiSyAVSiO98clCoL+CmiEiYwVU=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f", "rev": "e0a278871b63b1800ccdda568861b5324dd93797",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -710,6 +710,24 @@
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"type": "github" "type": "github"
} }
},
"zen-browser": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1727721329,
"narHash": "sha256-QYlWZwUSwrM7BuO+dXclZIwoPvBIuJr6GpFKv9XKFPI=",
"owner": "MarceColl",
"repo": "zen-browser-flake",
"rev": "e6ab73f405e9a2896cce5956c549a9cc359e5fcc",
"type": "github"
},
"original": {
"owner": "MarceColl",
"repo": "zen-browser-flake",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -3,7 +3,7 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; #nix-stable.url = "github:nixos/nixpkgs/nixos-24.05";
hyprland = { hyprland = {
url = "github:hyprwm/Hyprland"; url = "github:hyprwm/Hyprland";
@ -26,6 +26,8 @@
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
zen-browser.url = "github:MarceColl/zen-browser-flake";
firefox-addons = { firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -35,7 +37,6 @@
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
nixpkgs-stable,
... ...
} @ inputs: let } @ inputs: let
system = "x86_64-linux"; system = "x86_64-linux";
@ -46,18 +47,10 @@
allowUnfree = true; allowUnfree = true;
}; };
}; };
pkgs-stable = import nixpkgs-stable {
inherit system;
config = {
allowUnfree = true;
};
};
in { in {
nixosConfigurations = { nixosConfigurations = {
laptop = nixpkgs.lib.nixosSystem { laptop = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs system pkgs pkgs-stable;}; specialArgs = {inherit inputs system;};
modules = [ modules = [
./nixos/configuration.nix ./nixos/configuration.nix

View File

@ -2,17 +2,16 @@
inputs, inputs,
config, config,
pkgs, pkgs,
pkgs-stable,
... ...
}: { }: {
imports = [ imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
./system/nvidia.nix
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
]; ];
home-manager = { home-manager = {
extraSpecialArgs = {inherit inputs pkgs pkgs-stable;}; extraSpecialArgs = {inherit inputs;};
backupFileExtension = "backup"; backupFileExtension = "backup";
users = { users = {
foglar = import ./home.nix; foglar = import ./home.nix;
@ -66,7 +65,6 @@
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
services.blueman.enable = true; services.blueman.enable = true;
# Printing
services.printing.enable = true; services.printing.enable = true;
services.printing.drivers = with pkgs; [gutenprint hplip splix]; services.printing.drivers = with pkgs; [gutenprint hplip splix];
hardware.printers = { hardware.printers = {
@ -83,12 +81,6 @@
]; ];
ensureDefaultPrinter = "HP_psc_1200_series"; ensureDefaultPrinter = "HP_psc_1200_series";
}; };
# Scanning
hardware.sane.enable = true;
services.ipp-usb.enable= true;
hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ];
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Prague"; time.timeZone = "Europe/Prague";
@ -114,6 +106,7 @@
monaspace monaspace
]; ];
#services.xserver.enable = true;
services.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true; services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
@ -190,11 +183,54 @@
FLAKE = "/home/foglar/dotfiles"; FLAKE = "/home/foglar/dotfiles";
}; };
hardware = {
graphics.enable = true;
};
services.xserver.videoDrivers = ["nvidia"];
services.xserver = { services.xserver = {
xkb.layout = "us,cz"; xkb.layout = "us,cz";
xkb.options = "grp:win_space_toggle"; xkb.options = "grp:win_space_toggle";
}; };
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
prime.amdgpuBusId = "pci@000:04:0";
prime.nvidiaBusId = "pci@000:01:0";
prime.offload = {
enable = true;
enableOffloadCmd = true;
};
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# Enable sound with pipewire. # Enable sound with pipewire.
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
@ -218,7 +254,7 @@
users.users.foglar = { users.users.foglar = {
isNormalUser = true; isNormalUser = true;
description = "foglar"; description = "foglar";
extraGroups = ["networkmanager" "wheel" "lp" "scanner"]; extraGroups = ["networkmanager" "wheel"];
packages = with pkgs; [ packages = with pkgs; [
# thunderbird # thunderbird
]; ];
@ -237,10 +273,11 @@
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ nix search wget
environment.systemPackages = (with pkgs; [ environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget # wget
]); inputs.zen-browser.packages."${system}".default
];
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
# started in user sessions. # started in user sessions.

View File

@ -1,49 +1,44 @@
{ {
lib, lib,
config, config,
pkgs,
... ...
}: { }: {
options = { options = {
hyprland.enable = hyprland.enable =
lib.mkEnableOption "enable Hyprland module"; lib.mkEnableOption "enable Hyprland module";
}; };
imports = [ imports = [
./packages.nix ./packages.nix
./waybar.nix ./waybar.nix
./rofi.nix ./rofi.nix
./wlogout.nix ];
];
config = lib.mkIf config.hyprland.enable { config = lib.mkIf config.hyprland.enable {
waybar.enable = lib.mkDefault true; waybar.enable = lib.mkDefault true;
rofi.enable = lib.mkDefault true; rofi.enable = lib.mkDefault true;
wlogout.enable = lib.mkDefault true;
services.network-manager-applet.enable = true; services.network-manager-applet.enable = true;
services.dunst.enable = true; services.dunst.enable = true;
home.packages = [
pkgs.toybox
];
stylix.targets = { stylix.targets = {
dunst.enable = true;
dunst.enable = true;
waybar = { waybar = {
enableCenterBackColors = false; enableCenterBackColors = false;
enableLeftBackColors = false; enableLeftBackColors = false;
enableRightBackColors = false; enableRightBackColors = false;
}; };
}; };
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
#plugins = [ #plugins = [
#inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars #inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars
#inputs.Hyprspace.packages.${pkgs.system}.Hyprspace #inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
#]; #];
settings = { settings = {
@ -55,8 +50,7 @@
input = { input = {
"kb_layout" = "us, cz, ru"; "kb_layout" = "us, cz, ru";
"follow_mouse" = "1"; "follow_mouse" = "1";
"kb_options" = "caps:swapecase";
#"kb_options" = "caps:swapecase";
#"kb_options" = "ctrl:nocaps"; #"kb_options" = "ctrl:nocaps";
touchpad = { touchpad = {
@ -114,8 +108,8 @@
"vesktop --start-minimized" "vesktop --start-minimized"
"ferdium --minimized" "ferdium --minimized"
"kdeconnect-indicator" "kdeconnect-indicator"
#"swww-daemon --format xrgb" "swww-daemon --format xrgb"
#"swww ../../aurora_borealis.png" "swww ../../aurora_borealis.png"
"hypridle" "hypridle"
"waybar" "waybar"
"swayosd-server" "swayosd-server"
@ -126,18 +120,18 @@
"dunst" "dunst"
"wl-paste --type text --watch cliphist store # clipboard store text data" "wl-paste --type text --watch cliphist store # clipboard store text data"
"wl-paste --type image --watch cliphist store # clipboard store image data" "wl-paste --type image --watch cliphist store # clipboard store image data"
#"$scrPath/batterynotify.sh # battery notification" "$scrPath/batterynotify.sh # battery notification"
#"$scrPath/resetxdgportal.sh # reset XDPH for screenshare" "$scrPath/resetxdgportal.sh # reset XDPH for screenshare"
#"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH" #"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH"
#"dbus-update-activation-environment --systemd --all # for XDPH" #"dbus-update-activation-environment --systemd --all # for XDPH"
#"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH" #"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH"
#"$scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps" "$scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps"
]; ];
"$mod" = "SUPER"; "$mod" = "SUPER";
"$term" = "${pkgs.kitty}/bin/kitty"; "$term" = "kitty";
"$editor" = "${pkgs.vscode}/bin/code"; "$editor" = "code";
"$file" = "dolphin"; "$file" = "dolphin";
"$browser" = "librewolf"; "$browser" = "librewolf";
@ -162,7 +156,7 @@
}; };
bindr = [ bindr = [
"ALTSHIFT, Shift_L, exec, keyboardswitch" "ALTSHIFT, Shift_L, exec, keyboardswitch.sh"
"CAPS,Caps_Lock, exec, swayosd-client --caps-lock" "CAPS,Caps_Lock, exec, swayosd-client --caps-lock"
]; ];
@ -175,7 +169,7 @@
bindl = [ bindl = [
# Audio # Audio
",XF86AudioMute, exec, swayosd-client --output-volume mute-toggle" ",XF86AudioMute, exec, swayosd-client --output-volume mute-toggle"
",XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle" ",XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle"
# Media # Media
@ -185,8 +179,8 @@
]; ];
bindel = [ bindel = [
",XF86AudioLowerVolume, exec, swayosd-client --output-volume -1" ",XF86AudioLowerVolume, exec, swayosd-client --output-volume -5"
",XF86AudioRaiseVolume, exec, swayosd-client --output-volume 1" ",XF86AudioRaiseVolume, exec, swayosd-client --output-volume 5"
# Brightness # Brightness
",XF86MonBrightnessUp, exec, swayosd-client --brightness raise" ",XF86MonBrightnessUp, exec, swayosd-client --brightness raise"
",XF86MonBrightnessDown, exec, swayosd-client --brightness lower" ",XF86MonBrightnessDown, exec, swayosd-client --brightness lower"
@ -216,14 +210,14 @@
"Alt, Return, fullscreen" "Alt, Return, fullscreen"
"$mod, Escape, exec, hyprlock" "$mod, Escape, exec, hyprlock"
#"$mod+Shift,F, exec, windowpin.sh" #"$mod+Shift,F, exec, windowpin.sh"
"$mod, Backspace, exec, wlogout -b 2" #"$mod, Backspace, exec, logoutlaunch.sh"
"$Ctrl+Alt, W, exec, killall waybar || waybar" # toggle waybar "$Ctrl+Alt, W, exec, killall waybar || waybar" # toggle waybar
"$mod, T, exec, $term" "$mod, T, exec, $term"
"$mod, F, exec, $browser" "$mod, F, exec, $browser"
"$mod, E, exec, $file" "$mod, E, exec, $file"
"$mod, C, exec, $editor" "$mod, C, exec, $editor"
"Ctrl+Shift, Escape, exec, btop" #"Ctrl+Shift, Escape, exec, $sysmonlaunch.sh"
# Rofi # Rofi
"$mod, A, exec, pkill -x rofi || rofi -show drun" "$mod, A, exec, pkill -x rofi || rofi -show drun"

View File

@ -1,28 +1,27 @@
{pkgs, pkgs-stable, ...}: { {pkgs, lib, ...}: {
home.packages = (with pkgs; [ home.packages = with pkgs; [
hyprlock hyprlock
hyprpicker hyprpicker
hypridle hypridle
dunst rofi
libnotify waybar
swayosd swww
#swww kitty
playerctl kitty-themes
kitty-img
kitty pavucontrol
kitty-img hyprshade
swappy
grimblast
dunst
udiskie
wl-clipboard
cliphist
swayosd
hyprshade
swappy
grimblast
udiskie
wl-clipboard
cliphist
(writeShellScriptBin "dontkillsteam" '' (writeShellScriptBin "dontkillsteam" ''
if [[ $(hyprctl activewindow -j | jq -r ".class") == "Steam" ]]; then if [[ $(hyprctl activewindow -j | jq -r ".class") == "Steam" ]]; then
xdotool windowunmap $(xdotool getactivewindow) xdotool windowunmap $(xdotool getactivewindow)
@ -66,17 +65,10 @@
rm "$temp_screenshot" rm "$temp_screenshot"
'') '')
(writeShellScriptBin "keyboardswitch" '' #(writeShellScriptBin "keyboardswitch")
hyprctl switchxkblayout all next
layMain=$(hyprctl -j devices | jq '.keyboards' | jq '.[] | select (.main == true)' | awk -F '"' '{if ($2=="active_keymap") print $4}')
${libnotify}/bin/notify-send -a "t1" -r 91190 -t 800 "$layMain" -i ~/dotfiles/config/keyboard.svg
'')
#(writeShellScriptBin "windowpin") #(writeShellScriptBin "windowpin")
#(writeShellScriptBin "logoutlaunch") #(writeShellScriptBin "logoutlaunch")
#(writeShellScriptBin "sysmonlaunch") #(writeShellScriptBin "sysmonlaunch")
#(writeShellScriptBin "rofilaunch" '''') #(writeShellScriptBin "rofilaunch" '''')
]) ++ (with pkgs-stable; [ ];
pavucontrol
]);
} }

View File

@ -1,7 +1,6 @@
{ {
lib, lib,
config, config,
pkgs,
... ...
}: { }: {
options = { options = {
@ -9,19 +8,15 @@
}; };
config = lib.mkIf config.rofi.enable { config = lib.mkIf config.rofi.enable {
home.packages = [
pkgs.rofi
];
programs.rofi = { programs.rofi = {
enable = true; enable = true;
cycle = true; cycle = true;
location = "center"; location = "center";
pass = {}; pass = {};
font = lib.mkDefault "JetBrainsMono NF 14"; font = lib.mkDefault "JetBrainsMono NF 14";
theme = let #theme = let
inherit (config.lib.formats.rasi) mkLiteral; # inherit (config.lib.formats.rasi) mkLiteral;
in { #in {
# "*" = { # "*" = {
# main-bg = mkLiteral "#11111be6"; # main-bg = mkLiteral "#11111be6";
# main-fg = mkLiteral "#cdd6f4ff"; # main-fg = mkLiteral "#cdd6f4ff";
@ -33,161 +28,161 @@
# border-color = mkLiteral "transparent"; # border-color = mkLiteral "transparent";
# }; # };
# #
"configuration" = { # "configuration" = {
modi = "drun,filebrowser,window,run"; # modi = "drun,filebrowser,window,run";
show-icons = true; # show-icons = true;
display-drun = ""; # display-drun = " ";
display-run = ""; # display-run = " ";
display-filebrowser = ""; # display-filebrowser = " ";
display-window = ""; # display-window = " ";
drun-display-format = "{name}"; # drun-display-format = "{name}";
window-format = "{w}{t}"; # window-format = "{w}{t}";
font = "JetBrainsMono Nerd Font 10"; # font = "JetBrainsMono Nerd Font 10";
icon-theme = "Tela-circle-dracula"; # icon-theme = "Tela-circle-dracula";
}; # };
#
# Main window settings # # Main window settings
"window" = { # "window" = {
height = mkLiteral "35em"; # height = mkLiteral "35em";
width = mkLiteral "56em"; # width = mkLiteral "56em";
transparency = "real"; # transparency = "real";
fullscreen = false; # fullscreen = false;
enabled = true; # enabled = true;
cursor = "default"; # cursor = "default";
spacing = mkLiteral "0em"; # spacing = mkLiteral "0em";
padding = mkLiteral "0em"; # padding = mkLiteral "0em";
#border-color = mkLiteral "@main-br"; # replace with actual color hex if needed # border-color = mkLiteral "@main-br"; # replace with actual color hex if needed
#background-color = mkLiteral "@main-bg"; # background-color = mkLiteral "@main-bg";
}; # };
#
# Mainbox settings # # Mainbox settings
"mainbox" = { # "mainbox" = {
enabled = true; # enabled = true;
spacing = mkLiteral "0em"; # spacing = mkLiteral "0em";
padding = mkLiteral "0em"; # padding = mkLiteral "0em";
orientation = mkLiteral "vertical"; # orientation = mkLiteral "vertical";
children = ["inputbar" "listbox"]; # children = ["inputbar" "listbox"];
background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
background-image = mkLiteral "url(\"~/dotfiles/nixos/aurora_borealis.png\", height)"; # background-image = mkLiteral "url(\"~/.cache/hyde/wall.blur\", height)";
}; # };
#
# Input bar settings # # Input bar settings
"inputbar" = { # "inputbar" = {
enabled = true; # enabled = true;
spacing = mkLiteral "0em"; # spacing = mkLiteral "0em";
padding = mkLiteral "5em"; # padding = mkLiteral "5em";
children = ["entry"]; # children = ["entry"];
background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
background-image = mkLiteral "url(\"~/dotfiles/nixos/aurora_borealis.png\", width)"; # background-image = mkLiteral "url(\"~/.cache/hyde/wall.thmb\", width)";
}; # };
#
# Entry field settings # # Entry field settings
"entry" = { # "entry" = {
border-radius = mkLiteral "2em"; # border-radius = mkLiteral "2em";
enabled = true; # enabled = true;
spacing = mkLiteral "1em"; # spacing = mkLiteral "1em";
padding = mkLiteral "1em"; # padding = mkLiteral "1em";
#text-color = mkLiteral "@main-fg"; # text-color = mkLiteral "@main-fg";
#background-color = mkLiteral "@main-bg"; # background-color = mkLiteral "@main-bg";
}; # };
#
# Listbox settings # # Listbox settings
"listbox" = { # "listbox" = {
padding = mkLiteral "0em"; # padding = mkLiteral "0em";
spacing = mkLiteral "0em"; # spacing = mkLiteral "0em";
orientation = mkLiteral "horizontal"; # orientation = mkLiteral "horizontal";
children = ["listview" "mode-switcher"]; # children = ["listview" "mode-switcher"];
#background-color = mkLiteral "@main-bg"; # background-color = mkLiteral "@main-bg";
}; # };
#
# List view settings # # List view settings
"listview" = { # "listview" = {
padding = mkLiteral "1.5em"; # padding = mkLiteral "1.5em";
spacing = mkLiteral "0.5em"; # spacing = mkLiteral "0.5em";
enabled = true; # enabled = true;
columns = 2; # columns = 2;
lines = 3; # lines = 3;
cycle = true; # cycle = true;
dynamic = true; # dynamic = true;
scrollbar = false; # scrollbar = false;
layout = "vertical"; # layout = "vertical";
reverse = false; # reverse = false;
fixed-height = true; # fixed-height = true;
fixed-columns = true; # fixed-columns = true;
cursor = "default"; # cursor = "default";
background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
#text-color = mkLiteral "@main-fg"; # text-color = mkLiteral "@main-fg";
}; # };
#
# Mode switcher settings # # Mode switcher settings
"mode-switcher" = { # "mode-switcher" = {
orientation = mkLiteral "vertical"; # orientation = mkLiteral "vertical";
width = mkLiteral "6.6em"; # width = mkLiteral "6.6em";
enabled = true; # enabled = true;
padding = mkLiteral "1.5em"; # padding = mkLiteral "1.5em";
spacing = mkLiteral "1.5em"; # spacing = mkLiteral "1.5em";
background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
}; # };
#
# Button settings # # Button settings
"button" = { # "button" = {
cursor = "pointer"; # cursor = "pointer";
border-radius = mkLiteral "2em"; # border-radius = mkLiteral "2em";
#background-color = mkLiteral "@main-bg"; # background-color = mkLiteral "@main-bg";
#text-color = mkLiteral "@main-fg"; # text-color = mkLiteral "@main-fg";
}; # };
"button selected" = { # "button selected" = {
#background-color = mkLiteral "@main-fg"; # background-color = mkLiteral "@main-fg";
#text-color = mkLiteral "@main-bg"; # text-color = mkLiteral "@main-bg";
}; # };
#
# Element settings # # Element settings
"element" = { # "element" = {
enabled = true; # enabled = true;
spacing = mkLiteral "0em"; # spacing = mkLiteral "0em";
padding = mkLiteral "0.5em"; # padding = mkLiteral "0.5em";
cursor = "pointer"; # cursor = "pointer";
background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
#text-color = mkLiteral "@main-fg"; # text-color = mkLiteral "@main-fg";
}; # };
"element selected.normal" = { # "element selected.normal" = {
#background-color = mkLiteral "@select-bg"; # background-color = mkLiteral "@select-bg";
#text-color = mkLiteral "@select-fg"; # text-color = mkLiteral "@select-fg";
}; # };
#
# Icon element settings # # Icon element settings
"element-icon" = { # "element-icon" = {
size = mkLiteral "3em"; # size = mkLiteral "3em";
cursor = "inherit"; # cursor = "inherit";
#background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
#text-color = mkLiteral "inherit"; # text-color = mkLiteral "inherit";
}; # };
#
# Text element settings # # Text element settings
"element-text" = { # "element-text" = {
vertical-align = mkLiteral "0.5"; # vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0"; # horizontal-align = mkLiteral "0.0";
cursor = "inherit"; # cursor = "inherit";
#background-color = mkLiteral "transparent"; # background-color = mkLiteral "transparent";
#text-color = mkLiteral "inherit"; # text-color = mkLiteral "inherit";
}; # };
#
# Error message settings # # Error message settings
"error-message" = { # "error-message" = {
#text-color = mkLiteral "@main-fg"; # text-color = mkLiteral "@main-fg";
#background-color = mkLiteral "@main-bg"; # background-color = mkLiteral "@main-bg";
text-transform = mkLiteral "capitalize"; # text-transform = mkLiteral "capitalize";
children = ["textbox"]; # children = ["textbox"];
}; # };
#
# Textbox settings # # Textbox settings
"textbox" = { # "textbox" = {
#text-color = mkLiteral "inherit"; # text-color = mkLiteral "inherit";
#background-color = mkLiteral "inherit"; # background-color = mkLiteral "inherit";
vertical-align = mkLiteral "0.5"; # vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.5"; # horizontal-align = mkLiteral "0.5";
}; # };
}; #};
}; };
}; };
} }

View File

@ -1,7 +1,6 @@
{ {
lib, lib,
config, config,
pkgs,
... ...
}: { }: {
options = { options = {
@ -9,10 +8,6 @@
}; };
config = lib.mkIf config.waybar.enable { config = lib.mkIf config.waybar.enable {
home.packages = [
pkgs.waybar
];
programs.waybar = { programs.waybar = {
enable = true; enable = true;
@ -75,15 +70,15 @@
"m" = 30; # medium "m" = 30; # medium
}; };
interval = 30; interval = 30;
format = "󰾆 {used}GB"; format = "󰾆 {used}GB";
#rotate = ${r_deg}; #rotate = ${r_deg};
format-m = "󰾅 {used}GB"; format-m = "󰾅 {used}GB";
format-h = "󰓅 {used}GB"; format-h = "󰓅 {used}GB";
format-c = " {used}GB"; format-c = " {used}GB";
format-alt = "󰾆 {percentage}%"; format-alt = "󰾆 {percentage}%";
max-length = 10; max-length = 10;
tooltip = true; tooltip = true;
tooltip-format = "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"; tooltip-format = "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB";
}; };
"bluetooth" = { "bluetooth" = {
@ -172,8 +167,8 @@
rotate = 0; rotate = 0;
format = "{icon} {percent}%"; format = "{icon} {percent}%";
format-icons = ["" "" "" "" "" "" "" "" ""]; format-icons = ["" "" "" "" "" "" "" "" ""];
on-scroll-up = "${pkgs.swayosd}/bin/swayosd-client --brightness raise"; on-scroll-up = " swayosd-client --brightness raise";
on-scroll-down = "${pkgs.swayosd}/bin/swayosd-client --brightness lower"; on-scroll-down = " swayosd-client --brightness lower";
min-length = 6; min-length = 6;
}; };
@ -195,18 +190,18 @@
rotate = 0; rotate = 0;
format-muted = ""; format-muted = "";
on-click = "pavucontrol -t 3"; on-click = "pavucontrol -t 3";
on-click-middle = "swayosd-client --output-volume mute-toggle"; on-click-middle = "volumecontrol.sh -o m";
on-scroll-up = "swayosd-client --output-volume 5"; on-scroll-up = "volumecontrol.sh -o i";
on-scroll-down = "swayosd-client --output-volume -5"; on-scroll-down = "volumecontrol.sh -o d";
tooltip-format = "{icon} {desc} // {volume}%"; tooltip-format = "{icon} {desc} // {volume}%";
scroll-step = 5; scroll-step = 5;
format-icons = { format-icons = {
headphone = " "; headphone = "";
hands-free = " "; hands-free = "";
headset = " "; headset = "";
phone = " "; phone = "";
portable = " "; portable = "";
car = " "; car = "";
default = ["" "" ""]; default = ["" "" ""];
}; };
}; };
@ -217,9 +212,9 @@
format-source = ""; format-source = "";
format-source-muted = ""; format-source-muted = "";
on-click = "pavucontrol -t 4"; on-click = "pavucontrol -t 4";
on-click-middle = "swayosd-client --input-volume mute-toggle"; on-click-middle = "volumecontrol.sh -i m";
on-scroll-up = "swayosd-client --input-volume 5"; on-scroll-up = "volumecontrol.sh -i i";
on-scroll-down = "swayosd-client --input-volume -5"; on-scroll-down = "volumecontrol.sh -i d";
tooltip-format = "{format_source} {source_desc} // {source_volume}%"; tooltip-format = "{format_source} {source_desc} // {source_volume}%";
scroll-step = 5; scroll-step = 5;
}; };
@ -236,11 +231,11 @@
}; };
"custom/power" = { "custom/power" = {
format = " {}"; format = "{}";
rotate = 0; rotate = 0;
exec = "echo ; echo logout"; exec = "echo ; echo logout";
on-click = "wlogout -b 2"; on-click = "logoutlaunch.sh 2";
on-click-right = "wlogout -b 2"; on-click-right = "logoutlaunch.sh 1";
interval = 86400; # once every day interval = 86400; # once every day
tooltip = true; tooltip = true;
}; };

View File

@ -1,147 +0,0 @@
{
lib,
config,
pkgs,
...
}: {
options = {
wlogout.enable = lib.mkEnableOption "enable wlogout module";
};
config = lib.mkIf config.wlogout.enable {
programs.wlogout = {
enable = true;
layout = [
{
"label" = "lock";
"action" = "swaylock";
"text" = "Lock";
"keybind" = "l";
}
{
"label" = "logout";
"action" = "hyprctl dispatch exit 0";
"text" = "Logout";
"keybind" = "e";
}
{
"label" = "shutdown";
"action" = "systemctl poweroff";
"text" = "Shutdown";
"keybind" = "s";
}
{
"label" = "reboot";
"action" = "systemctl reboot";
"text" = "Reboot";
"keybind" = "r";
}
];
style =
let
fntSize = "40";
BtnCol = config.lib.stylix.colors.base01;
active_rad = "40";
y_hvr = "5";
x_hvr = "5";
button_rad = "20";
y_mgn = "5";
x_mgn = "5";
in ''
@define-color bar-bg rgba(0, 0, 0, 0);
@define-color main-bg #11111b;
@define-color main-fg #cdd6f4;
@define-color wb-act-bg #a6adc8;
@define-color wb-act-fg #313244;
@define-color wb-hvr-bg #f5c2e7;
@define-color wb-hvr-fg #313244;
* {
background-image: none;
font-size: ${fntSize}px;
}
window {
background-color: transparent;
}
button {
color: #${BtnCol};
background-color: @main-bg;
outline-style: none;
border: none;
border-width: 0px;
background-repeat: no-repeat;
background-position: center;
background-size: 10%;
border-radius: 0px;
box-shadow: none;
text-shadow: none;
animation: gradient_f 20s ease-in infinite;
}
button:focus {
background-color: @wb-act-bg;
background-size: 20%;
}
button:hover {
background-color: @wb-hvr-bg;
background-size: 25%;
border-radius: ${active_rad}px;
animation: gradient_f 20s ease-in infinite;
transition: all 0.3s cubic-bezier(.55,0.0,.28,1.682);
}
button:hover#lock {
border-radius: ${active_rad}px ${active_rad}px 0px ${active_rad}px;
margin : ${y_hvr}px 0px 0px ${x_hvr}px;
}
button:hover#logout {
border-radius: ${active_rad}px 0px ${active_rad}px ${active_rad}px;
margin : 0px 0px ${y_hvr}px ${x_hvr}px;
}
button:hover#shutdown {
border-radius: ${active_rad}px ${active_rad}px ${active_rad}px 0px;
margin : ${y_hvr}px ${x_hvr}px 0px 0px;
}
button:hover#reboot {
border-radius: 0px ${active_rad}px ${active_rad}px ${active_rad}px;
margin : 0px ${x_hvr}px ${y_hvr}px 0px;
}
#lock {
border-radius: ${button_rad}px 0px 0px 0px;
margin : ${y_mgn}px 0px 0px ${x_mgn}px;
}
#logout {
border-radius: 0px 0px 0px ${button_rad}px;
margin : 0px 0px ${y_mgn}px ${x_mgn}px;
}
#shutdown {
border-radius: 0px ${button_rad}px 0px 0px;
margin : ${y_mgn}px ${x_mgn}px 0px 0px;
}
#reboot {
border-radius: 0px 0px ${button_rad}px 0px;
margin : 0px ${x_mgn}px ${y_mgn}px 0px;
}
'';
};
home.packages = [
pkgs.wlogout
];
};
}

View File

@ -1,7 +1,6 @@
{ {
lib, lib,
pkgs, pkgs,
pkgs-stable,
config, config,
... ...
}: { }: {
@ -14,27 +13,24 @@
]; ];
config = lib.mkIf config.applications.enable { config = lib.mkIf config.applications.enable {
home.packages = home.packages = with pkgs; [
(with pkgs; [ librewolf
librewolf vesktop
ferdium ferdium
stellarium gnome.simple-scan
libreoffice
localsend stellarium
plasma5Packages.kdeconnect-kde libreoffice
qbittorrent localsend
vlc plasma5Packages.kdeconnect-kde
#tor-browser qbittorrent
openrocket vlc
spotify #tor-browser
spotube openrocket
inkscape spotify
]) spotube
++ (with pkgs-stable; [ inkscape
loupe ];
simple-scan
vesktop
]);
}; };
} }

View File

@ -13,7 +13,6 @@
vitetris vitetris
steam steam
heroic heroic
gamescope
wine wine
(writeShellScriptBin "nvidia-offload" '' (writeShellScriptBin "nvidia-offload" ''

View File

@ -27,7 +27,7 @@
jq jq
conda conda
jetbrains.webstorm jetbrains.webstorm
#jetbrains.pycharm-professional jetbrains.pycharm-professional
dotnet-sdk_8 dotnet-sdk_8
nodejs nodejs
pnpm pnpm

View File

@ -1,45 +0,0 @@
{config, ...}: {
hardware = {
graphics.enable = true;
};
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
prime.amdgpuBusId = "pci@000:04:0";
prime.nvidiaBusId = "pci@000:01:0";
prime.offload = {
enable = true;
enableOffloadCmd = true;
};
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
}