switch back to sway
This commit is contained in:
parent
4e992e4913
commit
a33b627bd4
12 changed files with 1019 additions and 6 deletions
|
@ -21,6 +21,7 @@
|
|||
services.openssh.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
kitty.terminfo
|
||||
];
|
||||
networking.firewall.allowedTCPPorts = [22];
|
||||
networking.firewall.allowedUDPPortRanges = [
|
||||
|
|
|
@ -80,7 +80,6 @@ in {
|
|||
|
||||
security.pam = {
|
||||
services.login.u2fAuth = true;
|
||||
services.sddm.u2fAuth = true;
|
||||
services.swaylock.u2fAuth = true;
|
||||
u2f = {
|
||||
enable = true;
|
||||
|
@ -152,10 +151,7 @@ in {
|
|||
libinput.enable = true;
|
||||
layout = "de";
|
||||
xkbVariant = "neo";
|
||||
displayManager.sddm.enable = true;
|
||||
displayManager.sddm.wayland.enable = true;
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.defaultSession = "plasma";
|
||||
displayManager.lightdm.enable = false;
|
||||
extraLayouts.zlr = {
|
||||
description = "lojban layout";
|
||||
languages = ["jbo"];
|
||||
|
|
|
@ -12,7 +12,10 @@
|
|||
++ (
|
||||
if desktop
|
||||
then [
|
||||
../programs/sway.nix
|
||||
../programs/firefox.nix
|
||||
../programs/theming.nix
|
||||
../programs/waybar.nix
|
||||
../programs/ims.nix
|
||||
../programs/syncthing.nix
|
||||
../programs/plover.nix
|
||||
|
@ -25,7 +28,6 @@
|
|||
../programs/zk.nix
|
||||
../programs/fcitx.nix
|
||||
../programs/gpg.nix
|
||||
../programs/kdeconnect.nix
|
||||
../programs/zoom.nix
|
||||
]
|
||||
else []
|
||||
|
|
9
config/kde.nix
Normal file
9
config/kde.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
security.pam.services.sddm.u2fAuth = true;
|
||||
services.xserver = {
|
||||
displayManager.sddm.enable = true;
|
||||
displayManager.sddm.wayland.enable = true;
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.defaultSession = "plasma";
|
||||
};
|
||||
}
|
5
config/programs/pass-secret-service.nix
Normal file
5
config/programs/pass-secret-service.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
services.pass-secret-service = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
154
config/programs/sway.nix
Normal file
154
config/programs/sway.nix
Normal file
|
@ -0,0 +1,154 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
c = "$";
|
||||
switch_window = pkgs.writeScript "switchWindow" ''
|
||||
set -euo pipefail
|
||||
tree=$(${pkgs.sway}/bin/swaymsg -t get_tree)
|
||||
readarray -t win_ids <<< "$(${pkgs.jq}/bin/jq -r '.. | objects | select(has("app_id")) | .id' <<< "$tree")"
|
||||
readarray -t win_names <<< "$(${pkgs.jq}/bin/jq -r '.. | objects | select(has("app_id")) | .name' <<< "$tree")"
|
||||
readarray -t win_types <<< "$(${pkgs.jq}/bin/jq -r '.. | objects | select(has("app_id")) | .app_id // .window_properties.class' <<< "$tree")"
|
||||
switch () {
|
||||
local k
|
||||
read -r k
|
||||
swaymsg "[con_id=${c}{win_ids[$k]}] focus"
|
||||
}
|
||||
for k in $(seq 0 $((${c}{#win_ids[@]} - 1))); do
|
||||
echo -e "<span weight=\"bold\">${c}{win_types[$k]}</span> - ${c}{win_names[$k]}"
|
||||
done | rofi -dmenu -markup-rows -i -p window -format i | switch
|
||||
'';
|
||||
screenshot_then_switch = pkgs.writeScript "screenshotThenSwitch" ''
|
||||
${pkgs.sway-contrib.grimshot}/bin/grimshot "$@"
|
||||
${pkgs.sway}/bin/swaymsg mode default
|
||||
'';
|
||||
mkKeybind = combo: number: [
|
||||
{
|
||||
name = "Mod4+${combo}";
|
||||
value = "workspace number ${toString number}";
|
||||
}
|
||||
{
|
||||
name = "Mod4+Shift+${combo}";
|
||||
value = "move container to workspace number ${toString number}";
|
||||
}
|
||||
];
|
||||
keys = ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "f1" "f2" "f3" "f4" "f5" "f6" "f7" "f8" "f9" "f10" "f11" "f12"];
|
||||
combos = lib.concatMap (k: map (s: "${k}${s}") keys) ["" "ctrl+" "alt+" "ctrl+alt+"];
|
||||
keybinds = lib.flatten (lib.zipListsWith mkKeybind combos (lib.lists.range 0 ((lib.lists.length combos) - 1)));
|
||||
in {
|
||||
imports = [
|
||||
./wl-clipboard.nix
|
||||
./mako.nix
|
||||
./swayidle.nix
|
||||
./rofi.nix
|
||||
./fcitx.nix
|
||||
./pass-secret-service.nix
|
||||
./kitty.nix
|
||||
./mpd.nix
|
||||
];
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "de,de";
|
||||
xkb_variant = "neo_qwertz,neo";
|
||||
xkb_options = "grp:ctrls_toggle";
|
||||
};
|
||||
};
|
||||
output = {
|
||||
"DP-1" = {
|
||||
mode = "2560x1440@74.971Hz";
|
||||
position = "0 0";
|
||||
subpixel = "rgb";
|
||||
adaptive_sync = "on";
|
||||
};
|
||||
"HDMI-A-1" = {
|
||||
mode = "1920x1080@60Hz";
|
||||
position = "2560 0";
|
||||
subpixel = "rgb";
|
||||
};
|
||||
};
|
||||
keybindings = let
|
||||
inherit (config.wayland.windowManager.sway.config) modifier;
|
||||
in
|
||||
lib.mkOptionDefault ({
|
||||
"${modifier}+Return" = "exec ${pkgs.kitty}/bin/kitty";
|
||||
"${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun";
|
||||
"Print" = "mode screenshot";
|
||||
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
"XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
|
||||
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
|
||||
"XF86AudioPlay" = "exec ${pkgs.mpc-cli}/bin/mpc toggle";
|
||||
"XF86AudioNext" = "exec ${pkgs.mpc-cli}/bin/mpc next";
|
||||
"XF86AudioPrev" = "exec ${pkgs.mpc-cli}/bin/mpc prev";
|
||||
"XF86AudioStop" = "exec ${pkgs.mpc-cli}/bin/mpc stop";
|
||||
"Mod1+Tab" = "exec ${switch_window}";
|
||||
}
|
||||
// (lib.listToAttrs keybinds));
|
||||
bars = [
|
||||
{
|
||||
command = "${pkgs.waybar}/bin/waybar";
|
||||
}
|
||||
];
|
||||
modes = {
|
||||
screenshot = {
|
||||
Print = "exec ${screenshot_then_switch} copy area";
|
||||
"Shift+Print" = "exec ${screenshot_then_switch} save area $HOME/Pictures/grim-$(date --iso=s | sed 's/:/-/g').png";
|
||||
a = "exec ${screenshot_then_switch} copy active";
|
||||
"Shift+a" = "exec ${screenshot_then_switch} save active $HOME/Pictures/grim-$(date --iso=s | sed 's/:/-/g').png";
|
||||
s = "exec ${screenshot_then_switch} copy screen";
|
||||
"Shift+s" = "exec ${screenshot_then_switch} save screen $HOME/Pictures/grim-$(date --iso=s | sed 's/:/-/g').png";
|
||||
o = "exec ${screenshot_then_switch} copy output";
|
||||
"Shift+o" = "exec ${screenshot_then_switch} save output $HOME/Pictures/grim-$(date --iso=s | sed 's/:/-/g').png";
|
||||
w = "exec ${screenshot_then_switch} copy window";
|
||||
"Shift+w" = "exec ${screenshot_then_switch} save window $HOME/Pictures/grim-$(date --iso=s | sed 's/:/-/g').png";
|
||||
Escape = ''mode "default"'';
|
||||
Return = ''mode "default"'';
|
||||
};
|
||||
};
|
||||
};
|
||||
wrapperFeatures = {
|
||||
base = true;
|
||||
gtk = true;
|
||||
};
|
||||
extraSessionCommands =
|
||||
''
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export XDG_CURRENT_DESKTOP=sway
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
export QT_AUTO_SCREEN_SCALE_FACTOR=0
|
||||
export QT_SCALE_FACTOR=1
|
||||
export GDK_SCALE=1
|
||||
export GDK_DPI_SCALE=1
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
export GTK_IM_MODULE=fcitx
|
||||
export QT_IM_MODULE=fcitx
|
||||
export XMODIFIERS=@im=fcitx
|
||||
export GLFW_IM_MODULE=ibus
|
||||
export SDL_IM_MODULE=fcitx
|
||||
''
|
||||
+ (
|
||||
if system == "x86_64-linux"
|
||||
then ''
|
||||
export VK_ICD_FILENAMES=/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json:/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json:/run/opengl-driver-32/share/vulkan/icd.d/radeon_icd.i686.json:/run/opengl-driver-32/share/vulkan/icd.d/intel_icd.i686.json
|
||||
''
|
||||
else ""
|
||||
);
|
||||
extraConfig = ''
|
||||
default_border none
|
||||
gaps outer 8
|
||||
gaps inner 4
|
||||
'';
|
||||
};
|
||||
home.file.".XCompose".source = ../../extra/.XCompose;
|
||||
}
|
52
config/programs/swayidle.nix
Normal file
52
config/programs/swayidle.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{pkgs, ...}: let
|
||||
lock-script = pkgs.writeScript "suspend" ''
|
||||
${pkgs.swaylock}/bin/swaylock -f -c 000000
|
||||
${pkgs.mpc-cli}/bin/mpc pause
|
||||
'';
|
||||
screen-off-script = pkgs.writeScript "screenOff" ''
|
||||
${pkgs.sway}/bin/swaymsg "output * dpms off"
|
||||
'';
|
||||
suspend-script = pkgs.writeScript "suspend" ''
|
||||
${pkgs.systemd}/bin/systemctl suspend
|
||||
'';
|
||||
resume-script = pkgs.writeScript "resume" ''
|
||||
${pkgs.sway}/bin/swaymsg "output * dpms on"
|
||||
'';
|
||||
unlock-script = pkgs.writeScript "unlock" ''
|
||||
${pkgs.procps}/bin/pkill swaylock
|
||||
${pkgs.mpc-cli}/bin/mpc play
|
||||
'';
|
||||
in {
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${lock-script}";
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = "${lock-script}";
|
||||
}
|
||||
{
|
||||
event = "unlock";
|
||||
command = "${unlock-script}";
|
||||
}
|
||||
];
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 300;
|
||||
command = "${lock-script}";
|
||||
}
|
||||
{
|
||||
timeout = 305;
|
||||
command = "${screen-off-script}";
|
||||
resumeCommand = "${resume-script}";
|
||||
}
|
||||
{
|
||||
timeout = 900;
|
||||
command = "${suspend-script}";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
596
config/programs/theming.nix
Normal file
596
config/programs/theming.nix
Normal file
|
@ -0,0 +1,596 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
colorpickle,
|
||||
withNSFW,
|
||||
lib,
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
}: let
|
||||
theme = import ../../extra/theme.nix;
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
|
||||
prepBGs = [
|
||||
["${pkgs.lotte-art}/2021-01-27-ceeza-lottedonut.jxl" "-crop" "2048x1152+0+106"]
|
||||
["${pkgs.lotte-art}/2021-09-15-cloverhare-lotteplush.jxl" "-crop" "1774x997+0+173"]
|
||||
["${pkgs.lotte-art}/2022-11-15-wolfsifi-maff-me-leashed.jxl" "-crop" "1699x956+0+88"]
|
||||
];
|
||||
|
||||
prepBGsNSFW = [
|
||||
["${pkgs.lotte-art}/2021-11-27-theroguez-lottegassyvore1.jxl" "-crop" "1233x694+0+65"]
|
||||
["${pkgs.lotte-art}/2021-12-12-baltnwolf-christmas-diaper.jxl" "-crop" "2599x1462+0+294"]
|
||||
["${pkgs.lotte-art}/2021-12-12-baltnwolf-christmas-diaper-messy.jxl" "-crop" "2599x1462+0+294"]
|
||||
["${pkgs.lotte-art}/2022-04-20-cloverhare-mxbatty-maffsie-train-plush.jxl" "-crop" "3377x1900+0+211"]
|
||||
["${pkgs.lotte-art}/2022-04-20-cloverhare-mxbatty-me-train-maffsie-plush.jxl" "-crop" "3377x1900+0+211"]
|
||||
["${pkgs.lotte-art}/2022-12-27-rexyi-scatych.jxl" "-crop" "2000x1120+0+0"]
|
||||
["${pkgs.lotte-art}/2023-03-09-rexyi-voredisposal-ych.jxl" "-crop" "2000x1120+0+0"]
|
||||
["${pkgs.lotte-art}/2023-04-16-baltnwolf-lottediaperplushies.jxl" "-gravity" "center" "-background" "white" "-extent" "5333x3000"]
|
||||
["${pkgs.lotte-art}/2023-04-16-baltnwolf-lottediaperplushies-messy.jxl" "-gravity" "center" "-background" "white" "-extent" "5333x3000"]
|
||||
["${pkgs.lotte-art}/2023-08-09-coldquarantine-lotte-eating-trash.jxl" "-crop" "6000x3375+0+312"]
|
||||
["${pkgs.lotte-art}/2023-08-20-coldquarantine-lotte-eating-trash-clean.jxl" "-crop" "6000x3375+0+312"]
|
||||
["${pkgs.lotte-art}/2023-08-10-coldquarantine-lotte-eating-trash-diapers.jxl" "-crop" "6000x3375+0+312"]
|
||||
];
|
||||
|
||||
fixupImage = instructions:
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "bg.jxl";
|
||||
src = pkgs.emptyDirectory;
|
||||
nativeBuildInputs = [pkgs.imagemagick];
|
||||
buildPhase = ''
|
||||
convert ${toString instructions} $out
|
||||
'';
|
||||
installPhase = "true";
|
||||
};
|
||||
|
||||
validBGs = ["${pkgs.lotte-art}/2020-07-24-urbankitsune-bna-ych.jxl" "${pkgs.lotte-art}/2022-05-02-anonfurryartist-giftart.jxl" "${pkgs.lotte-art}/2022-06-21-sammythetanuki-lotteplushpride.jxl"] ++ (map fixupImage prepBGs);
|
||||
validBGsNSFW = ["${pkgs.lotte-art}/2021-10-29-butterskunk-lotte-scat-buffet.jxl" "${pkgs.lotte-art}/2022-08-12-deathtoaster-funpit-scat.jxl" "${pkgs.lotte-art}/2022-08-15-deathtoaster-funpit-mud.jxl"] ++ (map fixupImage prepBGsNSFW) ++ validBGs;
|
||||
|
||||
mod = a: b: a - (a / b * b);
|
||||
choose = l: rand: let len = builtins.length l; in builtins.elemAt l (mod rand len);
|
||||
hexToIntList = {
|
||||
"0" = 0;
|
||||
"1" = 1;
|
||||
"2" = 2;
|
||||
"3" = 3;
|
||||
"4" = 4;
|
||||
"5" = 5;
|
||||
"6" = 6;
|
||||
"7" = 7;
|
||||
"8" = 8;
|
||||
"9" = 9;
|
||||
"a" = 10;
|
||||
"b" = 11;
|
||||
"c" = 12;
|
||||
"d" = 13;
|
||||
"e" = 14;
|
||||
"f" = 15;
|
||||
"A" = 10;
|
||||
"B" = 11;
|
||||
"C" = 12;
|
||||
"D" = 13;
|
||||
"E" = 14;
|
||||
"F" = 15;
|
||||
};
|
||||
hexToInt = s: lib.foldl (state: new: state * 16 + hexToIntList.${new}) 0 (lib.strings.stringToCharacters s);
|
||||
|
||||
seed = hexToInt (self.shortRev or nixpkgs.shortRev);
|
||||
bg =
|
||||
choose (
|
||||
if withNSFW
|
||||
then validBGsNSFW
|
||||
else validBGs
|
||||
)
|
||||
seed;
|
||||
|
||||
color = n:
|
||||
config.environment.graphical.colors.main."${builtins.toString n}";
|
||||
colorD = n:
|
||||
config.environment.graphical.colors.disabled."${builtins.toString n}";
|
||||
colorI = n:
|
||||
config.environment.graphical.colors.inactive."${builtins.toString n}";
|
||||
|
||||
color' = n: mkLiteral (color n);
|
||||
bgPng = pkgs.stdenv.mkDerivation {
|
||||
name = "bg.png";
|
||||
src = pkgs.emptyDirectory;
|
||||
nativeBuildInputs = [pkgs.imagemagick];
|
||||
buildPhase = ''
|
||||
convert ${bg} $out
|
||||
'';
|
||||
installPhase = "true";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
colorpickle.nixosModules.default
|
||||
];
|
||||
environment.graphical.colorschemes.main = {
|
||||
image = bgPng;
|
||||
params = ["--lighten" "-0.1"];
|
||||
};
|
||||
environment.graphical.colorschemes.disabled = {
|
||||
image = bgPng;
|
||||
params = ["--lighten" "-0.2" "--saturate" "-0.5"];
|
||||
};
|
||||
environment.graphical.colorschemes.inactive = {
|
||||
image = bgPng;
|
||||
params = ["--lighten" "-0.3"];
|
||||
};
|
||||
wayland.windowManager.sway.config.output."*".bg = "${bgPng} fill";
|
||||
dconf.settings."org/gnome/desktop/interface" = {
|
||||
icon-theme = "breeze-dark";
|
||||
cursor-theme = "Vanilla-DMZ";
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
gtk2.extraConfig = ''
|
||||
gtk-cursor-theme-name = "Vanilla-DMZ"
|
||||
gtk-cursor-theme-size = 0
|
||||
'';
|
||||
gtk3.extraConfig = {
|
||||
gtk-cursor-theme-name = "Vanilla-DMZ";
|
||||
gtk-cursor-theme-size = 0;
|
||||
};
|
||||
font = {
|
||||
package = pkgs.noto-fonts;
|
||||
name = "Noto Sans";
|
||||
size = 10;
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.libsForQt5.breeze-icons;
|
||||
name = "breeze-dark";
|
||||
};
|
||||
theme = {
|
||||
name = "Catppuccin-Mocha-Compact-Pink-Dark";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = ["pink"];
|
||||
size = "compact";
|
||||
tweaks = ["rimless" "black"];
|
||||
variant = "mocha";
|
||||
};
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
style = {
|
||||
name = "lightly";
|
||||
package = pkgs.plasma5Packages.lightly;
|
||||
};
|
||||
platformTheme = "qtct";
|
||||
};
|
||||
xdg.configFile."qt5ct/colors/Catppuccin-Custom.conf".text = ''
|
||||
[ColorScheme]
|
||||
active_colors=${color 15}, ${color 0}, #ffa6adc8, #ff9399b2, ${color 1}, #ff6c7086, ${color 15}, ${color 15}, ${color 15}, ${color 0}, ${colorD 0}, #ff7f849c, ${color 8}, ${color 0}, ${color 13}, ${color 5}, ${color 0}, ${color 15}, ${colorI 0}, ${color 5}, #807f849c
|
||||
disabled_colors=${colorD 15}, ${colorD 0}, #ffa6adc8, #ff9399b2, ${colorD 1}, #ff6c7086, ${colorD 15}, ${colorD 15}, ${colorD 15}, ${colorD 0}, ${colorD 0}, #ff7f849c, ${colorD 8}, ${colorD 0}, ${colorD 13}, ${colorD 5}, ${colorD 0}, ${colorD 15}, ${colorI 0}, ${colorD 5}, #807f849c
|
||||
inactive_colors=${colorI 15}, ${colorI 0}, #ffa6adc8, #ff9399b2, ${colorI 1}, #ff6c7086, ${colorI 15}, ${colorI 15}, ${colorI 15}, ${colorI 0}, ${colorD 0}, #ff7f849c, ${colorI 8}, ${colorI 0}, ${colorI 13}, ${colorI 5}, ${colorI 0}, ${colorI 15}, ${colorI 0}, ${colorI 5}, #807f849c
|
||||
'';
|
||||
nixpkgs.overlays = [
|
||||
(super: self: {
|
||||
python3 = super.python.override {
|
||||
packageOverrides = self: super: {
|
||||
python3Packages = self.python3.pkgs;
|
||||
catppuccin = super.catppuccin.overrideAttrs (super: {
|
||||
patches =
|
||||
super.patches
|
||||
or []
|
||||
++ [
|
||||
(pkgs.writeText "color.patch" ''
|
||||
diff --git a/catppuccin/colour.py b/catppuccin/colour.py
|
||||
index 193eea7..7620cf0 100644
|
||||
--- a/catppuccin/colour.py
|
||||
+++ b/catppuccin/colour.py
|
||||
@@ -43,6 +43,9 @@ class Colour:
|
||||
@classmethod
|
||||
def from_hex(cls, hex_string: str) -> Colour:
|
||||
"""Create a colour from hex string."""
|
||||
+ if hex_string.startswith("#"):
|
||||
+ hex_string = hex_string[1:]
|
||||
+
|
||||
if len(hex_string) not in (6, 8):
|
||||
raise ValueError("Hex string must be 6 or 8 characters long.")
|
||||
diff --git a/catppuccin/flavour.py b/catppuccin/flavour.py
|
||||
index aa7df98..4bf849a 100644
|
||||
--- a/catppuccin/flavour.py
|
||||
+++ b/catppuccin/flavour.py
|
||||
@@ -138,30 +138,30 @@ class Flavour: # pylint: disable=too-many-instance-attributes
|
||||
def mocha() -> "Flavour":
|
||||
"""Mocha flavoured Catppuccin."""
|
||||
return Flavour(
|
||||
- rosewater=Colour(245, 224, 220),
|
||||
- flamingo=Colour(242, 205, 205),
|
||||
- pink=Colour(245, 194, 231),
|
||||
- mauve=Colour(203, 166, 247),
|
||||
- red=Colour(243, 139, 168),
|
||||
- maroon=Colour(235, 160, 172),
|
||||
- peach=Colour(250, 179, 135),
|
||||
- yellow=Colour(249, 226, 175),
|
||||
- green=Colour(166, 227, 161),
|
||||
- teal=Colour(148, 226, 213),
|
||||
- sky=Colour(137, 220, 235),
|
||||
- sapphire=Colour(116, 199, 236),
|
||||
- blue=Colour(137, 180, 250),
|
||||
- lavender=Colour(180, 190, 254),
|
||||
- text=Colour(205, 214, 244),
|
||||
+ rosewater=Colour.from_hex("${color 1}"),
|
||||
+ flamingo=Colour.from_hex("${color 2}"),
|
||||
+ pink=Colour.from_hex("${color 3}"),
|
||||
+ mauve=Colour.from_hex("${color 4}"),
|
||||
+ red=Colour.from_hex("${color 5}"),
|
||||
+ maroon=Colour.from_hex("${color 6}"),
|
||||
+ peach=Colour.from_hex("${color 7}"),
|
||||
+ yellow=Colour.from_hex("${color 8}"),
|
||||
+ green=Colour.from_hex("${color 9}"),
|
||||
+ teal=Colour.from_hex("${color 10}"),
|
||||
+ sky=Colour.from_hex("${color 11}"),
|
||||
+ sapphire=Colour.from_hex("${color 12}"),
|
||||
+ blue=Colour.from_hex("${color 13}"),
|
||||
+ lavender=Colour.from_hex("${color 14}"),
|
||||
+ text=Colour.from_hex("${color 15}"),
|
||||
subtext1=Colour(186, 194, 222),
|
||||
subtext0=Colour(166, 173, 200),
|
||||
overlay2=Colour(147, 153, 178),
|
||||
overlay1=Colour(127, 132, 156),
|
||||
overlay0=Colour(108, 112, 134),
|
||||
- surface2=Colour(88, 91, 112),
|
||||
- surface1=Colour(69, 71, 90),
|
||||
- surface0=Colour(49, 50, 68),
|
||||
- base=Colour(30, 30, 46),
|
||||
- mantle=Colour(24, 24, 37),
|
||||
- crust=Colour(17, 17, 27),
|
||||
+ surface2=Colour.from_hex("${color 2}"),
|
||||
+ surface1=Colour.from_hex("${color 1}"),
|
||||
+ surface0=Colour.from_hex("${color 0}"),
|
||||
+ base=Colour.from_hex("${color 0}"),
|
||||
+ mantle=Colour.from_hex("${color 0}"),
|
||||
+ crust=Colour.from_hex("${color 0}"),
|
||||
)
|
||||
'')
|
||||
];
|
||||
});
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".icons/default/index.theme".text = ''
|
||||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Vanilla-DMZ
|
||||
'';
|
||||
};
|
||||
programs.kitty.settings = with theme; {
|
||||
background = color 0;
|
||||
foreground = color 15;
|
||||
cursor = color 15;
|
||||
selection_background = "#4f414c";
|
||||
color0 = color 0;
|
||||
color1 = color 1;
|
||||
color2 = color 2;
|
||||
color3 = color 3;
|
||||
color4 = color 4;
|
||||
color5 = color 5;
|
||||
color6 = color 6;
|
||||
color7 = color 7;
|
||||
color8 = color 8;
|
||||
color9 = color 9;
|
||||
color10 = color 10;
|
||||
color11 = color 11;
|
||||
color12 = color 12;
|
||||
color13 = color 13;
|
||||
color14 = color 14;
|
||||
color15 = color 15;
|
||||
};
|
||||
# Taken from https://github.com/jakehamilton/dotfiles/blob/master/waybar/style.css
|
||||
programs.waybar.style = with theme; ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-size: 14px;
|
||||
min-height: 24px;
|
||||
font-family: "NotoSansDisplay Nerd Font", "Noto Sans Mono CJK JP";
|
||||
color: ${color 0};
|
||||
}
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
color: ${color 15};
|
||||
opacity: 0.9;
|
||||
}
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
#window {
|
||||
margin-top: 8px;
|
||||
padding: 0px 16px 0px 16px;
|
||||
border-radius: 24px;
|
||||
transition: none;
|
||||
background: transparent;
|
||||
}
|
||||
#workspaces {
|
||||
margin-top: 8px;
|
||||
margin-left: 12px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
background-color: ${color 0};
|
||||
color: ${color 15};
|
||||
transition: none;
|
||||
}
|
||||
#workspaces button {
|
||||
transition: none;
|
||||
background: transparent;
|
||||
font-size: 16px;
|
||||
color: ${color 15};
|
||||
}
|
||||
#workspaces button.focused {
|
||||
background: ${color 13};
|
||||
color: ${color 0};
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background: ${color 10};
|
||||
color: ${color 0};
|
||||
}
|
||||
#mpd {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
background: ${color 2};
|
||||
transition: none;
|
||||
}
|
||||
#mpd.disconnected,
|
||||
#mpd.stopped {
|
||||
background: ${color 4};
|
||||
}
|
||||
#network {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
transition: none;
|
||||
background: ${color 13};
|
||||
}
|
||||
#pulseaudio {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
transition: none;
|
||||
background: ${color 11};
|
||||
}
|
||||
#temperature, #battery {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
transition: none;
|
||||
background: ${color 2};
|
||||
}
|
||||
#cpu, #backlight, #battery.warning {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
transition: none;
|
||||
background: ${color 14};
|
||||
}
|
||||
#memory, #battery.critical {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 24px;
|
||||
transition: none;
|
||||
background: ${color 12};
|
||||
}
|
||||
#clock {
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
margin-right: 12px;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 26px;
|
||||
transition: none;
|
||||
background: ${color 0};
|
||||
color: ${color 15};
|
||||
}
|
||||
'';
|
||||
|
||||
wayland.windowManager.sway.extraConfig = with theme; ''
|
||||
# target title bg text indicator border
|
||||
client.focused ${color 5} ${color 0} ${color 15} ${color 12} ${color 5}
|
||||
client.focused_inactive ${color 13} ${color 0} ${color 15} ${color 12} ${color 13}
|
||||
client.unfocused ${color 13} ${color 0} ${color 15} ${color 12} ${color 13}
|
||||
client.urgent ${color 14} ${color 0} ${color 14} ${color 8} ${color 14}
|
||||
client.placeholder ${color 8} ${color 0} ${color 15} ${color 8} ${color 8}
|
||||
client.background ${color 0}
|
||||
seat seat0 xcursor_theme breeze-dark 24
|
||||
'';
|
||||
home.packages = with pkgs; [
|
||||
libsForQt5.breeze-icons
|
||||
libsForQt5.qt5ct
|
||||
vanilla-dmz
|
||||
pkgs.plasma5Packages.lightly
|
||||
];
|
||||
|
||||
programs.rofi.theme = with theme; let
|
||||
element = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
};
|
||||
in {
|
||||
"*" = {
|
||||
bg-col = color' 0;
|
||||
bg-col-light = color' 0;
|
||||
border-col = color' 0;
|
||||
selected-col = color' 0;
|
||||
blue = color' 1;
|
||||
fg-col = color' 15;
|
||||
fg-col2 = color' 12;
|
||||
grey = color' 8;
|
||||
width = 600;
|
||||
};
|
||||
element-text = element;
|
||||
window = {
|
||||
height = mkLiteral "360px";
|
||||
border = mkLiteral "3px";
|
||||
border-color = mkLiteral "@border-col";
|
||||
background-color = mkLiteral "@bg-col";
|
||||
};
|
||||
mainbox = {
|
||||
background-color = mkLiteral "@bg-col";
|
||||
};
|
||||
inputbar = {
|
||||
children = map mkLiteral ["prompt" "entry"];
|
||||
background-color = mkLiteral "@bg-col";
|
||||
border-radius = mkLiteral "5px";
|
||||
padding = mkLiteral "2px";
|
||||
};
|
||||
prompt = {
|
||||
background-color = mkLiteral "@blue";
|
||||
padding = mkLiteral "6px";
|
||||
text-color = mkLiteral "@bg-col";
|
||||
border-radius = mkLiteral "3px";
|
||||
margin = mkLiteral "20px 0px 0px 20px";
|
||||
};
|
||||
|
||||
textbox-prompt-colon = {
|
||||
expand = mkLiteral "false";
|
||||
str = ":";
|
||||
};
|
||||
|
||||
entry = {
|
||||
padding = mkLiteral "6px";
|
||||
margin = mkLiteral "20px 0px 0px 10px";
|
||||
text-color = mkLiteral "@fg-col";
|
||||
background-color = mkLiteral "@bg-col";
|
||||
};
|
||||
|
||||
listview = {
|
||||
border = mkLiteral "0px 0px 0px";
|
||||
padding = mkLiteral "6px 0px 0px";
|
||||
margin = mkLiteral "10px 0px 0px 20px";
|
||||
columns = 2;
|
||||
lines = 5;
|
||||
background-color = mkLiteral "@bg-col";
|
||||
};
|
||||
|
||||
element = {
|
||||
padding = mkLiteral "5px";
|
||||
background-color = mkLiteral "@bg-col";
|
||||
text-color = mkLiteral "@fg-col";
|
||||
};
|
||||
|
||||
element-icon =
|
||||
element
|
||||
// {
|
||||
size = mkLiteral "25px";
|
||||
};
|
||||
|
||||
"element selected" = {
|
||||
background-color = mkLiteral "@selected-col";
|
||||
text-color = mkLiteral "@fg-col2";
|
||||
};
|
||||
|
||||
mode-switcher =
|
||||
element
|
||||
// {
|
||||
spacing = 0;
|
||||
};
|
||||
|
||||
button = {
|
||||
padding = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-col-light";
|
||||
text-color = mkLiteral "@grey";
|
||||
vertical-align = mkLiteral "0.5";
|
||||
horizontal-align = mkLiteral "0.5";
|
||||
};
|
||||
|
||||
"button selected" = {
|
||||
background-color = mkLiteral "@bg-col";
|
||||
text-color = mkLiteral "@blue";
|
||||
};
|
||||
|
||||
message = {
|
||||
background-color = mkLiteral "@bg-col-light";
|
||||
margin = mkLiteral "2px";
|
||||
padding = mkLiteral "2px";
|
||||
border-radius = mkLiteral "5px";
|
||||
};
|
||||
|
||||
textbox = {
|
||||
padding = mkLiteral "6px";
|
||||
margin = mkLiteral "20px 0px 0px 20px";
|
||||
text-color = mkLiteral "@blue";
|
||||
background-color = mkLiteral "@bg-col-light";
|
||||
};
|
||||
};
|
||||
programs.neomutt.extraConfig = ''
|
||||
color normal default default # Text is "Text"
|
||||
color index color2 default ~N # New Messages are Green
|
||||
color index color1 default ~F # Flagged messages are Red
|
||||
color index color13 default ~T # Tagged Messages are Red
|
||||
color index color1 default ~D # Messages to delete are Red
|
||||
color attachment color5 default # Attachments are Pink
|
||||
color signature color8 default # Signatures are Surface 2
|
||||
color search color4 default # Highlighted results are Blue
|
||||
color indicator default color8 # currently highlighted message Surface 2=Background Text=Foreground
|
||||
color error color1 default # error messages are Red
|
||||
color status color15 default # status line "Subtext 0"
|
||||
color tree color15 default # thread tree arrows Subtext 0
|
||||
color tilde color15 default # blank line padding Subtext 0
|
||||
color hdrdefault color13 default # default headers Pink
|
||||
color header color13 default "^From:"
|
||||
color header color13 default "^Subject:"
|
||||
color quoted color15 default # Subtext 0
|
||||
color quoted1 color7 default # Subtext 1
|
||||
color quoted2 color8 default # Surface 2
|
||||
color quoted3 color0 default # Surface 1
|
||||
color quoted4 color0 default
|
||||
color quoted5 color0 default
|
||||
color body color2 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses Green
|
||||
color body color2 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs Green
|
||||
color body color4 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text Blue
|
||||
color body color4 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text Blue
|
||||
color body color4 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text Blue
|
||||
color sidebar_flagged color1 default # Mailboxes with flagged mails are Red
|
||||
color sidebar_new color10 default # Mailboxes with new mail are Green
|
||||
'';
|
||||
home.file.".local/share/mc/skins/catppuccin.ini".source = ../../extra/mc-catppuccin.ini;
|
||||
systemd.user.services.transparency = {
|
||||
Unit = {
|
||||
Description = "transparency";
|
||||
After = ["graphical-session-pre.target"];
|
||||
PartOf = ["graphical-session.target"];
|
||||
};
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Service = {
|
||||
ExecStart = "${pkgs.python3.withPackages (ps: with ps; [i3ipc])}/bin/python ${./transparency.py}";
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.initExtra =
|
||||
if withNSFW
|
||||
then ''
|
||||
export CARGO_MOMMYS_MOODS=chill/ominous/thirsty/yikes
|
||||
export CARGO_MOMMYS_LITTLE=racc/plush
|
||||
export CARGO_MOMMYS_PARTS=shit/pee
|
||||
export CARGO_MOMMYS_FUCKING="pet/toy/toilet/shitslut/septic tank"
|
||||
''
|
||||
else ''
|
||||
export CARGO_MOMMYS_MOODS=chill/ominous
|
||||
export CARGO_MOMMYS_LITTLE=racc/plush
|
||||
'';
|
||||
}
|
131
config/programs/waybar.nix
Normal file
131
config/programs/waybar.nix
Normal file
|
@ -0,0 +1,131 @@
|
|||
{pkgs, ...}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main_bar = {
|
||||
spacing = 4;
|
||||
modules-left = [
|
||||
"sway/workspaces"
|
||||
"sway/mode"
|
||||
];
|
||||
modules-center = [
|
||||
"sway/window"
|
||||
];
|
||||
modules-right = [
|
||||
"mpd"
|
||||
"idle_inhibitor"
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"cpu"
|
||||
"memory"
|
||||
"temperature"
|
||||
"backlight"
|
||||
"battery"
|
||||
"battery#bat2"
|
||||
"clock"
|
||||
"tray"
|
||||
];
|
||||
keyboard-state = {
|
||||
numlock = true;
|
||||
capslock = true;
|
||||
format = "{name} {icon}";
|
||||
};
|
||||
"sway/mode" = {
|
||||
format = "{}";
|
||||
};
|
||||
mpd = {
|
||||
format = "{stateIcon} {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})";
|
||||
format-disconnected = "ﳌ";
|
||||
format-stopped = "";
|
||||
unknown-tag = "N/A";
|
||||
interval = 2;
|
||||
consume-icons = {
|
||||
on = " ";
|
||||
};
|
||||
random-icons = {
|
||||
off = "<span color=\"#f53c3c\"></span> ";
|
||||
on = " ";
|
||||
};
|
||||
repeat-icons = {
|
||||
on = " ";
|
||||
};
|
||||
single-icons = {
|
||||
on = "1 ";
|
||||
};
|
||||
state-icons = {
|
||||
paused = "";
|
||||
playing = "";
|
||||
};
|
||||
tooltip-format = "MPD (connected)";
|
||||
tooltip-format-disconnected = "MPD (disconnected)";
|
||||
on-click = "${pkgs.mpc-cli}/bin/mpc toggle";
|
||||
on-click-middle = "${pkgs.kitty}/bin/kitty ${pkgs.ncmpcpp}/bin/ncmpcpp";
|
||||
on-click-right = "${pkgs.mpc-cli}/bin/mpc stop";
|
||||
on-scroll-up = "${pkgs.mpc-cli}/bin/mpc seekthrough +00:00:01";
|
||||
on-scroll-down = "${pkgs.mpc-cli}/bin/mpc seekthrough -00:00:01";
|
||||
};
|
||||
idle_inhibitor = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
tray = {
|
||||
spacing = 10;
|
||||
};
|
||||
clock = {
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format = "{:%H:%M}";
|
||||
};
|
||||
cpu = {
|
||||
format = "{usage}% ";
|
||||
tooltip = false;
|
||||
};
|
||||
memory = {
|
||||
format = "{}% ";
|
||||
};
|
||||
temperature = {
|
||||
critical-threshold = 80;
|
||||
format = "{temperatureC}℃ {icon}";
|
||||
format-icons = ["" "" ""];
|
||||
};
|
||||
backlight = {
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = ["" ""];
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
format-plugged = "{capacity}% ";
|
||||
format-alt = "{time} {icon}";
|
||||
format-icons = ["" "" "" "" ""];
|
||||
};
|
||||
"battery#bat2" = {
|
||||
bat = "BAT2";
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {essid} {ipaddr}";
|
||||
format-ethernet = " {ipaddr}";
|
||||
};
|
||||
pulseaudio = {
|
||||
format = "{icon} {volume}%";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = ["" "" ""];
|
||||
};
|
||||
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -6,6 +6,14 @@ desktop: _: {
|
|||
enableCompletion = true;
|
||||
enableVteIntegration = desktop;
|
||||
autocd = true;
|
||||
loginExtra =
|
||||
if desktop
|
||||
then ''
|
||||
if [[ -z "$DISPLAY" ]] && [[ $(tty) = "/dev/tty1" ]]; then
|
||||
exec sway
|
||||
fi
|
||||
''
|
||||
else "";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
49
flake.lock
49
flake.lock
|
@ -145,6 +145,32 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"colorpickle": {
|
||||
"inputs": {
|
||||
"naersk": [
|
||||
"naersk"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"utils": [
|
||||
"flake-utils"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1700940986,
|
||||
"narHash": "sha256-+7eo8Y0YkuQeGDIHtEGPpoJQNGSxpzkg4UPR63xJiss=",
|
||||
"owner": "AgathaSorceress",
|
||||
"repo": "colorpickle",
|
||||
"rev": "61c77e71b5586412b6deecc2389fc39072e4b60f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AgathaSorceress",
|
||||
"repo": "colorpickle",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
|
@ -513,6 +539,27 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698420672,
|
||||
"narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "aeb58d5e8faead8980a807c840232697982d47b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "master",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
|
@ -732,6 +779,7 @@
|
|||
"akkoma-fe": "akkoma-fe",
|
||||
"attic": "attic",
|
||||
"cargo2nix": "cargo2nix",
|
||||
"colorpickle": "colorpickle",
|
||||
"crane": "crane",
|
||||
"devshell": "devshell",
|
||||
"dns": "dns",
|
||||
|
@ -743,6 +791,7 @@
|
|||
"hydra": "hydra",
|
||||
"lib-aggregate": "lib-aggregate",
|
||||
"mozilla": "mozilla",
|
||||
"naersk": "naersk",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nix-neovim": "nix-neovim",
|
||||
"nix-packages": "nix-packages",
|
||||
|
|
10
flake.nix
10
flake.nix
|
@ -38,6 +38,12 @@ rec {
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.rust-overlay.follows = "rust-overlay";
|
||||
};
|
||||
colorpickle = {
|
||||
url = "github:AgathaSorceress/colorpickle";
|
||||
inputs.naersk.follows = "naersk";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.utils.follows = "flake-utils";
|
||||
};
|
||||
crane = {
|
||||
url = "github:DarkKirb/crane";
|
||||
inputs.flake-compat.follows = "flake-compat";
|
||||
|
@ -89,6 +95,10 @@ rec {
|
|||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
};
|
||||
mozilla.url = "github:mozilla/nixpkgs-mozilla";
|
||||
naersk = {
|
||||
url = "github:nix-community/naersk/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-gaming = {
|
||||
url = "github:fufexan/nix-gaming";
|
||||
#inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
Loading…
Reference in a new issue