merge: sync with desktop
This commit is contained in:
parent
95173c0c75
commit
0b930a90fd
277
flake.lock
277
flake.lock
|
@ -1,5 +1,38 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723405438,
|
||||||
|
"narHash": "sha256-bpmC2m7OhlDvqgQZdZ2jBLyeIkq/Jld3X4bqRAxBSp8=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "9312aa28271c91e5d67ecb9def527b2bbcff0e66",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -23,11 +56,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721135958,
|
"lastModified": 1723399884,
|
||||||
"narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=",
|
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d",
|
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -36,13 +69,191 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722623071,
|
||||||
|
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland": {
|
||||||
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
|
"hyprutils": "hyprutils",
|
||||||
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"systems": "systems",
|
||||||
|
"xdph": "xdph"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723570020,
|
||||||
|
"narHash": "sha256-+kPQXd+WSXj/wW1hhPre8Nzn6c4XmUJEv5tTNYyDgvU=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "39df1f4dbfedf97a7f30f9de359f3b3415844380",
|
||||||
|
"revCount": 5084,
|
||||||
|
"submodules": true,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"submodules": true,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-protocols": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"xdph",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"xdph",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721326555,
|
||||||
|
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprlang": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721324361,
|
||||||
|
"narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprutils": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722869141,
|
||||||
|
"narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"rev": "0252fd13e78e60fb0da512a212e56007515a49f7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprwayland-scanner": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721324119,
|
||||||
|
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprwayland-scanner",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1723175592,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723362943,
|
||||||
|
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -55,7 +266,8 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"hyprland": "hyprland",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
"spicetify-nix": "spicetify-nix"
|
"spicetify-nix": "spicetify-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -67,11 +279,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721103144,
|
"lastModified": 1723542043,
|
||||||
"narHash": "sha256-vHGUl/kagv0/QsPXMW+caSPyuvHvMUJSV80cbe+0/2M=",
|
"narHash": "sha256-Oq3umTh8Xm7pDkE/GrIqv5CG8laT/AyHKwpenw2kP7w=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"rev": "085ddf8abc78a7f1682c99715584e8735f4903cf",
|
"rev": "d3a7ad3d15ffee841bb8940c0162f3eaa1554598",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -79,6 +291,51 @@
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xdph": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722365976,
|
||||||
|
"narHash": "sha256-Khdm+mDzYA//XaU0M+hftod+rKr5q9SSHSEuiQ0/9ow=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"rev": "7f2a77ddf60390248e2a3de2261d7102a13e5341",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
url = "github:Gerg-L/spicetify-nix";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
|
@ -73,22 +73,31 @@
|
||||||
## Tools
|
## Tools
|
||||||
# Utilities
|
# Utilities
|
||||||
brightnessctl
|
brightnessctl
|
||||||
discord
|
|
||||||
fastfetch
|
fastfetch
|
||||||
firefox
|
firefox
|
||||||
pavucontrol
|
pavucontrol
|
||||||
|
protonvpn-gui
|
||||||
qbittorrent
|
qbittorrent
|
||||||
qdirstat
|
qdirstat
|
||||||
speedcrunch
|
speedcrunch
|
||||||
vesktop
|
|
||||||
vlc
|
vlc
|
||||||
yt-dlp
|
yt-dlp
|
||||||
zathura
|
zathura
|
||||||
|
|
||||||
|
# Personal utilities
|
||||||
|
ledger
|
||||||
|
vesktop
|
||||||
|
|
||||||
# Editing
|
# Editing
|
||||||
krita
|
|
||||||
libreoffice
|
libreoffice
|
||||||
|
|
||||||
|
# Creative work
|
||||||
|
blender
|
||||||
|
krita
|
||||||
|
lmms
|
||||||
|
orca-slicer
|
||||||
shotcut
|
shotcut
|
||||||
|
vcv-rack
|
||||||
|
|
||||||
## Entertainment
|
## Entertainment
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
|
|
54
nixos.nix
54
nixos.nix
|
@ -2,8 +2,16 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
hyprland,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
hyprland-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
##
|
##
|
||||||
## NIXOS ##
|
## NIXOS ##
|
||||||
|
@ -35,6 +43,12 @@
|
||||||
nix.optimise.automatic = true;
|
nix.optimise.automatic = true;
|
||||||
nix.settings.auto-optimise-store = true;
|
nix.settings.auto-optimise-store = true;
|
||||||
|
|
||||||
|
# Enable Hyprland's cachix
|
||||||
|
nix.settings.substituters = [ "https://hyprland.cachix.org" ];
|
||||||
|
nix.settings.trusted-public-keys = [
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
|
];
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
@ -184,10 +198,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable QMK support.
|
# Enable QMK support.
|
||||||
hardware.keyboard.qmk.enable = true;
|
# hardware.keyboard.qmk.enable = true;
|
||||||
|
# FIXME: Causing issues with xpadneo :(
|
||||||
|
|
||||||
# Enable the udev rules Steam recommends for controllers.
|
# enable a better driver for wireless xbox controllers.
|
||||||
hardware.steam-hardware.enable = true;
|
hardware.xpadneo.enable = true;
|
||||||
|
|
||||||
# Enable fstrim for better ssd lifespan
|
# Enable fstrim for better ssd lifespan
|
||||||
services.fstrim.enable = true;
|
services.fstrim.enable = true;
|
||||||
|
@ -200,18 +215,22 @@
|
||||||
services.displayManager.sddm = {
|
services.displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
theme = "${import ./theming/sddm { inherit pkgs; }}";
|
theme = "catppuccin-frappe";
|
||||||
|
package = pkgs.kdePackages.sddm;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable Hyprland
|
# Enable Hyprland
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||||
|
portalPackage = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
};
|
||||||
|
|
||||||
# Enable XDG Desktop Portals.
|
# Enable XDG Desktop Portals.
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ];
|
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
common = {
|
common = {
|
||||||
default = [ "hyprland" ];
|
default = [ "hyprland" ];
|
||||||
|
@ -230,6 +249,9 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
|
|
||||||
|
package = hyprland-pkgs.mesa.drivers;
|
||||||
|
package32 = hyprland-pkgs.pkgsi686Linux.mesa.drivers;
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
rocm-opencl-icd # OpenGL hwa
|
rocm-opencl-icd # OpenGL hwa
|
||||||
rocm-opencl-runtime
|
rocm-opencl-runtime
|
||||||
|
@ -280,6 +302,7 @@
|
||||||
# Enable Steam.
|
# Enable Steam.
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
remotePlay.openFirewall = true;
|
remotePlay.openFirewall = true;
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
# ^ Enables so we can transfer games to other computers in the network.
|
# ^ Enables so we can transfer games to other computers in the network.
|
||||||
|
@ -303,6 +326,7 @@
|
||||||
# Enable virt-manager
|
# Enable virt-manager
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
|
virtualisation.spiceUSBRedirection.enable = true;
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
|
@ -311,7 +335,9 @@
|
||||||
# Utilities
|
# Utilities
|
||||||
bat
|
bat
|
||||||
duf
|
duf
|
||||||
|
fuseiso
|
||||||
lm_sensors
|
lm_sensors
|
||||||
|
p7zip
|
||||||
tree
|
tree
|
||||||
unrar
|
unrar
|
||||||
unzip
|
unzip
|
||||||
|
@ -330,6 +356,15 @@
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
xclip
|
xclip
|
||||||
zoxide
|
zoxide
|
||||||
|
(catppuccin-sddm.override # So SDDM finds the theme files.
|
||||||
|
{
|
||||||
|
flavor = "frappe";
|
||||||
|
font = "FantasqueSansM Nerd Font";
|
||||||
|
fontSize = "12";
|
||||||
|
background = "${./theming/sddm/Background.jpg}";
|
||||||
|
loginBackground = true;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
gping
|
gping
|
||||||
|
@ -364,7 +399,8 @@
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
# Enables VIA
|
# Enables VIA
|
||||||
services.udev.packages = [ pkgs.via ];
|
# services.udev.packages = [ pkgs.via ];
|
||||||
|
# FIXME: Causing issues with xpadneo :(
|
||||||
|
|
||||||
# Enable and configure PostgreSQL.
|
# Enable and configure PostgreSQL.
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.emacs.enable = true;
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
# CORE
|
||||||
|
git
|
||||||
|
emacs
|
||||||
|
ripgrep
|
||||||
|
|
||||||
# Optional for DOOM
|
# Optional for DOOM
|
||||||
clang
|
clang
|
||||||
coreutils
|
coreutils
|
||||||
|
@ -16,37 +19,15 @@
|
||||||
pt_BR
|
pt_BR
|
||||||
]
|
]
|
||||||
)) # for flyspell
|
)) # for flyspell
|
||||||
gnuplot # for plotting graphs
|
gnuplot_qt # for plotting graphs
|
||||||
languagetool # for grammar
|
languagetool # for grammar
|
||||||
ledger # for accounting and org-ledger
|
ledger # for accounting and org-ledger
|
||||||
|
gzip # Otherwise random errors occur from the onChange script
|
||||||
];
|
];
|
||||||
|
|
||||||
# Neatly place the configuration files for doom in their right place.
|
# Neatly place the configuration files for doom in their right place.
|
||||||
xdg.configFile."doom" =
|
xdg.configFile."doom" = {
|
||||||
let
|
source = ./doom;
|
||||||
# What DOOM needs to be able to install/sync.
|
recursive = true;
|
||||||
packagesNeeded = with pkgs; [
|
};
|
||||||
git
|
|
||||||
emacs
|
|
||||||
ripgrep
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
source = ./doom;
|
|
||||||
recursive = true;
|
|
||||||
|
|
||||||
onChange = # sh
|
|
||||||
''
|
|
||||||
# Need to set this so DOOM can find all binaries.
|
|
||||||
export PATH="${lib.strings.concatMapStrings (x: x + "/bin:") packagesNeeded}$PATH"
|
|
||||||
|
|
||||||
if [ ! -d "$HOME/.emacs.d" ]; then
|
|
||||||
git clone https://github.com/hlissner/doom-emacs $HOME/.emacs.d
|
|
||||||
$HOME/.emacs.d/bin/doom install
|
|
||||||
else
|
|
||||||
# Needed to apply the configuration changes.
|
|
||||||
$HOME/.emacs.d/bin/doom sync
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
:term
|
:term
|
||||||
;;eshell ; the elisp shell that works everywhere
|
;;eshell ; the elisp shell that works everywhere
|
||||||
;;shell ; simple shell REPL for Emacs
|
;;shell ; simple shell REPL for Emacs
|
||||||
;;term ; basic terminal emulator for Emacs
|
term ; basic terminal emulator for Emacs
|
||||||
;;vterm ; the best terminal emulation in Emacs
|
;;vterm ; the best terminal emulation in Emacs
|
||||||
|
|
||||||
:checkers
|
:checkers
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
del = "trash_file";
|
del = "trash_file";
|
||||||
|
dev = "nix develop -c fish";
|
||||||
|
doom = "~/.emacs.d/bin/doom";
|
||||||
};
|
};
|
||||||
|
|
||||||
functions = {
|
functions = {
|
||||||
|
|
|
@ -52,7 +52,7 @@ gpu_device=1
|
||||||
; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
|
; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
|
||||||
; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures
|
; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures
|
||||||
; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now
|
; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now
|
||||||
amd_performance_level=high
|
amd_performance_level=auto
|
||||||
|
|
||||||
[supervisor]
|
[supervisor]
|
||||||
; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for
|
; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for
|
||||||
|
|
|
@ -1,275 +1,351 @@
|
||||||
{
|
{
|
||||||
wayland.windowManager.hyprland = {
|
xdg.configFile."hypr/frappe.conf".source = builtins.fetchurl {
|
||||||
enable = true;
|
url = "https://raw.githubusercontent.com/catppuccin/hyprland/main/themes/frappe.conf";
|
||||||
|
sha256 = "1clw669i1n3dhawdw4clmjv75fy3smycb5iqk3sanzpr3y0i4vwx";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable hypridle and hyprlock
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
ignore_dbus_inhibit = false;
|
||||||
|
lock_cmd = "hyprlock";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 300;
|
||||||
|
on-timeout = "hyprlock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 480;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
extraConfig = # hyprlang
|
extraConfig = # hyprlang
|
||||||
''
|
''
|
||||||
# Catppuccin Macchiato - https://github.com/catppuccin/hyprland
|
source = $HOME/.config/hypr/frappe.conf
|
||||||
$rosewaterAlpha = rgb(f4dbd6)
|
|
||||||
$flamingoAlpha = rgb(f0c6c6)
|
|
||||||
$pinkAlpha = rgb(f5bde6)
|
|
||||||
$mauveAlpha = rgb(c6a0f6)
|
|
||||||
$redAlpha = rgb(ed8796)
|
|
||||||
$maroonAlpha = rgb(ee99a0)
|
|
||||||
$peachAlpha = rgb(f5a97f)
|
|
||||||
$yellowAlpha = rgb(eed49f)
|
|
||||||
$greenAlpha = rgb(a6da95)
|
|
||||||
$tealAlpha = rgb(8bd5ca)
|
|
||||||
$skyAlpha = rgb(91d7e3)
|
|
||||||
$sapphireAlpha = rgb(7dc4e4)
|
|
||||||
$blueAlpha = rgb(8aadf4)
|
|
||||||
$lavenderAlpha = rgb(b7bdf8)
|
|
||||||
|
|
||||||
$textAlpha = rgb(cad3f5)
|
$accent = $mauve
|
||||||
$subtext1Alpha = rgb(b8c0e0)
|
$accentAlpha = $mauveAlpha
|
||||||
$subtext0Alpha = rgb(a5adcb)
|
$font = JetBrainsMono Nerd Font
|
||||||
|
|
||||||
$overlay2Alpha = rgb(939ab7)
|
|
||||||
$overlay1Alpha = rgb(8087a2)
|
|
||||||
$overlay0Alpha = rgb(6e738d)
|
|
||||||
|
|
||||||
$surface2Alpha = rgb(5b6078)
|
|
||||||
$surface1Alpha = rgb(494d64)
|
|
||||||
$surface0Alpha = rgb(363a4f)
|
|
||||||
|
|
||||||
$baseAlpha = rgb(24273a)
|
|
||||||
$mantleAlpha = rgb(1e2030)
|
|
||||||
$crustAlpha = rgb(181926)
|
|
||||||
|
|
||||||
$rosewater = 0xfff5e0dc
|
|
||||||
$flamingo = 0xfff2cdcd
|
|
||||||
$pink = 0xfff5c2e7
|
|
||||||
$mauve = 0xffcba6f7
|
|
||||||
$red = 0xfff38ba8
|
|
||||||
$maroon = 0xffeba0ac
|
|
||||||
$peach = 0xfffab387
|
|
||||||
$yellow = 0xfff9e2af
|
|
||||||
$green = 0xffa6e3a1
|
|
||||||
$teal = 0xff94e2d5
|
|
||||||
$sky = 0xff89dceb
|
|
||||||
$sapphire = 0xff74c7ec
|
|
||||||
$blue = 0xff89b4fa
|
|
||||||
$lavender = 0xffb4befe
|
|
||||||
|
|
||||||
$text = 0xffcdd6f4
|
|
||||||
$subtext1 = 0xffbac2de
|
|
||||||
$subtext0 = 0xffa6adc8
|
|
||||||
|
|
||||||
$overlay2 = 0xff9399b2
|
|
||||||
$overlay1 = 0xff7f849c
|
|
||||||
$overlay0 = 0xff6c7086
|
|
||||||
|
|
||||||
$surface2 = 0xff585b70
|
|
||||||
$surface1 = 0xff45475a
|
|
||||||
$surface0 = 0xff313244
|
|
||||||
|
|
||||||
$base = 0xff1e1e2e
|
|
||||||
$mantle = 0xff181825
|
|
||||||
$crust = 0xff11111b
|
|
||||||
|
|
||||||
#
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
#
|
|
||||||
|
|
||||||
autogenerated = 0 # remove this line to remove the warning
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor = eDP-1, 1920x1080@60.00800, 0x0, 1
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
|
||||||
|
|
||||||
# Inject home-manager session variables
|
|
||||||
exec-once = /etc/profiles/per-user/wizardlink/etc/profile.d/hm-session-vars.sh
|
|
||||||
|
|
||||||
# Execute your favorite apps at launch
|
|
||||||
exec-once = ~/.local/share/scripts/hyprland/start_services.sh
|
|
||||||
|
|
||||||
# Source a file (multi-file configs)
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
input {
|
|
||||||
kb_layout = us,br,jp
|
|
||||||
kb_variant = ,,kana86
|
|
||||||
kb_model =
|
|
||||||
kb_options = grp:alts_toggle
|
|
||||||
kb_rules =
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
float_switch_override_focus = 1
|
|
||||||
|
|
||||||
accel_profile = flat
|
|
||||||
force_no_accel = true
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
|
|
||||||
tablet {
|
|
||||||
output = eDP-1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
# GENERAL
|
||||||
general {
|
general {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
disable_loading_bar = true
|
||||||
|
hide_cursor = true
|
||||||
gaps_in = 6
|
|
||||||
gaps_out = 18
|
|
||||||
border_size = 2
|
|
||||||
col.active_border = $base $surface0 $green 45deg
|
|
||||||
col.inactive_border = $base $surface0 $blue 45deg
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
}
|
||||||
|
|
||||||
decoration {
|
# BACKGROUND
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
background {
|
||||||
|
monitor =
|
||||||
rounding = 8
|
path = $HOME/internal/personal/wallpapers/wallhaven-2em8y6.jpg
|
||||||
# FIXME: Check these deprecations.
|
blur_passes = 0
|
||||||
#blur = yes
|
color = $base
|
||||||
#blur_size = 3
|
|
||||||
#blur_passes = 1
|
|
||||||
#blur_new_optimizations = on
|
|
||||||
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = $crust
|
|
||||||
}
|
}
|
||||||
|
|
||||||
animations {
|
# LAYOUT
|
||||||
enabled = yes
|
label {
|
||||||
|
monitor =
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
text = Layout: $LAYOUT
|
||||||
|
color = $text
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
font_size = 25
|
||||||
|
font_family = $font
|
||||||
animation = windows, 1, 7, myBezier
|
position = 30, -30
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
halign = left
|
||||||
animation = border, 1, 10, default
|
valign = top
|
||||||
animation = borderangle, 1, 8, default
|
|
||||||
animation = fade, 1, 7, default
|
|
||||||
animation = workspaces, 1, 6, default
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dwindle {
|
# TIME
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
label {
|
||||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
monitor =
|
||||||
preserve_split = yes # you probably want this
|
text = $TIME
|
||||||
|
color = $text
|
||||||
|
font_size = 90
|
||||||
|
font_family = $font
|
||||||
|
position = -30, 0
|
||||||
|
halign = right
|
||||||
|
valign = top
|
||||||
}
|
}
|
||||||
|
|
||||||
master {
|
# DATE
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
label {
|
||||||
new_status = slave
|
monitor =
|
||||||
|
text = cmd[update:43200000] date +"%A, %d %B %Y"
|
||||||
|
color = $text
|
||||||
|
font_size = 25
|
||||||
|
font_family = $font
|
||||||
|
position = -30, -150
|
||||||
|
halign = right
|
||||||
|
valign = top
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
# USER AVATAR
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
image {
|
||||||
workspace_swipe = off
|
monitor =
|
||||||
|
path = $HOME/.face
|
||||||
|
size = 100
|
||||||
|
border_color = $accent
|
||||||
|
position = 0, 75
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
}
|
}
|
||||||
|
|
||||||
# Example windowrule v1
|
# INPUT FIELD
|
||||||
# windowrule = float, ^(kitty)$
|
input-field {
|
||||||
# Example windowrule v2
|
monitor =
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
size = 300, 60
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
outline_thickness = 4
|
||||||
|
dots_size = 0.2
|
||||||
# Bind workspaces to specific monitors
|
dots_spacing = 0.2
|
||||||
workspace = 1, monitor:eDP-1
|
dots_center = true
|
||||||
workspace = 2, monitor:eDP-1
|
outer_color = $accent
|
||||||
workspace = 3, monitor:eDP-1
|
inner_color = $surface0
|
||||||
workspace = 4, monitor:eDP-1
|
font_color = $text
|
||||||
workspace = 5, monitor:eDP-1
|
fade_on_empty = false
|
||||||
workspace = 6, monitor:eDP-1
|
placeholder_text = <span foreground="##$textAlpha"><i> Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
|
||||||
workspace = 7, monitor:eDP-1
|
hide_input = false
|
||||||
workspace = 8, monitor:eDP-1
|
check_color = $accent
|
||||||
workspace = 9, monitor:eDP-1
|
fail_color = $red
|
||||||
workspace = 0, monitor:eDP-1
|
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
||||||
|
capslock_color = $yellow
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
position = 0, -47
|
||||||
$mainMod = SUPER
|
halign = center
|
||||||
|
valign = center
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
}
|
||||||
bind = $mainMod CTRL, F, fakefullscreen
|
|
||||||
bind = $mainMod CTRL, L, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
|
||||||
bind = $mainMod CTRL, P, exec, ~/.local/share/scripts/hyprland/screenshot_area.sh
|
|
||||||
bind = $mainMod CTRL, V, pin
|
|
||||||
bind = $mainMod SHIFT, F, fullscreen, 1
|
|
||||||
bind = $mainMod SHIFT, P, exec, ~/.local/share/scripts/hyprland/screenshot.sh
|
|
||||||
bind = $mainMod, C, killactive
|
|
||||||
bind = $mainMod, E, exec, thunar
|
|
||||||
bind = $mainMod, F, fullscreen
|
|
||||||
bind = $mainMod, M, exit
|
|
||||||
bind = $mainMod, O, togglesplit # dwindle
|
|
||||||
bind = $mainMod, P, pseudo # dwindle
|
|
||||||
bind = $mainMod, Q, exec, alacritty
|
|
||||||
bind = $mainMod, R, exec, rofi -show drun
|
|
||||||
bind = $mainMod, V, togglefloating
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
bind = $mainMod, H, movefocus, l
|
|
||||||
bind = $mainMod, L, movefocus, r
|
|
||||||
bind = $mainMod, K, movefocus, u
|
|
||||||
bind = $mainMod, J, 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
|
|
||||||
bind = $mainMod SHIFT, H, movewindow, l
|
|
||||||
bind = $mainMod SHIFT, L, movewindow, r
|
|
||||||
bind = $mainMod SHIFT, K, movewindow, u
|
|
||||||
bind = $mainMod SHIFT, J, movewindow, d
|
|
||||||
bind = $mainMod ALT, H, resizeactive, -5% 0
|
|
||||||
bind = $mainMod ALT, L, resizeactive, 5% 0
|
|
||||||
bind = $mainMod ALT, K, resizeactive, 0 -5%
|
|
||||||
bind = $mainMod ALT, J, resizeactive, 0 5%
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Volume changes
|
|
||||||
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+
|
|
||||||
binde = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%-
|
|
||||||
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
||||||
|
|
||||||
# Passthrough binds
|
|
||||||
bind = SHIFT CTRL, F12, pass, ^(com.obsproject.Studio)$
|
|
||||||
|
|
||||||
# Window rules
|
|
||||||
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
|
|
||||||
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
|
||||||
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
|
|
||||||
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
|
||||||
|
|
||||||
# Rules for windowkill
|
|
||||||
windowrule = noborder, ^(steam_app_2726450)$
|
|
||||||
windowrule = pin, ^(steam_app_2726450)$
|
|
||||||
windowrule = opacity 0.9, ^(steam_app_2726450)$
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Configure hyprland - we enable it in NixOS.
|
||||||
|
xdg.configFile."hypr/hyprland.conf".text = # hyprlang
|
||||||
|
''
|
||||||
|
source = $HOME/.config/hypr/frappe.conf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
autogenerated = 0 # remove this line to remove the warning
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor = DP-3, 1920x1080@74.97, 2561x0, 1
|
||||||
|
monitor = DP-2, 2560x1440@165.00, 0x0, 1
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Inject home-manager session variables
|
||||||
|
exec-once = /etc/profiles/per-user/wizardlink/etc/profile.d/hm-session-vars.sh
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
exec-once = ~/.local/share/scripts/hyprland/start_services.sh
|
||||||
|
|
||||||
|
# Set cursor size.
|
||||||
|
env = HYPRCURSOR_SIZE, 36
|
||||||
|
env = XCURSOR_SIZE, 36
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us,br,jp
|
||||||
|
kb_variant = ,,kana86
|
||||||
|
kb_model =
|
||||||
|
kb_options = grp:alts_toggle
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
float_switch_override_focus = 1
|
||||||
|
|
||||||
|
accel_profile = flat
|
||||||
|
force_no_accel = true
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
tablet {
|
||||||
|
output = DP-2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 6
|
||||||
|
gaps_out = 18
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = $base $surface0 $green 45deg
|
||||||
|
col.inactive_border = $base $surface0 $blue 45deg
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 8
|
||||||
|
# FIXME: Check these deprecations.
|
||||||
|
#blur = yes
|
||||||
|
#blur_size = 3
|
||||||
|
#blur_passes = 1
|
||||||
|
#blur_new_optimizations = on
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = $crust
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# 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_status = slave
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Bind workspaces to specific monitors
|
||||||
|
workspace = 1, monitor:DP-2
|
||||||
|
workspace = 2, monitor:DP-3
|
||||||
|
workspace = 3, monitor:DP-2
|
||||||
|
workspace = 4, monitor:DP-3
|
||||||
|
workspace = 5, monitor:DP-2
|
||||||
|
workspace = 6, monitor:DP-3
|
||||||
|
workspace = 7, monitor:DP-2
|
||||||
|
workspace = 8, monitor:DP-3
|
||||||
|
workspace = 9, monitor:DP-2
|
||||||
|
workspace = 0, monitor:DP-3
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod CTRL, F, fullscreenstate, -1 2
|
||||||
|
bind = $mainMod CTRL, L, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||||
|
bind = $mainMod CTRL, P, exec, ~/.local/share/scripts/hyprland/screenshot_area.sh
|
||||||
|
bind = $mainMod CTRL, V, pin
|
||||||
|
bind = $mainMod SHIFT, F, fullscreen, 1
|
||||||
|
bind = $mainMod SHIFT, P, exec, ~/.local/share/scripts/hyprland/screenshot.sh
|
||||||
|
bind = $mainMod, C, killactive
|
||||||
|
bind = $mainMod, E, exec, thunar
|
||||||
|
bind = $mainMod, F, fullscreen
|
||||||
|
bind = $mainMod, M, exit
|
||||||
|
bind = $mainMod, O, togglesplit # dwindle
|
||||||
|
bind = $mainMod, P, pseudo # dwindle
|
||||||
|
bind = $mainMod, Q, exec, alacritty
|
||||||
|
bind = $mainMod, R, exec, rofi -show drun
|
||||||
|
bind = $mainMod, V, togglefloating
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, L, movefocus, r
|
||||||
|
bind = $mainMod, K, movefocus, u
|
||||||
|
bind = $mainMod, J, 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
|
||||||
|
bind = $mainMod SHIFT, H, movewindow, l
|
||||||
|
bind = $mainMod SHIFT, L, movewindow, r
|
||||||
|
bind = $mainMod SHIFT, K, movewindow, u
|
||||||
|
bind = $mainMod SHIFT, J, movewindow, d
|
||||||
|
bind = $mainMod ALT, H, resizeactive, -5% 0
|
||||||
|
bind = $mainMod ALT, L, resizeactive, 5% 0
|
||||||
|
bind = $mainMod ALT, K, resizeactive, 0 -5%
|
||||||
|
bind = $mainMod ALT, J, resizeactive, 0 5%
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Volume changes
|
||||||
|
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%+
|
||||||
|
binde = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 1%-
|
||||||
|
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
|
||||||
|
# Passthrough binds
|
||||||
|
bind = SHIFT CTRL, F12, pass, ^(com.obsproject.Studio)$
|
||||||
|
|
||||||
|
# Window rules for xwaylandvideobridge
|
||||||
|
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
|
||||||
|
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
||||||
|
|
||||||
|
# Rules for windowkill
|
||||||
|
windowrule = noborder, ^(steam_app_2726450)$
|
||||||
|
windowrule = pin, ^(steam_app_2726450)$
|
||||||
|
windowrule = opacity 0.9, ^(steam_app_2726450)$
|
||||||
|
|
||||||
|
# Rules for Awakened PoE
|
||||||
|
windowrulev2 = tag +poe, class:^(steam_app_238960)$
|
||||||
|
windowrulev2 = allowsinput, tag:poe
|
||||||
|
|
||||||
|
windowrulev2 = tag +apt, class:^(awakened-poe-trade)$
|
||||||
|
windowrulev2 = float, tag:apt
|
||||||
|
windowrulev2 = noblur, tag:apt
|
||||||
|
windowrulev2 = noborder, tag:apt
|
||||||
|
windowrulev2 = noshadow, tag:apt
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
|
|
||||||
# TypeScript
|
# TypeScript
|
||||||
(callPackage ../vtsls/package.nix { })
|
typescript-language-server
|
||||||
|
|
||||||
# Rust
|
# Rust
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
vscode-extensions.vadimcn.vscode-lldb.adapter
|
vscode-extensions.vadimcn.vscode-lldb.adapter
|
||||||
|
|
||||||
# Vue
|
# Vue
|
||||||
vscode-extensions.vue.volar
|
vue-language-server
|
||||||
|
|
||||||
# Svelte
|
# Svelte
|
||||||
nodePackages.svelte-language-server
|
nodePackages.svelte-language-server
|
||||||
|
|
|
@ -60,7 +60,7 @@ return {
|
||||||
"svelte",
|
"svelte",
|
||||||
"taplo",
|
"taplo",
|
||||||
"volar",
|
"volar",
|
||||||
"vtsls",
|
"tsserver",
|
||||||
"yamlls",
|
"yamlls",
|
||||||
},
|
},
|
||||||
-- customize language server configuration options passed to `lspconfig`
|
-- customize language server configuration options passed to `lspconfig`
|
||||||
|
@ -72,7 +72,7 @@ return {
|
||||||
nixd = {
|
nixd = {
|
||||||
options = {
|
options = {
|
||||||
nixos = {
|
nixos = {
|
||||||
expr = '(builtins.getFlake ("git+file:///home/wizardlink/.system")).nixosConfigurations.nixos.options',
|
expr = '(builtins.getFlake ("git+file:///home/wizardlink/.system")).nixosConfigurations.wizdesk.options',
|
||||||
},
|
},
|
||||||
home_manager = {
|
home_manager = {
|
||||||
expr =
|
expr =
|
||||||
|
@ -82,6 +82,22 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
tsserver = {
|
||||||
|
init_options = {
|
||||||
|
plugins = {
|
||||||
|
{
|
||||||
|
name = "@vue/typescript-plugin",
|
||||||
|
location = {}, -- Means we need @vue/typescript-plugin in node_modules
|
||||||
|
languages = { "javascript", "typescript", "vue" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filetypes = {
|
||||||
|
"javascript",
|
||||||
|
"typescript",
|
||||||
|
"vue",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
-- customize how language servers are attached
|
-- customize how language servers are attached
|
||||||
handlers = {
|
handlers = {
|
||||||
|
|
|
@ -42,4 +42,7 @@ return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"ledger/vim-ledger",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue