Merge branch 'new' of ssh://lucy.rip/lucy/nixos into new

This commit is contained in:
lucy 2026-09-02 12:03:22 +02:00
commit cbd79b6396
12 changed files with 304 additions and 19 deletions

126
flake.lock generated
View file

@ -38,6 +38,24 @@
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1785627969,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
@ -70,6 +88,28 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": [
"mango",
"scenefx",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
@ -128,12 +168,34 @@
"type": "github"
}
},
"nixcord": {
"mango": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"scenefx": "scenefx"
},
"locked": {
"lastModified": 1788238778,
"narHash": "sha256-BhA+TEkGryxU9hppp8UItTNBllZz09hX8pwMjtk1Jdo=",
"owner": "mangowm",
"repo": "mango",
"rev": "53d729c0476fc50534835dcdaf58ad314a32a34d",
"type": "github"
},
"original": {
"owner": "mangowm",
"repo": "mango",
"type": "github"
}
},
"nixcord": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-nixcord": "nixpkgs-nixcord",
"treefmt-nix": "treefmt-nix"
},
@ -168,6 +230,21 @@
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1782614948,
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1785031560,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
@ -203,6 +280,7 @@
"base16": "base16",
"helium": "helium",
"home-manager": "home-manager",
"mango": "mango",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs",
"tt-discord": "tt-discord",
@ -211,6 +289,29 @@
"tt-terminal": "tt-terminal"
}
},
"scenefx": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"mango",
"nixpkgs"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1782624992,
"narHash": "sha256-vUjLG6eubEhJJVa9LPygIcVmNoHwYbSUTJcWEcbxnU4=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "37ccd723bef49e6891156ffafce8f549f01446cc",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -226,6 +327,21 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
@ -250,11 +366,11 @@
"tt-discord": {
"flake": false,
"locked": {
"lastModified": 1775215536,
"narHash": "sha256-tgavgso+bdyG9VRWR4D0qLqD7zsuaoLXh1CAL5SDgVg=",
"lastModified": 1788292449,
"narHash": "sha256-YiNFAa/w72k/b/aqf+TFHvqNvIx/MsXEaKJVzg92DhQ=",
"ref": "refs/heads/main",
"rev": "b6d440de0ce02178b2e9670e610a18fa4786ebc6",
"revCount": 5,
"rev": "dcf9db7194b5281a67f5af1452f9d8eb0ca78811",
"revCount": 6,
"type": "git",
"url": "https://git.lucy.rip/lucy/tinted-discord.git"
},

View file

@ -6,6 +6,10 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nixcord.url = "github:4evy/nixcord";
nixcord.inputs.nixpkgs.follows = "nixpkgs";
mango = {
url = "github:mangowm/mango";
inputs.nixpkgs.follows = "nixpkgs";
};
helium = {
url = "github:AlvaroParker/helium-nix";
inputs.nixpkgs.follows = "nixpkgs";
@ -35,11 +39,13 @@
base16,
home-manager,
nixcord,
mango,
...
}@inputs:
let
boilerplate = [
./modules/theming
mango.nixosModules.mango
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;

View file

@ -8,6 +8,10 @@
nixfmt
clang
kdePackages.qtdeclarative
grim
slurp
jq
wl-clipboard
];
home.stateVersion = "26.05";
home.pointerCursor = {

15
modules/home/screenshot Normal file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
case "${1:-fullscreen}" in
region)
g=$(slurp -d); [ -z "$g" ] && exit 1
grim -g "$g" - | wl-copy ;;
window)
g=$(mmsg get focusing-client | jq -r '"\(.x),\(.y) \(.width)x\(.height)"')
[ -z "$g" ] && exit 1
grim -g "$g" - | wl-copy ;;
output)
grim -o "$(mmsg get cursorpos | jq -r .monitor)" - | wl-copy;;
*) grim - | wl-copy;;
esac

View file

@ -18,10 +18,16 @@
"nix-command"
"flakes"
];
xdg.portal.wlr.settings.screencast = {
chooser_type = "dmenu";
chooser_cmd = "${pkgs.fuzzel}/bin/fuzzel --dmenu --lines 12 --prompt 'Share: '";
};
hardware.graphics.enable = true;
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
services.displayManager.gdm.enable = true;
programs.mango.enable = true;
programs.niri = {
enable = true;
};

View file

@ -1 +0,0 @@
lucy@nerv.4230:1788254438

View file

