Compare commits
9 Commits
ce68c8c03e
...
ac7e7a16d8
Author | SHA1 | Date | |
---|---|---|---|
ac7e7a16d8 | |||
a79c1a9af8 | |||
63dc618f6d | |||
7d10c8e7d2 | |||
7254e9a6e2 | |||
ae0f6ec0ef | |||
f1be4c1fc5 | |||
37421bcc12 | |||
e3eaebf08d |
120
flake.lock
generated
120
flake.lock
generated
@ -3,11 +3,11 @@
|
||||
"alacritty-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725333321,
|
||||
"narHash": "sha256-cZ+ziE+VbQFpJ+iDS7X9Q2YC1Ziu+JITzDmX79BCcRY=",
|
||||
"lastModified": 1727478331,
|
||||
"narHash": "sha256-Uav3hn2HxwtpOWdGt8WDCqTR0erxXWF6Wxkcltru1Yw=",
|
||||
"owner": "alacritty",
|
||||
"repo": "alacritty-theme",
|
||||
"rev": "e759dafb8e2e00abb428592979ce006da7fba4a7",
|
||||
"rev": "90a8406beb095fdb1617135a98c38df1ef08859c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -36,11 +36,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726665257,
|
||||
"narHash": "sha256-rEzEZtd3iyVo5RJ1OGujOlnywNf3gsrOnjAn1NLciD4=",
|
||||
"lastModified": 1727261104,
|
||||
"narHash": "sha256-rxDI7WrxIRV9it9mDCHcLa7xQykf1JloXnoXr5xQ8zI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "752d0fbd141fabb5a1e7f865199b80e6e76f8d8e",
|
||||
"rev": "b82fdaff917582a9d568969e15e61b398c71e990",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -341,11 +341,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722623071,
|
||||
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
|
||||
"lastModified": 1727532803,
|
||||
"narHash": "sha256-ZaZ7h7PY8mQc4vtGmVqWLAq9CAO02gHMyNR5yY8zDmM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
|
||||
"rev": "b98726e431d4d3ed58bd58bee1047cdb81cec69f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -358,6 +358,7 @@
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
@ -366,11 +367,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727305730,
|
||||
"narHash": "sha256-EWtisVQG1O058U09R3GTmzWWujuHYmyiKbpb9qE3Z9Q=",
|
||||
"lastModified": 1728086481,
|
||||
"narHash": "sha256-+gip/MU9xo/0HzYotsJ28LvCBTsoWlr3h4+vZR3Uycw=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "b1ad2d806634edff656cb5ddc9850ae2c73324e8",
|
||||
"revCount": 5260,
|
||||
"rev": "595eb89f6e16df0e19916e3c02bf5ceac5a61c57",
|
||||
"revCount": 5293,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
@ -398,11 +399,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727258890,
|
||||
"narHash": "sha256-/55TVManE/J19LSzXtUNhHUpeouRqZxM08ZdWvJrNoA=",
|
||||
"lastModified": 1727705521,
|
||||
"narHash": "sha256-tR4bc6zONkxore1F7CRrwHs9NITht8NY0JTidPSmMXY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "4fcb465c9d771f4ae1f451e8d953250d16eead70",
|
||||
"rev": "9215288eb2ded9d0c08d468ea90ba68f43162c67",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -412,6 +413,31 @@
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727451107,
|
||||
"narHash": "sha256-qV9savtHwmZUa0eJE294WYJjKPGB2+bJhwByFShsVyo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "6b3261ee13a6d2b99de79a31d352f6996e35bde3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
@ -479,11 +505,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727219120,
|
||||
"narHash": "sha256-wmT+JpnDk6EjgASU2VGfS0nnu6oKA4Cw25o5fzpDD/Q=",
|
||||
"lastModified": 1727300645,
|
||||
"narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "db956287d3aa194dda91d05c8eb286de2a569edf",
|
||||
"rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -504,11 +530,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726840673,
|
||||
"narHash": "sha256-HIPEXyRRVZoqD6U+lFS1B0tsIU7p83FaB9m7KT/x6mQ=",
|
||||
"lastModified": 1726874836,
|
||||
"narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "b68dab23fc922eae99306988133ee80a40b39ca5",
|
||||
"rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -543,11 +569,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726227680,
|
||||
"narHash": "sha256-pcqHXle7uHQTUESc40Yu0k05cFMRVpm3D8ZHPH6scOY=",
|
||||
"lastModified": 1728031945,
|
||||
"narHash": "sha256-NRkLjdMtVfC6dD1gEbYZWFEtbmC2xfD6ft1IP7l76Vw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-ld",
|
||||
"rev": "5ee22be69d8bd66da100157fab54d8dde37c775b",
|
||||
"rev": "4524c512e8729ccb5a1b9239d01e1474cbf074a2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -564,11 +590,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727276500,
|
||||
"narHash": "sha256-k2RdpNq6fQ/lI90s8DOXkpqnl2w9NM/KXqjcR4pZ27c=",
|
||||
"lastModified": 1728054098,
|
||||
"narHash": "sha256-pvVBC+IHWLZqwD+rLTqtXbNgFng8qZZXm+KTyoS5lR8=",
|
||||
"owner": "doronbehar",
|
||||
"repo": "nix-matlab",
|
||||
"rev": "7c7564e543e74c021dd6c402df6192d74ff6ee8f",
|
||||
"rev": "145957fbf1490548bac2ee5a58daddf04fcfa5dd",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@ -602,11 +628,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1726755586,
|
||||
"narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=",
|
||||
"lastModified": 1727348695,
|
||||
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e",
|
||||
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -665,11 +691,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1727122398,
|
||||
"narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
|
||||
"lastModified": 1728018373,
|
||||
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
|
||||
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -681,11 +707,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1727129439,
|
||||
"narHash": "sha256-nPyrcFm6FSk7CxzVW4x2hu62aLDghNcv9dX6DF3dXw8=",
|
||||
"lastModified": 1728067476,
|
||||
"narHash": "sha256-/uJcVXuBt+VFCPQIX+4YnYrHaubJSx4HoNsJVNRgANM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "babc25a577c3310cce57c72d5bed70f4c3c3843a",
|
||||
"rev": "6e6b3dd395c3b1eb9be9f2d096383a8d05add030",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -830,11 +856,11 @@
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726524647,
|
||||
"narHash": "sha256-qis6BtOOBBEAfUl7FMHqqTwRLB61OL5OFzIsOmRz2J4=",
|
||||
"lastModified": 1727734513,
|
||||
"narHash": "sha256-i47LQwoGCVQq4upV2YHV0OudkauHNuFsv306ualB/Sw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "e2d404a7ea599a013189aa42947f66cede0645c8",
|
||||
"rev": "3198a242e547939c5e659353551b0668ec150268",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -920,7 +946,7 @@
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprland-protocols": "hyprland-protocols_2",
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
@ -943,11 +969,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727109343,
|
||||
"narHash": "sha256-1PFckA8Im7wMSl26okwOKqBZeCFLD3LvZZFaxswDhbY=",
|
||||
"lastModified": 1727524473,
|
||||
"narHash": "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4adb6c4c41ee5014bfe608123bfeddb26e5f5cea",
|
||||
"rev": "7e500e679ede40e79cf2d89b5f5fa3e34923bd26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -959,11 +985,11 @@
|
||||
"yazi-flavors": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725036354,
|
||||
"narHash": "sha256-W56r4LMepQj0vW1tayx0qA43ZhZEQ09ukZ8IlQMFMe0=",
|
||||
"lastModified": 1728056820,
|
||||
"narHash": "sha256-VSlays/D5FtiI8vsj2Eu19lxY8Mkgu0+7K6OAhzc+30=",
|
||||
"owner": "yazi-rs",
|
||||
"repo": "flavors",
|
||||
"rev": "d479f67a5bde91ccd3cddc927144b442c6e885e5",
|
||||
"rev": "b081fa9768ebd24a71375f85748c26e6a6c7ef44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -37,9 +37,9 @@
|
||||
yazi.enable = true;
|
||||
emacs.enable = true;
|
||||
|
||||
i3.enable = true;
|
||||
# i3.enable = true;
|
||||
|
||||
# hyprland.enable = true;
|
||||
hyprland.enable = true;
|
||||
nix-helper.enable = true;
|
||||
|
||||
desktop.enable = true;
|
||||
@ -92,9 +92,11 @@
|
||||
tor-browser
|
||||
|
||||
## My scripts
|
||||
pkgs.frajul.deploy-to-pianopi
|
||||
pkgs.frajul.edit-config
|
||||
# pkgs.frajul.open-messaging
|
||||
frajul.deploy-to-pianopi
|
||||
frajul.open-messaging
|
||||
frajul.edit-config
|
||||
frajul.xwacomcalibrate
|
||||
frajul.lntocp
|
||||
]
|
||||
++ lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; }) [
|
||||
./fonts.nix
|
||||
|
@ -153,11 +153,8 @@ with pkgs;
|
||||
|
||||
unstable.path-of-building
|
||||
|
||||
## My scripts
|
||||
frajul.edit-config
|
||||
frajul.xwacomcalibrate
|
||||
|
||||
conda
|
||||
watchexec # Run command when any file in current dir changes
|
||||
|
||||
pkg-config # Often needed to build something
|
||||
]
|
||||
|
@ -86,7 +86,7 @@ in
|
||||
wayland.windowManager.hyprland = {
|
||||
# Whether to enable Hyprland wayland compositor
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
# package = inputs.hyprland.packages."${pkgs.system}".hyprland; # does only work with nixos-unstable
|
||||
|
||||
# The hyprland package to use (simplifies use of plugins)
|
||||
# package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
@ -99,7 +99,10 @@ in
|
||||
# Make PATH available to systemd services
|
||||
systemd.variables = [ "--all" ];
|
||||
|
||||
plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars ];
|
||||
plugins = with pkgs; [
|
||||
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars # does only work with nixos-unstable
|
||||
hyprlandPlugins.hyprbars
|
||||
];
|
||||
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
@ -136,7 +139,7 @@ in
|
||||
|
||||
# Master layout
|
||||
master = {
|
||||
new_is_master = false;
|
||||
new_status = "slave";
|
||||
no_gaps_when_only = 2; # with border
|
||||
mfact = 0.5; # Do not make master bigger
|
||||
};
|
||||
@ -201,8 +204,8 @@ in
|
||||
|
||||
# opening applications
|
||||
"$mod, D, exec, wofi --show drun,run"
|
||||
"$mod, E, exec, thunar"
|
||||
"$mod, Return, exec, alacritty"
|
||||
"$mod, E, exec, pcmanfm"
|
||||
"$mod, Return, exec, wezterm"
|
||||
"$mod, B, exec, firefox"
|
||||
"$mod, C, exec, qalculate-gtk"
|
||||
|
||||
|
@ -25,7 +25,7 @@ in
|
||||
|
||||
services.mako = {
|
||||
enable = true;
|
||||
defaultTimeout = 5; # seconds, can be overwritten by notification sender
|
||||
defaultTimeout = 5000; # milliseconds, can be overwritten by notification sender
|
||||
backgroundColor = "#${palette.base00}";
|
||||
textColor = "#${palette.base05}";
|
||||
borderColor = "#${palette.base0D}";
|
||||
|
@ -4,7 +4,7 @@
|
||||
"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passtrough": true,
|
||||
"height": 20,
|
||||
"height": 16,
|
||||
|
||||
"modules-left": [
|
||||
"hyprland/workspaces"
|
||||
@ -14,8 +14,24 @@
|
||||
|
||||
"modules-right": ["idle_inhibitor", "disk", "cpu", "memory", "pulseaudio", "battery", "clock", "tray"],
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "{}"
|
||||
"hyprland/workspaces": {
|
||||
"on-scroll-up": "hyprctl dispatch workspace m+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace m-1",
|
||||
"all-outputs": false,
|
||||
"on-click": "activate",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "10"
|
||||
}
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
@ -25,6 +41,7 @@
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
"format": "Free: {percentage_free}% ({free})",
|
||||
@ -32,44 +49,14 @@
|
||||
"unit": "GB"
|
||||
},
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"on-scroll-up": "hyprctl dispatch workspace m+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace m-1",
|
||||
"all-outputs": false,
|
||||
"on-click": "activate",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "10"
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"format": " {usage}%"
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"format": " {}%"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"tooltip": false,
|
||||
"spacing": 10
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"tooltip-format": "{calendar}",
|
||||
"format": "{:%a %d.%m %H:%M:%S}",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "<big></big>",
|
||||
@ -77,7 +64,7 @@
|
||||
"headphone": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"scroll-step": 5.0,
|
||||
"max-volume": 200,
|
||||
"on-click": "pulseaudio-popup",
|
||||
"on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
@ -93,5 +80,17 @@
|
||||
"format-plugged": " {capacity}% ({time})",
|
||||
"format-full": "{icon} ",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"tooltip-format": "{calendar}",
|
||||
"format": "{:%a %d.%m %H:%M:%S}",
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"tooltip": false,
|
||||
"spacing": 10
|
||||
}
|
||||
}
|
||||
|
@ -24,200 +24,26 @@ in
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
settings.mainBar = builtins.fromJSON (builtins.readFile ./config.json);
|
||||
style = ''
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#custom-notification,
|
||||
#custom-launcher,
|
||||
#custom-power-menu,
|
||||
/*#custom-colorpicker,*/
|
||||
#custom-window,
|
||||
#memory,
|
||||
#disk,
|
||||
#network,
|
||||
#battery,
|
||||
#custom-spotify,
|
||||
#pulseaudio,
|
||||
#window,
|
||||
#idle_inhibitor,
|
||||
#cpu,
|
||||
#tray {
|
||||
padding: 0 15px;
|
||||
border-radius: 12px;
|
||||
background: #${palette.base00};
|
||||
color: #${palette.base07};
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
#window {
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(0, 0, 0, 0.096);
|
||||
border-radius: 17px;
|
||||
}
|
||||
|
||||
window * {
|
||||
background-color: transparent;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
#workspaces button label {
|
||||
color: #${palette.base07};
|
||||
}
|
||||
|
||||
#workspaces button.active label {
|
||||
color: #${palette.base00};
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
box-shadow: #${palette.base07} 0 0 0 1.5px;
|
||||
background-color: #${palette.base00};
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background-color: transparent;
|
||||
border-radius: 17px;
|
||||
padding: 0 0px;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
background-color: #${palette.base00};
|
||||
border-radius: 12px;
|
||||
margin-left: 4px;
|
||||
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
min-width: 50px;
|
||||
box-shadow: rgba(0, 0, 0, 0.288) 2 2 5 2px;
|
||||
background-color: #${palette.base0F};
|
||||
background-size: 400% 400%;
|
||||
transition: all 0.3s ease;
|
||||
background: linear-gradient(
|
||||
58deg,
|
||||
#${palette.base0E},
|
||||
#${palette.base0E},
|
||||
#${palette.base0E},
|
||||
#${palette.base0D},
|
||||
#${palette.base0D},
|
||||
#${palette.base0E},
|
||||
#${palette.base08}
|
||||
);
|
||||
background-size: 300% 300%;
|
||||
animation: colored-gradient 20s ease infinite;
|
||||
}
|
||||
|
||||
@keyframes colored-gradient {
|
||||
0% {
|
||||
background-position: 71% 0%;
|
||||
}
|
||||
50% {
|
||||
background-position: 30% 100%;
|
||||
}
|
||||
100% {
|
||||
background-position: 71% 0%;
|
||||
}
|
||||
}
|
||||
|
||||
#custom-power-menu {
|
||||
margin-right: 10px;
|
||||
padding-left: 12px;
|
||||
padding-right: 15px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
margin-left: 5px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-top: 3px;
|
||||
color: #${palette.base07};
|
||||
background-color: #${palette.base00};
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
#custom-spotify.playing {
|
||||
color: rgb(180, 190, 254);
|
||||
background: rgba(30, 30, 46, 0.6);
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
#${palette.base02},
|
||||
#${palette.base00},
|
||||
#${palette.base00},
|
||||
#${palette.base00},
|
||||
#${palette.base00},
|
||||
#${palette.base02}
|
||||
);
|
||||
background-size: 400% 100%;
|
||||
animation: grey-gradient 3s linear infinite;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
@keyframes grey-gradient {
|
||||
0% {
|
||||
background-position: 100% 50%;
|
||||
}
|
||||
100% {
|
||||
background-position: -33% 50%;
|
||||
}
|
||||
}
|
||||
|
||||
#tray menu {
|
||||
color: #${palette.base07};
|
||||
background-color: #${palette.base00};
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: #${palette.base08};
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: #${palette.base08};
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
#custom-notification.collapsed,
|
||||
#custom-notification.waiting_done {
|
||||
min-width: 12px;
|
||||
padding-right: 17px;
|
||||
}
|
||||
|
||||
#custom-notification.waiting_start,
|
||||
#custom-notification.expanded {
|
||||
background-color: transparent;
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
#${palette.base02},
|
||||
#${palette.base00},
|
||||
#${palette.base00},
|
||||
#${palette.base00},
|
||||
#${palette.base00},
|
||||
#${palette.base02}
|
||||
);
|
||||
background-size: 400% 100%;
|
||||
animation: grey-gradient 3s linear infinite;
|
||||
min-width: 500px;
|
||||
border-radius: 17px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
xdg.configFile."waybar/style.css".source = ./style.css;
|
||||
xdg.configFile."waybar/theme.css".text = ''
|
||||
/*
|
||||
bg - background
|
||||
fg - foreground
|
||||
*/
|
||||
|
||||
/* Main Colors */
|
||||
@define-color background #${palette.base00};
|
||||
@define-color foreground #${palette.base05};
|
||||
|
||||
/* Workspace Button Colors */
|
||||
@define-color hover-bg #${palette.base01};
|
||||
@define-color hover-fg #${palette.base05};
|
||||
@define-color active-bg #${palette.base02};
|
||||
@define-color active-fg #${palette.base08};
|
||||
@define-color urgent-bg #${palette.base08};
|
||||
@define-color urgent-fg #${palette.base00};
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
94
modules/home/hyprland/waybar/style.css
Normal file
94
modules/home/hyprland/waybar/style.css
Normal file
@ -0,0 +1,94 @@
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
/* This imports the base16 colors */
|
||||
@import "theme.css";
|
||||
|
||||
/* Main Background */
|
||||
window#waybar { background: @background; }
|
||||
|
||||
/* Tooltip Styling */
|
||||
tooltip {
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
border: solid;
|
||||
border-width: 1.5px;
|
||||
border-radius: 7px;
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
/* Workspace Button */
|
||||
#workspaces button {
|
||||
color: @foreground;
|
||||
border-radius: 5px;
|
||||
box-shadow: none;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
padding: 0px;
|
||||
padding-right: 2px;
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
/* Opened workspaces (also on other screen) */
|
||||
#workspaces button.visible{
|
||||
color: @active-fg;
|
||||
background: @hover-bg;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Active Workspace Button */
|
||||
#workspaces button.active {
|
||||
color: @active-fg;
|
||||
background: @active-bg;
|
||||
box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 1);
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
padding-right: 6px;
|
||||
padding-left: 6px;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
/* Hover Effect for Workspace Buttons */
|
||||
#workspaces button.inactive:hover {
|
||||
color: @hover-fg;
|
||||
background: @hover-bg;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Urgent Workspace Buttons */
|
||||
#workspaces button.urgent {
|
||||
color: @urgent-fg;
|
||||
background: @urgent-bg;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* General Module Styling */
|
||||
#idle_inhibitor,
|
||||
#disk,
|
||||
#cpu,
|
||||
#memory,
|
||||
#pulseaudio,
|
||||
#battery,
|
||||
#clock,
|
||||
#tray {
|
||||
color: @foreground;
|
||||
padding: 0 10px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
/* #battery.warning { */
|
||||
/* color: #${palette.base08}; */
|
||||
/* } */
|
||||
|
||||
/* #pulseaudio.muted { */
|
||||
/* color: #${palette.base08}; */
|
||||
/* padding-right: 16px; */
|
||||
/* } */
|
@ -39,6 +39,7 @@ in
|
||||
-- config.font_size = 12.0
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
config.audible_bell = 'Disabled'
|
||||
config.enable_wayland = false -- Somehow only works for wayland if this is set to false
|
||||
|
||||
config.window_close_confirmation = 'NeverPrompt'
|
||||
|
||||
|
@ -16,7 +16,7 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.systemd-boot.configurationLimit = 5;
|
||||
boot.loader.systemd-boot.configurationLimit = 10;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/blob/c32c39d6f3b1fe6514598fa40ad2cf9ce22c3fb7/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix#L66
|
||||
|
@ -30,7 +30,7 @@ in
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
# programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland; # does only work with nixos-unstable
|
||||
programs.hyprland.xwayland.enable = true;
|
||||
security.pam.services.hyprlock = { };
|
||||
};
|
||||
|
41
modules/nixos/i3/default.nix
Normal file
41
modules/nixos/i3/default.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||
pkgs,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# Additional metadata is provided by Snowfall Lib.
|
||||
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||
format, # A normalized name for the system target (eg. `iso`).
|
||||
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||
systems, # An attribute map of your defined hosts.
|
||||
|
||||
# All other arguments come from the module system.
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.modules.i3;
|
||||
in
|
||||
{
|
||||
options.modules.i3 = {
|
||||
enable = lib.mkOption { default = false; };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
||||
|
||||
programs.xss-lock = {
|
||||
# responds to "loginctl lock-session" via dbus
|
||||
enable = true;
|
||||
lockerCommand = "${pkgs.i3lock}/bin/i3lock --ignore-empty-password --color=000000";
|
||||
};
|
||||
};
|
||||
}
|
71
packages/lntocp/default.nix
Normal file
71
packages/lntocp/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# All other arguments come from NixPkgs. You can use `pkgs` to pull packages or helpers
|
||||
# programmatically or you may add the named attributes as arguments here.
|
||||
pkgs,
|
||||
stdenv,
|
||||
...
|
||||
}:
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "lntocp";
|
||||
|
||||
runtimeInputs = with pkgs; [ ];
|
||||
|
||||
text = ''
|
||||
#!/bin/bash
|
||||
# This script accepts any number of files or directories as input.
|
||||
# If the input is a symbolic link, it deletes the symlink and copies
|
||||
# the original file or folder (where the symlink points to) to the location
|
||||
# where the symlink was. Non-symlink files or directories are ignored.
|
||||
|
||||
# Function to copy original file/folder in place of the symlink
|
||||
process_symlink() {
|
||||
symlink="$1"
|
||||
|
||||
# Resolve the target (the file or directory the symlink points to)
|
||||
target=$(readlink "$symlink")
|
||||
|
||||
# Check if the target is absolute or relative
|
||||
if [[ ! "$target" =~ ^/ ]]; then
|
||||
# If the target is relative, compute the full path
|
||||
target="$(dirname "$symlink")/$target"
|
||||
fi
|
||||
|
||||
# Check if the target exists
|
||||
if [ -e "$target" ]; then
|
||||
echo "Processing symlink: $symlink -> $target"
|
||||
|
||||
# Remove the symlink
|
||||
rm "$symlink"
|
||||
|
||||
# Copy the original target to the symlink location
|
||||
if [ -d "$target" ]; then
|
||||
# If it's a directory, use 'cp -r'
|
||||
cp -r "$target" "$symlink"
|
||||
else
|
||||
# Otherwise, it's a file, use 'cp'
|
||||
cp "$target" "$symlink"
|
||||
fi
|
||||
echo "Copied $target to $symlink"
|
||||
else
|
||||
echo "Target $target does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
# Loop through all arguments (files and directories passed to the script)
|
||||
for item in "$@"; do
|
||||
if [ -L "$item" ]; then
|
||||
# If the item is a symlink, process it
|
||||
process_symlink "$item"
|
||||
else
|
||||
echo "$item is not a symlink. Skipping."
|
||||
fi
|
||||
done
|
||||
'';
|
||||
}
|
@ -73,8 +73,9 @@
|
||||
locales.enable = true;
|
||||
# thunar.enable = true;
|
||||
pcmanfm.enable = true;
|
||||
# wayland.enable = true;
|
||||
# hyprland.enable = true;
|
||||
wayland.enable = true;
|
||||
hyprland.enable = true;
|
||||
# i3.enable = true;
|
||||
};
|
||||
|
||||
nix.settings.auto-optimise-store = true;
|
||||
@ -96,51 +97,13 @@
|
||||
];
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
hardware.opengl.enable = true;
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
# Enable the XFCE Desktop Environment.
|
||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
|
||||
# services.displayManager.sddm.wayland.enable = true;
|
||||
# services.xserver.desktopManager = {
|
||||
# xterm.enable = false;
|
||||
# xfce = {
|
||||
# enable = true;
|
||||
# noDesktop = true;
|
||||
# enableXfwm = false;
|
||||
# };
|
||||
# };
|
||||
# services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
||||
|
||||
services.xserver.wacom.enable = true;
|
||||
|
||||
services.blueman.enable = true;
|
||||
services.upower.enable = true;
|
||||
|
||||
# TODO: move into i3 module
|
||||
programs.xss-lock = {
|
||||
# responds to "loginctl lock-session" via dbus
|
||||
enable = true;
|
||||
lockerCommand = "${pkgs.i3lock}/bin/i3lock --ignore-empty-password --color=000000";
|
||||
};
|
||||
# services.xserver.xautolock = { # TODO: does not work
|
||||
# enable = true;
|
||||
# time = 1;
|
||||
# };
|
||||
programs.dconf.enable = true;
|
||||
services.logind.lidSwitch = "lock";
|
||||
services.logind.lidSwitchDocked = "lock";
|
||||
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
@ -150,6 +113,25 @@
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
|
||||
services.blueman.enable = true;
|
||||
services.upower.enable = true;
|
||||
|
||||
programs.steam.enable = true;
|
||||
|
||||
programs.dconf.enable = true;
|
||||
services.logind.lidSwitch = "lock";
|
||||
services.logind.lidSwitchDocked = "lock";
|
||||
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user