update
This commit is contained in:
parent
8955705261
commit
ec97ec7d6f
20
flake.nix
20
flake.nix
|
@ -34,6 +34,11 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ags = {
|
||||||
|
url = "github:Aylur/ags";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
gruvbox-kvantum = {
|
gruvbox-kvantum = {
|
||||||
url = "github:thefallnn/Gruvbox-Kvantum";
|
url = "github:thefallnn/Gruvbox-Kvantum";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
@ -63,11 +68,6 @@
|
||||||
url = "github:SylEleuth/gruvbox-plus-icon-pack";
|
url = "github:SylEleuth/gruvbox-plus-icon-pack";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
ags = {
|
|
||||||
url = "github:Aylur/ags";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
@ -90,10 +90,6 @@
|
||||||
|
|
||||||
overlays = [
|
overlays = [
|
||||||
self.overlays.default
|
self.overlays.default
|
||||||
inputs.chaotic-nyx.overlays.default
|
|
||||||
inputs.hyprland-contrib.overlays.default
|
|
||||||
inputs.hyprpicker.overlays.default
|
|
||||||
inputs.nixd.overlays.default
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
@ -113,12 +109,14 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.manuel = import ./user/home.nix;
|
users.manuel = import ./user/home.nix;
|
||||||
extraSpecialArgs = {inherit inputs;};
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
inputs.chaotic-nyx.nixosModules.default
|
inputs.chaotic-nyx.nixosModules.default
|
||||||
inputs.hyprland.nixosModules.default
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -25,6 +25,5 @@
|
||||||
version = "1";
|
version = "1";
|
||||||
src = inputs.nvim-hmts;
|
src = inputs.nvim-hmts;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
inputs,
|
inputs,
|
||||||
gtk3,
|
gtk3,
|
||||||
fd,
|
|
||||||
gnome-icon-theme,
|
gnome-icon-theme,
|
||||||
hicolor-icon-theme,
|
hicolor-icon-theme,
|
||||||
}:
|
}:
|
||||||
|
@ -13,22 +12,15 @@ stdenvNoCC.mkDerivation rec {
|
||||||
|
|
||||||
src = inputs.gruvbox-plus-icon-pack;
|
src = inputs.gruvbox-plus-icon-pack;
|
||||||
|
|
||||||
nativeBuildInputs = [gtk3 fd];
|
nativeBuildInputs = [gtk3];
|
||||||
|
|
||||||
propagatedBuildInputs = [gnome-icon-theme hicolor-icon-theme];
|
propagatedBuildInputs = [gnome-icon-theme hicolor-icon-theme];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
cd Gruvbox-Plus-Dark
|
cd Gruvbox-Plus-Dark
|
||||||
fd " " -X rm
|
|
||||||
mkdir -p $out/share/icons/Gruvbox-Plus-Dark
|
mkdir -p $out/share/icons/Gruvbox-Plus-Dark
|
||||||
cp -r * $out/share/icons/Gruvbox-Plus-Dark
|
cp -r * $out/share/icons/Gruvbox-Plus-Dark
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
for i in $out/share/icons/*; do
|
|
||||||
gtk-update-icon-cache $i
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontDropIconThemeCache = true;
|
dontDropIconThemeCache = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
|
||||||
|
index 871ef84b9..6a594cfe4 100644
|
||||||
|
--- a/CMake/Utils/MyGUIConfigTargets.cmake
|
||||||
|
+++ b/CMake/Utils/MyGUIConfigTargets.cmake
|
||||||
|
@@ -421,15 +421,6 @@ function(mygui_config_lib PROJECTNAME)
|
||||||
|
# add GCC visibility flags to shared library build
|
||||||
|
target_compile_options(${PROJECTNAME} PRIVATE ${MYGUI_GCC_VISIBILITY_OPTIONS})
|
||||||
|
target_compile_definitions(${PROJECTNAME} PRIVATE ${MYGUI_GCC_VISIBILITY_DEFINITIONS})
|
||||||
|
- if (APPLE)
|
||||||
|
- # deal with Mac OS X's framework system
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES FRAMEWORK TRUE)
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES PUBLIC_HEADER "${${PROJECTNAME}_HEADERS}")
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES OUTPUT_NAME ${PROJECTNAME})
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES BUILD_WITH_INSTALL_NAME_DIR TRUE)
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES INSTALL_NAME_DIR "@executable_path/../lib")
|
||||||
|
- endif (APPLE)
|
||||||
|
endif ()
|
||||||
|
endif (MYGUI_STATIC)
|
||||||
|
mygui_install_target(${PROJECTNAME} "")
|
|
@ -34,11 +34,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd-boot = {
|
systemd-boot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configurationLimit = 5;
|
configurationLimit = 10;
|
||||||
consoleMode = "max";
|
consoleMode = "max";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme"];
|
boot.initrd.availableKernelModules = ["nvme"];
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = ["amdgpu"];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
extraPackages = [pkgs.libvdpau-va-gl];
|
extraPackages = [pkgs.libvdpau-va-gl];
|
||||||
driSupport32Bit = true;
|
driSupport32Bit = true;
|
||||||
};
|
};
|
||||||
chaotic.mesa-git.enable = true;
|
# chaotic.mesa-git.enable = true;
|
||||||
|
|
||||||
hardware.steam-hardware.enable = true;
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./avahi
|
./avahi
|
||||||
./locate
|
./locate
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
services = {
|
services = {
|
||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
|
fwupd.enable = true;
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
config.common.default = "*";
|
||||||
xdgOpenUsePortal = true;
|
xdgOpenUsePortal = true;
|
||||||
wlr.enable = false; #conflict with XDPH if enabled
|
wlr.enable = false; #conflict with XDPH if enabled
|
||||||
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
programs.beets = {
|
programs.beets = {
|
||||||
enable = true;
|
enable = true; #until fixed
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
plugins = "duplicates ftintitle fetchart embedart chroma edit replaygain badfiles fish";
|
plugins = "duplicates ftintitle fetchart embedart chroma edit replaygain badfiles fish";
|
||||||
|
|
|
@ -57,7 +57,6 @@
|
||||||
e = "nvim";
|
e = "nvim";
|
||||||
ls = "${pkgs.eza}/bin/eza --icons";
|
ls = "${pkgs.eza}/bin/eza --icons";
|
||||||
ll = "${pkgs.eza}/bin/eza --icons -l";
|
ll = "${pkgs.eza}/bin/eza --icons -l";
|
||||||
nf = "${pkgs.fastfetch}/bin/fastfetch";
|
|
||||||
r = "${pkgs.ranger}/bin/ranger";
|
r = "${pkgs.ranger}/bin/ranger";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
platformTheme = "gtk";
|
platformTheme = "gtk";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."Kvantum/kvantum.kvconfig".text = "theme=gruvbox-kvantum";
|
# xdg.configFile."Kvantum/kvantum.kvconfig".text = "theme=gruvbox-kvantum";
|
||||||
xdg.configFile."Kvantum/gruvbox-kvantum/gruvbox-kvantum.kvconfig".source = inputs.gruvbox-kvantum + "/gruvbox-kvantum/gruvbox-kvantum.kvconfig";
|
# xdg.configFile."Kvantum/gruvbox-kvantum/gruvbox-kvantum.kvconfig".source = inputs.gruvbox-kvantum + "/gruvbox-kvantum/gruvbox-kvantum.kvconfig";
|
||||||
xdg.configFile."Kvantum/gruvbox-kvantum/gruvbox-kvantum.svg".source = inputs.gruvbox-kvantum + "/gruvbox-kvantum/gruvbox-kvantum.svg";
|
# xdg.configFile."Kvantum/gruvbox-kvantum/gruvbox-kvantum.svg".source = inputs.gruvbox-kvantum + "/gruvbox-kvantum/gruvbox-kvantum.svg";
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,8 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
lyrics_fetchers = "musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet";
|
||||||
|
|
||||||
visualizer_data_source = "/tmp/mpd.fifo";
|
visualizer_data_source = "/tmp/mpd.fifo";
|
||||||
visualizer_output_name = "my_fifo";
|
visualizer_output_name = "my_fifo";
|
||||||
visualizer_in_stereo = true;
|
visualizer_in_stereo = true;
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -13,12 +13,12 @@ from './js/utils.js';
|
||||||
|
|
||||||
Notifications.clear();
|
Notifications.clear();
|
||||||
|
|
||||||
const scss = App.configDir + '/style.scss';
|
const styleScss = App.configDir + '/style.scss';
|
||||||
const css = '/tmp/style-ags.css';
|
const styleCss = '/tmp/style-ags.css';
|
||||||
exec(`sassc ${scss} ${css}`);
|
exec(`sassc ${styleScss} ${styleCss}`);
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
style: css,
|
style: styleCss,
|
||||||
windows: [
|
windows: [
|
||||||
forMonitors(Panel),
|
forMonitors(Panel),
|
||||||
NotificationsPopupWindow(),
|
NotificationsPopupWindow(),
|
||||||
|
|
|
@ -4,10 +4,10 @@ import { lookUpIcon, timeout } from 'resource:///com/github/Aylur/ags/utils.js';
|
||||||
const NotificationIcon = ({ appEntry, appIcon, image }) => {
|
const NotificationIcon = ({ appEntry, appIcon, image }) => {
|
||||||
if (image) {
|
if (image) {
|
||||||
return Widget.Box({
|
return Widget.Box({
|
||||||
valign: 'start',
|
vpack: 'start',
|
||||||
hexpand: false,
|
hexpand: false,
|
||||||
className: 'icon img',
|
className: 'icon img',
|
||||||
style: `
|
css: `
|
||||||
background-image: url("${image}");
|
background-image: url("${image}");
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
@ -27,17 +27,17 @@ const NotificationIcon = ({ appEntry, appIcon, image }) => {
|
||||||
icon = appEntry;
|
icon = appEntry;
|
||||||
|
|
||||||
return Widget.Box({
|
return Widget.Box({
|
||||||
valign: 'start',
|
vpack: 'start',
|
||||||
hexpand: false,
|
hexpand: false,
|
||||||
className: 'icon',
|
className: 'icon',
|
||||||
style: `
|
css: `
|
||||||
min-width: 78px;
|
min-width: 78px;
|
||||||
min-height: 78px;
|
min-height: 78px;
|
||||||
`,
|
`,
|
||||||
children: [Widget.Icon({
|
children: [Widget.Icon({
|
||||||
icon, size: 58,
|
icon, size: 58,
|
||||||
halign: 'center', hexpand: true,
|
hpack: 'center', hexpand: true,
|
||||||
valign: 'center', vexpand: true,
|
vpack: 'center', vexpand: true,
|
||||||
})],
|
})],
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -88,7 +88,7 @@ export const Notification = n => Widget.EventBox({
|
||||||
}),
|
}),
|
||||||
Widget.Button({
|
Widget.Button({
|
||||||
className: 'close-button',
|
className: 'close-button',
|
||||||
valign: 'start',
|
vpack: 'start',
|
||||||
child: Widget.Icon('window-close-symbolic'),
|
child: Widget.Icon('window-close-symbolic'),
|
||||||
onClicked: n.close.bind(n),
|
onClicked: n.close.bind(n),
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { Notification } from './notification.js';
|
||||||
|
|
||||||
const PopupList = () => Box({
|
const PopupList = () => Box({
|
||||||
className: 'notificationPopupList',
|
className: 'notificationPopupList',
|
||||||
style: 'padding: 1px;', // so it shows up
|
css: 'padding: 1px;', // so it shows up
|
||||||
vertical: true,
|
vertical: true,
|
||||||
binds: [['children', Notifications, 'popups',
|
binds: [['children', Notifications, 'popups',
|
||||||
popups => popups.map(Notification)]],
|
popups => popups.map(Notification)]],
|
||||||
|
|
|
@ -18,7 +18,7 @@ const Placeholder = () => Widget.Box({
|
||||||
className: 'placeholder',
|
className: 'placeholder',
|
||||||
vertical: true,
|
vertical: true,
|
||||||
vexpand: true,
|
vexpand: true,
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
children: [
|
children: [
|
||||||
Widget.Icon('notifications-disabled-symbolic'),
|
Widget.Icon('notifications-disabled-symbolic'),
|
||||||
Widget.Label('Your inbox is empty'),
|
Widget.Label('Your inbox is empty'),
|
||||||
|
|
|
@ -24,7 +24,7 @@ const Center = () => Box({
|
||||||
});
|
});
|
||||||
|
|
||||||
const Right = () => Box({
|
const Right = () => Box({
|
||||||
halign: 'end',
|
hpack: 'end',
|
||||||
children: [
|
children: [
|
||||||
SysTray(),
|
SysTray(),
|
||||||
Clock(),
|
Clock(),
|
||||||
|
@ -33,7 +33,7 @@ const Right = () => Box({
|
||||||
|
|
||||||
export default monitor => Window({
|
export default monitor => Window({
|
||||||
name: `bar-${monitor}`,
|
name: `bar-${monitor}`,
|
||||||
exclusive: true,
|
exclusivity: "exclusive",
|
||||||
className: 'bar',
|
className: 'bar',
|
||||||
monitor,
|
monitor,
|
||||||
anchor: ['top', 'left', 'right'],
|
anchor: ['top', 'left', 'right'],
|
||||||
|
|
|
@ -11,7 +11,6 @@ export default () => Button({
|
||||||
Stack({
|
Stack({
|
||||||
items: [
|
items: [
|
||||||
// tuples of [string, Widget]
|
// tuples of [string, Widget]
|
||||||
['101', Icon('audio-volume-overamplified-symbolic')],
|
|
||||||
['67', Icon('audio-volume-high-symbolic')],
|
['67', Icon('audio-volume-high-symbolic')],
|
||||||
['34', Icon('audio-volume-medium-symbolic')],
|
['34', Icon('audio-volume-medium-symbolic')],
|
||||||
['1', Icon('audio-volume-low-symbolic')],
|
['1', Icon('audio-volume-low-symbolic')],
|
||||||
|
|
|
@ -2,222 +2,19 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
|
system,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
leftMonitor = {
|
|
||||||
display = "DP-2";
|
|
||||||
res = "preferred";
|
|
||||||
pos = "0x0";
|
|
||||||
};
|
|
||||||
|
|
||||||
rightMonitor = {
|
|
||||||
display = "DP-1";
|
|
||||||
res = "preferred";
|
|
||||||
pos = "2560x0";
|
|
||||||
};
|
|
||||||
|
|
||||||
modKey = "SUPER";
|
|
||||||
|
|
||||||
wobsock = "/tmp/wob-vol.fifo";
|
|
||||||
|
|
||||||
wob-voldaemon = pkgs.writeShellScriptBin "wob-volumeindicator.sh" ''
|
|
||||||
if pgrep "wob"; then
|
|
||||||
killall wob &> /dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -e "${wobsock}" ]]; then
|
|
||||||
rm "${wobsock}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkfifo "${wobsock}"
|
|
||||||
tail -f "${wobsock}" | ${pkgs.wob}/bin/wob &
|
|
||||||
echo "wob: started"
|
|
||||||
'';
|
|
||||||
|
|
||||||
killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''
|
|
||||||
ps -x -o pid=,comm= | column -t -o " " | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "kill process: " | awk '{print $1}' | uniq | xargs -r kill -9
|
|
||||||
'';
|
|
||||||
|
|
||||||
passmenu = pkgs.writeShellScriptBin "passmenu.sh" ''
|
|
||||||
shopt -s nullglob globstar
|
|
||||||
|
|
||||||
prefix=''${PASSWORD_STORE_DIR-~/.password-store}
|
|
||||||
password_files=( "$prefix"/**/*.gpg )
|
|
||||||
password_files=( "''${password_files[@]#"$prefix"/}" )
|
|
||||||
password_files=( "''${password_files[@]%.gpg}" )
|
|
||||||
|
|
||||||
password=$(printf '%s\n' "''${password_files[@]}" | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "pass: " "$@")
|
|
||||||
|
|
||||||
[[ -n $password ]] || exit
|
|
||||||
|
|
||||||
pass show -c "$password" 2>/dev/null
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.hyprland.homeManagerModules.default
|
./settings.nix
|
||||||
../ags
|
../ags
|
||||||
../foot
|
../foot
|
||||||
../wob
|
../wob
|
||||||
../mako
|
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
package = inputs.hyprland.packages.${system}.hyprland;
|
||||||
monitor=${leftMonitor.display}, ${leftMonitor.res}, ${leftMonitor.pos}, 1
|
|
||||||
monitor=${rightMonitor.display}, ${rightMonitor.res}, ${rightMonitor.pos}, 1
|
|
||||||
|
|
||||||
workspace = 1, monitor:${rightMonitor.display}, persistent:true
|
|
||||||
workspace = 2, monitor:${rightMonitor.display}, persistent:true
|
|
||||||
workspace = 3, monitor:${rightMonitor.display}, persistent:true
|
|
||||||
|
|
||||||
workspace = 4, monitor:${leftMonitor.display}, persistent:true
|
|
||||||
workspace = 5, monitor:${leftMonitor.display}, persistent:true
|
|
||||||
workspace = 6, monitor:${leftMonitor.display}, persistent:true
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
kb_variant = altgr-intl
|
|
||||||
|
|
||||||
#mouse
|
|
||||||
accel_profile = flat
|
|
||||||
follow_mouse = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
gaps_in = 10
|
|
||||||
border_size = 4
|
|
||||||
col.active_border = rgba(665C54ff)
|
|
||||||
col.inactive_border = rgba(282828ff)
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
pseudotile = yes
|
|
||||||
preserve_split = yes
|
|
||||||
}
|
|
||||||
|
|
||||||
master {
|
|
||||||
new_is_master = true
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = 0
|
|
||||||
vfr = true
|
|
||||||
vrr = 2
|
|
||||||
# enable_swallow = true
|
|
||||||
# swallow_regex = ^(foot)$
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 10
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled = yes
|
|
||||||
size = 3
|
|
||||||
passes = 2
|
|
||||||
new_optimizations = on
|
|
||||||
}
|
|
||||||
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 30
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(1a1a1aee)
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = yes
|
|
||||||
|
|
||||||
animation = windowsIn, 1, 8, default, slide
|
|
||||||
animation = windowsOut, 1, 8, default, slide
|
|
||||||
animation = border, 1, 8, default
|
|
||||||
animation = fade, 1, 5, default
|
|
||||||
animation = workspaces, 1, 4, default
|
|
||||||
}
|
|
||||||
|
|
||||||
exec-once = ${pkgs.openrgb}/bin/openrgb --startminimized --profile autorun.orp
|
|
||||||
exec-once = ${pkgs.blueman}/bin/blueman-applet
|
|
||||||
# exec-once = ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator
|
|
||||||
exec-once = ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1
|
|
||||||
# exec-once = ${pkgs.mullvad-vpn}/bin/mullvad-gui
|
|
||||||
exec-once = ${pkgs.ydotool}/bin/ydotoold
|
|
||||||
|
|
||||||
exec = ${pkgs.xorg.xrandr}/bin/xrandr --output ${rightMonitor.display} --primary
|
|
||||||
exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh
|
|
||||||
exec = ags -q; ags
|
|
||||||
exec = pkill swww; sleep 2 && ${pkgs.swww}/bin/swww init && ${pkgs.swww}/bin/swww img $(cat ~/.cache/swww/wallpaper.txt)
|
|
||||||
|
|
||||||
#Set cursor
|
|
||||||
exec = ${pkgs.hyprland}/bin/hyprctl setcursor "${config.gtk.cursorTheme.name}" ${builtins.toString config.gtk.cursorTheme.size} &> /dev/null
|
|
||||||
|
|
||||||
# Fix clipboard with Wine
|
|
||||||
exec-once = ${pkgs.wl-clipboard}/bin/wl-paste -t text -w sh -c '[ "$(${pkgs.xclip}/bin/xclip -selection clipboard -o)" = "$(${pkgs.wl-clipboard}/bin/wl-paste -n)" ] || ${pkgs.xclip}/bin/xclip -selection clipboard'
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,${builtins.toString config.gtk.cursorTheme.size}
|
|
||||||
|
|
||||||
#keybinds
|
|
||||||
bind = ${modKey}, 1, workspace, 1
|
|
||||||
bind = ${modKey}, 2, workspace, 2
|
|
||||||
bind = ${modKey}, 3, workspace, 3
|
|
||||||
bind = ${modKey}, 4, workspace, 4
|
|
||||||
bind = ${modKey}, 5, workspace, 5
|
|
||||||
bind = ${modKey}, 6, workspace, 6
|
|
||||||
|
|
||||||
bind = ${modKey} SHIFT, 1, movetoworkspace, 1
|
|
||||||
bind = ${modKey} SHIFT, 2, movetoworkspace, 2
|
|
||||||
bind = ${modKey} SHIFT, 3, movetoworkspace, 3
|
|
||||||
bind = ${modKey} SHIFT, 4, movetoworkspace, 4
|
|
||||||
bind = ${modKey} SHIFT, 5, movetoworkspace, 5
|
|
||||||
bind = ${modKey} SHIFT, 6, movetoworkspace, 6
|
|
||||||
|
|
||||||
|
|
||||||
bindm = ${modKey}, mouse:272, movewindow
|
|
||||||
bindm = ${modKey}, mouse:273, resizewindow
|
|
||||||
|
|
||||||
bind = ${modKey}, P, pseudo, # dwindle
|
|
||||||
bind = ${modKey}, J, togglesplit, # dwindle
|
|
||||||
bind = ${modKey} SHIFT, Space, togglefloating
|
|
||||||
bind = ${modKey}, F, fullscreen
|
|
||||||
|
|
||||||
bind = ${modKey} SHIFT, Q, killactive
|
|
||||||
bind = ${modKey}, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun -p Applications -show-icons
|
|
||||||
|
|
||||||
bind = ${modKey}, Q, exec, ${pkgs.firefox}/bin/firefox
|
|
||||||
|
|
||||||
bind = ${modKey}, Return, exec, ${pkgs.foot}/bin/foot
|
|
||||||
|
|
||||||
bind = , XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 10 --get-volume > ${wobsock}
|
|
||||||
bind = , XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 10 --get-volume > ${wobsock}
|
|
||||||
|
|
||||||
bind = CTRL, grave, exec, ags toggle-window notification-center
|
|
||||||
bind = ${modKey} SHIFT, O, exec, ${killprocess}/bin/killprocess.sh
|
|
||||||
bind = ${modKey} SHIFT, P, exec, ${passmenu}/bin/passmenu.sh
|
|
||||||
|
|
||||||
bind = MOD5, F9, exec, ${pkgs.mpc-cli}/bin/mpc stop
|
|
||||||
bind = MOD5, F10, exec, ${pkgs.mpc-cli}/bin/mpc prev
|
|
||||||
bind = MOD5, F11, exec, ${pkgs.mpc-cli}/bin/mpc toggle
|
|
||||||
bind = MOD5, F12, exec, ${pkgs.mpc-cli}/bin/mpc next
|
|
||||||
|
|
||||||
bind = , Print, exec, ${pkgs.grimblast}/bin/grimblast -c --notify copy screen
|
|
||||||
bind = ${modKey}, Print, exec, ${pkgs.grimblast}/bin/grimblast -c --notify copy active
|
|
||||||
bind = ${modKey} SHIFT, Print, exec, ${pkgs.grimblast}/bin/grimblast -c --notify copy area
|
|
||||||
bind = ${modKey}, R, exec, ${pkgs.dolphin}/bin/dolphin
|
|
||||||
|
|
||||||
bind = ${modKey} SHIFT, C, exec, hyprctl reload
|
|
||||||
|
|
||||||
layerrule = blur, notifications
|
|
||||||
layerrule = ignorezero, notifications
|
|
||||||
|
|
||||||
layerrule = blur, gtk-layer-shell
|
|
||||||
layerrule = blur, bar-0
|
|
||||||
layerrule = blur, bar-1
|
|
||||||
|
|
||||||
layerrule = blur, notificationPopupWindow
|
|
||||||
layerrule = ignorezero, notificationPopupWindow
|
|
||||||
|
|
||||||
|
|
||||||
windowrulev2 = fullscreen, class:^(hl2_linux)$
|
|
||||||
windowrulev2 = float, class:^(org.kde.dolphin)$
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".local/share/kservices5/swww.desktop".text = ''
|
home.file.".local/share/kservices5/swww.desktop".text = ''
|
||||||
|
@ -230,8 +27,8 @@ in {
|
||||||
|
|
||||||
[Desktop Action setSWWWWallpaper]
|
[Desktop Action setSWWWWallpaper]
|
||||||
Name=Set Image as Wallpaper
|
Name=Set Image as Wallpaper
|
||||||
Exec=swww img "%f" && echo "%f" > ~/.cache/swww/wallpaper.txt
|
Exec=swww img "%f" && ln -sf "%f" ~/.cache/swww/wallpaper
|
||||||
'';
|
'';
|
||||||
|
|
||||||
home.packages = [pkgs.wl-clipboard pkgs.wl-clipboard-x11 pkgs.hyprpicker pkgs.swww pkgs.hyprprop];
|
home.packages = [pkgs.wl-clipboard pkgs.wl-clipboard-x11 pkgs.swww inputs.hyprland-contrib.packages.${system}.hyprprop];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,177 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
leftMonitor = {
|
||||||
|
display = "DP-2";
|
||||||
|
res = "preferred";
|
||||||
|
pos = "0x0";
|
||||||
|
};
|
||||||
|
|
||||||
|
rightMonitor = {
|
||||||
|
display = "DP-1";
|
||||||
|
res = "preferred";
|
||||||
|
pos = "2560x0";
|
||||||
|
};
|
||||||
|
|
||||||
|
modKey = "SUPER";
|
||||||
|
in {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
monitor = [
|
||||||
|
"${leftMonitor.display}, ${leftMonitor.res}, ${leftMonitor.pos}, 1"
|
||||||
|
"${rightMonitor.display}, ${rightMonitor.res}, ${rightMonitor.pos}, 1"
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"1, monitor:${rightMonitor.display}, persistent:true"
|
||||||
|
"2, monitor:${rightMonitor.display}, persistent:true"
|
||||||
|
"3, monitor:${rightMonitor.display}, persistent:true"
|
||||||
|
|
||||||
|
"4, monitor:${leftMonitor.display}, persistent:true"
|
||||||
|
"5, monitor:${leftMonitor.display}, persistent:true"
|
||||||
|
"6, monitor:${leftMonitor.display}, persistent:true"
|
||||||
|
];
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "us";
|
||||||
|
kb_variant = "altgr-intl";
|
||||||
|
accel_profile = "flat";
|
||||||
|
follow_mouse = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 10;
|
||||||
|
border_size = 4;
|
||||||
|
"col.active_border" = "rgba(665C54ff)";
|
||||||
|
"col.inactive_border" = "rgba(282828ff)";
|
||||||
|
};
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_is_master = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0;
|
||||||
|
vfr = true;
|
||||||
|
vrr = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 10;
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 3;
|
||||||
|
passes = 2;
|
||||||
|
new_optimizations = true;
|
||||||
|
};
|
||||||
|
drop_shadow = true;
|
||||||
|
shadow_range = 30;
|
||||||
|
shadow_render_power = 3;
|
||||||
|
"col.shadow" = "rgba(1a1a1aee)";
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
animation = [
|
||||||
|
"windowsIn, 1, 8, default, slide"
|
||||||
|
"windowsOut, 1, 8, default, slide"
|
||||||
|
"border, 1, 8, default"
|
||||||
|
"fade, 1, 5, default"
|
||||||
|
"workspaces, 1, 4, default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
exec-once = [
|
||||||
|
"${pkgs.openrgb}/bin/openrgb --startminimized --profile autorun.orp"
|
||||||
|
"${pkgs.blueman}/bin/blueman-applet"
|
||||||
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||||
|
"${pkgs.ydotool}/bin/ydotoold"
|
||||||
|
];
|
||||||
|
|
||||||
|
exec = [
|
||||||
|
"${pkgs.xorg.xrandr}/bin/xrandr --output ${rightMonitor.display} --primary"
|
||||||
|
"ags -q; ags"
|
||||||
|
"pkill swww; sleep 2 && ${pkgs.swww}/bin/swww init && ${pkgs.swww}/bin/swww img $(cat ~/.cache/swww/wallpaper.txt)"
|
||||||
|
|
||||||
|
#Set cursor
|
||||||
|
"${pkgs.hyprland}/bin/hyprctl setcursor ${config.gtk.cursorTheme.name} ${builtins.toString config.gtk.cursorTheme.size} &> /dev/null"
|
||||||
|
];
|
||||||
|
|
||||||
|
env = [
|
||||||
|
"XCURSOR_SIZE,${builtins.toString config.gtk.cursorTheme.size}"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"${modKey}, 1, workspace, 1"
|
||||||
|
"${modKey}, 2, workspace, 2"
|
||||||
|
"${modKey}, 3, workspace, 3"
|
||||||
|
"${modKey}, 4, workspace, 4"
|
||||||
|
"${modKey}, 5, workspace, 5"
|
||||||
|
"${modKey}, 6, workspace, 6"
|
||||||
|
|
||||||
|
"${modKey} SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"${modKey} SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"${modKey} SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"${modKey} SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"${modKey} SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"${modKey} SHIFT, 6, movetoworkspace, 6"
|
||||||
|
|
||||||
|
"${modKey}, P, pseudo, # dwindle"
|
||||||
|
"${modKey}, J, togglesplit, # dwindle"
|
||||||
|
"${modKey} SHIFT, Space, togglefloating"
|
||||||
|
"${modKey}, F, fullscreen"
|
||||||
|
|
||||||
|
"${modKey} SHIFT, Q, killactive"
|
||||||
|
"${modKey}, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun -p Applications -show-icons"
|
||||||
|
"${modKey} SHIFT, P, exec, ${pkgs.rofi-pass-wayland}/bin/rofi-pass"
|
||||||
|
|
||||||
|
"${modKey}, Q, exec, ${pkgs.firefox}/bin/firefox"
|
||||||
|
|
||||||
|
"${modKey}, Return, exec, ${pkgs.foot}/bin/foot"
|
||||||
|
|
||||||
|
", XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 10 --get-volume"
|
||||||
|
", XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 10 --get-volume"
|
||||||
|
|
||||||
|
"CTRL, grave, exec, ags toggle-window notification-center"
|
||||||
|
|
||||||
|
"MOD5, F9, exec, ${pkgs.mpc-cli}/bin/mpc stop"
|
||||||
|
"MOD5, F10, exec, ${pkgs.mpc-cli}/bin/mpc prev"
|
||||||
|
"MOD5, F11, exec, ${pkgs.mpc-cli}/bin/mpc toggle"
|
||||||
|
"MOD5, F12, exec, ${pkgs.mpc-cli}/bin/mpc next"
|
||||||
|
", Print, exec, ${pkgs.grimblast}/bin/grimblast -c --notify copy screen"
|
||||||
|
"${modKey}, Print, exec, ${pkgs.grimblast}/bin/grimblast -c --notify copy active"
|
||||||
|
"${modKey} SHIFT, Print, exec, ${pkgs.grimblast}/bin/grimblast -c --notify copy area"
|
||||||
|
"${modKey}, R, exec, ${pkgs.dolphin}/bin/dolphin"
|
||||||
|
"${modKey} SHIFT, C, exec, hyprctl reload"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"${modKey}, mouse:272, movewindow"
|
||||||
|
"${modKey}, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
layerrule = [
|
||||||
|
"blur, notifications"
|
||||||
|
"ignorezero, notifications"
|
||||||
|
"blur, gtk-layer-shell"
|
||||||
|
"blur, bar-0"
|
||||||
|
"blur, bar-1"
|
||||||
|
"blur, notificationPopupWindow"
|
||||||
|
"ignorezero, notificationPopupWindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrulev2 = [
|
||||||
|
"fullscreen, class:^(hl2_linux)$"
|
||||||
|
"float, class:^(org.kde.dolphin)$"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,6 +2,7 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
|
system,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -25,11 +26,11 @@
|
||||||
home.homeDirectory = "/home/manuel";
|
home.homeDirectory = "/home/manuel";
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
appimage-run
|
appimage-run
|
||||||
|
armcord
|
||||||
bc
|
bc
|
||||||
bottles
|
bottles
|
||||||
bottom
|
bottom
|
||||||
calcurse
|
calcurse
|
||||||
discord
|
|
||||||
electron
|
electron
|
||||||
gamescope_git
|
gamescope_git
|
||||||
gimp
|
gimp
|
||||||
|
@ -69,18 +70,15 @@
|
||||||
twemoji-color-font
|
twemoji-color-font
|
||||||
vimv
|
vimv
|
||||||
vulkan-tools
|
vulkan-tools
|
||||||
vulkan-validation-layers
|
|
||||||
xdg-utils
|
xdg-utils
|
||||||
xivlauncher
|
wqy_zenhei #fix for missing non-ascii fonts in TF2
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
GTK_THEME = "${builtins.toString config.gtk.theme.name}";
|
GTK_THEME = "${builtins.toString config.gtk.theme.name}";
|
||||||
MESA_DISK_CACHE_SINGLE_FILE = "1";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
NIXPKGS_ALLOW_UNFREE = "1";
|
NIXPKGS_ALLOW_UNFREE = "1";
|
||||||
RADV_PERFTEST = "gpl";
|
|
||||||
WINEDLLOVERRIDES = "winemenubuilder.exe=d";
|
WINEDLLOVERRIDES = "winemenubuilder.exe=d";
|
||||||
XDG_SCREENSHOTS_DIR = "~/Screenshots";
|
XDG_SCREENSHOTS_DIR = "~/Screenshots";
|
||||||
};
|
};
|
||||||
|
|
Reference in New Issue