@ -1,10 +1,13 @@
{
{ inputs, ... }: {
imports = [
inputs.mango.hmModules.mango
./foot.nix
./niri.nix
./emacs.nix
./fuzzel.nix
./quickshell.nix
./nixcord.nix
./mango.nix
];
}

View file

@ -38,7 +38,7 @@
(use-package qml-mode)
(use-package lua-mode)
(use-package elcord :init (elcord-mode))
(setq inhibit-splash-screen 1)
(add-to-list
'display-buffer-alist
'("\\*compilation\\*" (display-buffer-reuse-window
@ -52,6 +52,7 @@
(tool-bar-mode -1)
(setq display-line-numbers-type 'relative)
(global-display-line-numbers-mode +1)
(global-tab-line-mode 1)
(scroll-bar-mode -1)
(setq inhibit-splash-screen 1)

View file

@ -8,7 +8,7 @@ in
enable = true;
settings = {
main = {
font = "${config.theming.font}:size=12";
font = "${config.theming.font}:size=8";
};
border.width = 2;
colors = {

135
modules/programs/mango.nix Normal file
View file

@ -0,0 +1,135 @@
{
config,
...
}:
let
c = config.scheme;
in
{
home.file.screenshot = {
enable = true;
executable = true;
source = ../home/screenshot;
target = ".config/mango/scripts/screenshot";
};
wayland.windowManager.mango = {
enable = true;
autostart_sh = ''
# say gex
'';
settings = {
rootcolor = "0x${c.base00}ff";
bordercolor = "0x${c.base02}ff";
focuscolor = "0x${c.base0D}ff";
dropcolor = "0x${c.base09}ff";
cursor_theme = "macOS";
cursor_size = 24;
border_radius = 20;
animations = 1;
layer_animations = 0;
animation_type_open = "slide";
animation_type_close = "slide";
animation_fade_in = 1;
animation_fade_out = 1;
tag_animation_direction = 1;
zoom_initial_ratio = 0.4;
zoom_end_ratio = 0.8;
fadein_begin_opacity = 0;
fadeout_begin_opacity = 1;
animation_duration_move = 500;
animation_duration_open = 400;
animation_duration_tag = 350;
animation_duration_close = 800;
animation_duration_focus = 0;
animation_curve = {
open = "0.23,1.0,0.32,1.05";
move = "0.23,1.0,0.32,1";
tag = "0.23,1.0,0.32,1.03";
close = "0.23,1.0,0.32,1";
focus = "0.23,1.0,0.32,1";
opafadeout = "0.5,0.5,0.5,0";
opafadein = "0.46,1.0,0.29,0";
};
new_is_master = 0;
tag_num = 9;
repeat_rate = 25;
repeat_delay = 600;
xkb_rules_layout = "eu";
tap_to_click = 1;
mouse_accel_profile = 1;
mouse_accel_speed = -0.4;
gappih = 5;
gappiv = 5;
gappoh = 10;
gappov = 10;
borderpx = 4;
bind = [
# reload config
"SUPER,r,reload_config"
"SUPER,space,spawn,fuzzel"
"SUPER,Return,spawn,foot"
"SUPER+SHIFT,q,quit"
"SUPER,q,killclient"
"SUPER+SHIFT,S,spawn_shell,$HOME/.config/mango/scripts/screenshot region"
"ALT+SHIFT,S,spawn_shell,$HOME/.config/mango/scripts/screenshot output"
"ALT+CTRL,S,spawn_shell,$HOME/.config/mango/scripts/screenshot window"
"SUPER+SHIFT,Up,exchange_client,up"
"SUPER+SHIFT,Down,exchange_client,down"
"SUPER+SHIFT,Left,exchange_client,left"
"SUPER+SHIFT,Right,exchange_client,right"
"SUPER,Up,focusdir,up"
"SUPER,Down,focusdir,down"
"SUPER,Left,focusdir,left"
"SUPER,Right,focusdir,right"
"SUPER,v,togglefloating"
"SUPER,1,view,1,0"
"SUPER,2,view,2,0"
"SUPER,3,view,3,0"
"SUPER,4,view,4,0"
"SUPER,5,view,5,0"
"SUPER,6,view,6,0"
"SUPER,7,view,7,0"
"SUPER,8,view,8,0"
"SUPER,9,view,9,0"
"SUPER+SHIFT,1,tag,1,0"
"SUPER+SHIFT,2,tag,2,0"
"SUPER+SHIFT,3,tag,3,0"
"SUPER+SHIFT,4,tag,4,0"
"SUPER+SHIFT,5,tag,5,0"
"SUPER+SHIFT,6,tag,6,0"
"SUPER+SHIFT,7,tag,7,0"
"SUPER+SHIFT,8,tag,8,0"
"SUPER+SHIFT,9,tag,9,0"
"SUPER,comma,focusmon,left"
"SUPER,period,focusmon,right"
"NONE,XF86MonBrightnessUp,spawn,brightnessctl s +10%"
"NONE,XF86MonBrightnessDown,spawn,brightnessctl s 10%-"
"NONE,XF86AudioRaiseVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
"NONE,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_SINK@ 5%-"
"NONE,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_SINK@ toggle"
"SHIFT,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_SOURCE@ toggle"
"NONE,XF86AudioNext,spawn,playerctl next"
"NONE,XF86AudioPrev,spawn,playerctl previous"
"NONE,XF86AudioPlay,spawn,playerctl play-pause"
];
mousebind = [
"SUPER,btn_left,moveresize,curmove"
"SUPER,btn_right,moveresize,curresize"
"ALT,btn_left,moveresize,curresize"
];
};
};
}

View file

@ -127,15 +127,15 @@
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
Mod+Ctrl+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+Ctrl+6 { move-column-to-workspace 6; }
Mod+Ctrl+7 { move-column-to-workspace 7; }
Mod+Ctrl+8 { move-column-to-workspace 8; }
Mod+Ctrl+9 { move-column-to-workspace 9; }
Mod+Shift+1 { move-column-to-workspace 1; }
Mod+Shift+2 { move-column-to-workspace 2; }
Mod+Shift+3 { move-column-to-workspace 3; }
Mod+Shift+4 { move-column-to-workspace 4; }
Mod+Shift+5 { move-column-to-workspace 5; }
Mod+Shift+6 { move-column-to-workspace 6; }
Mod+Shift+7 { move-column-to-workspace 7; }
Mod+Shift+8 { move-column-to-workspace 8; }
Mod+Shift+9 { move-column-to-workspace 9; }
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }

View file

@ -7,7 +7,7 @@
{
imports = [ inputs.nixcord.homeModules.nixcord ];
programs.nixcord = {
discord.silenceNoModClientWarning = true;
discord.enable = false;
enable = true;
vesktop.enable = true;
quickCss = builtins.readFile (config.scheme inputs.tt-discord);