mirror of
https://github.com/zoriya/flake.git
synced 2026-06-01 10:15:45 +00:00
Remove flood and river
This commit is contained in:
@@ -1,52 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
user,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../modules/wm
|
||||
../../modules/gui
|
||||
];
|
||||
|
||||
programs.uwsm = {
|
||||
enable = true;
|
||||
waylandCompositors = {
|
||||
river = {
|
||||
prettyName = "river";
|
||||
comment = "river compositor managed by UWSM";
|
||||
binPath = "${pkgs.river}/bin/river";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "${pkgs.greetd.greetd}/bin/agreety --cmd zsh";
|
||||
user = "greeter";
|
||||
};
|
||||
initial_session = {
|
||||
command = "uwsm start -S river-uwsm.desktop";
|
||||
user = user;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Without this, greetd would depend on graphical.target & would get activated before
|
||||
# uwsm. This leads to a race that can:
|
||||
# - fail startup & retry it (leading to a ~10s delay)
|
||||
# - make graphical services start before river.
|
||||
# To prevent those issue, simply target the default tty & greetd's inital_session will
|
||||
# start uwsm & end up reaching graphical.target
|
||||
# systemd.defaultUnit = lib.mkForce "multi-user.target";
|
||||
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
# gtk portal needed to make gtk apps happy
|
||||
extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||
config.common.default = "*";
|
||||
};
|
||||
}
|
||||
@@ -1,231 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cliphist = "${pkgs.cliphist}/bin/cliphist";
|
||||
common_binds = {
|
||||
"None XF86AudioRaiseVolume" = "spawn '${pkgs.pamixer}/bin/pamixer -i 5'";
|
||||
"None XF86AudioLowerVolume" = "spawn '${pkgs.pamixer}/bin/pamixer -d 5'";
|
||||
"None XF86AudioMute" = "spawn '${pkgs.pamixer}/bin/pamixer --toggle-mute'";
|
||||
"None XF86AudioMedia" = "spawn '${pkgs.playerctl}/bin/playerctl play-pause'";
|
||||
"None XF86AudioPlay" = "spawn '${pkgs.playerctl}/bin/playerctl play-pause'";
|
||||
"None XF86AudioPause" = "spawn '${pkgs.playerctl}/bin/playerctl play-pause'";
|
||||
"None XF86AudioPrev" = "spawn '${pkgs.playerctl}/bin/playerctl playerctl previous'";
|
||||
"None XF86AudioNext" = "spawn '${pkgs.playerctl}/bin/playerctl playerctl next'";
|
||||
"None XF86MonBrightnessUp" = "spawn '${pkgs.brightnessctl}/bin/brightnessctl s +5%'";
|
||||
"None XF86MonBrightnessDown" = "spawn '${pkgs.brightnessctl}/bin/brightnessctl s 5%-'";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
../../modules/gui/home.nix
|
||||
../../modules/wm/home.nix
|
||||
];
|
||||
|
||||
systemd.user.services.polkit-gnome-authentication-agent-1 = {
|
||||
Unit = {
|
||||
Description = "polkit-gnome-authentication-agent-1";
|
||||
Wants = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["graphical-session.target"];
|
||||
};
|
||||
Service = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."river-luatile/layout.lua".source = ./layout.lua;
|
||||
|
||||
wayland.windowManager.river = {
|
||||
enable = true;
|
||||
extraSessionVariables = {
|
||||
XDG_CURRENT_DESKTOP = "river";
|
||||
};
|
||||
settings = {
|
||||
default-layout = "luatile";
|
||||
spawn = [
|
||||
"${pkgs.river-luatile}/bin/river-luatile"
|
||||
"wallpaper"
|
||||
"ags"
|
||||
];
|
||||
|
||||
default-attach-mode = "top";
|
||||
focus-follows-cursor = "normal";
|
||||
set-cursor-warp = "on-focus-change";
|
||||
|
||||
hide-cursor = {
|
||||
when-typing = true;
|
||||
};
|
||||
set-repeat = "25 600";
|
||||
keyboard-layout = "-options 'caps:escape_shifted_capslock' us";
|
||||
input = {
|
||||
"'*'" = {
|
||||
events = true;
|
||||
accel-profile = "adaptive";
|
||||
pointer-accel = 0;
|
||||
click-method = "button-areas";
|
||||
tap = true;
|
||||
drag = true;
|
||||
disable-while-typing = true;
|
||||
middle-emulation = true;
|
||||
natural-scroll = true;
|
||||
tap-button-map = "left-right-middle";
|
||||
scroll-method = "two-finger";
|
||||
};
|
||||
"'*Mouse'" = {
|
||||
natural-scroll = "disabled";
|
||||
};
|
||||
"'*Vertical'" = {
|
||||
natural-scroll = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
# border-color-focused = "0x94e2d5";
|
||||
# border-color-unfocused = "0x00000000";
|
||||
# border-color-urgent = "0xcba6f7";
|
||||
border-width = 0;
|
||||
|
||||
rule-add = {
|
||||
"-app-id" = {
|
||||
"discord" = "tags $((1 << 2))";
|
||||
"vesktop" = "tags $((1 << 2))";
|
||||
"'YouTube Music'" = "tags $((1 << 1))";
|
||||
# disable all client side decorations
|
||||
"'*'" = "ssd";
|
||||
};
|
||||
};
|
||||
|
||||
declare-mode = ["normal" "locked" "passthrough"];
|
||||
map = {
|
||||
normal =
|
||||
{
|
||||
"Super+Shift Q" = "exit";
|
||||
"Super C" = "close";
|
||||
|
||||
"Super K" = "focus-view next";
|
||||
"Super J" = "focus-view previous";
|
||||
"Super+Shift K" = "swap previous";
|
||||
"Super+Shift J" = "swap previous";
|
||||
"Super Return" = "zoom";
|
||||
|
||||
"Super Period" = "focus-output next";
|
||||
"Super Comma" = "focus-output previous";
|
||||
"Super+Shift Period" = "send-to-output -current-tags next";
|
||||
"Super+Shift Comma" = "send-to-output -current-tags previous";
|
||||
"Super+Control+Shift Period" = "send-to-output next";
|
||||
"Super+Control+Shift Comma" = "send-to-output previous";
|
||||
|
||||
"Super H" = "send-layout-cmd luatile 'set_mfact(-0.05)'";
|
||||
"Super L" = "send-layout-cmd luatile 'set_mfact( 0.05)'";
|
||||
"Super U" = "send-layout-cmd luatile 'set_mcount(-1)'";
|
||||
"Super I" = "send-layout-cmd luatile 'set_mcount( 1)'";
|
||||
|
||||
"Super T" = "send-layout-cmd luatile 'set_layout(\"tiling\")'";
|
||||
"Super M" = "send-layout-cmd luatile 'set_layout(\"monocle\")'";
|
||||
"Super D" = "send-layout-cmd luatile 'set_layout(\"deck\")'";
|
||||
"Super F" = "toggle-fullscreen";
|
||||
"Super+Shift F" = "toggle-float";
|
||||
|
||||
"Super R" = "spawn 'uwsm app -- ${config.home.sessionVariables.BROWSER}'";
|
||||
"Super E" = "spawn 'uwsm app -- ${config.home.sessionVariables.TERMINAL}'";
|
||||
"Super P" = ''spawn 'rofi -show drun -show-icons -run-command "uwsm app -- {cmd}"' '';
|
||||
"Super X" = "spawn 'screenshot'";
|
||||
"Super+Control X" = "spawn 'screenshot-freeze'";
|
||||
"Super+Shift X" = "spawn 'uwsm app -- record'";
|
||||
"Super B" = "spawn '${pkgs.hyprpicker}/bin/hyprpicker | wl-copy'";
|
||||
"Super V" = "spawn '${cliphist} list | rofi -dmenu -display-columns 2 | ${cliphist} decode | wl-copy'";
|
||||
"Super+Shift L" = "spawn 'loginctl lock-session'";
|
||||
|
||||
"Super+Shift Backslash" = "enter-mode passthrough";
|
||||
}
|
||||
// common_binds;
|
||||
locked = common_binds;
|
||||
passthrough = {
|
||||
"Super+Shift Backslash" = "enter-mode normal";
|
||||
};
|
||||
};
|
||||
map-pointer = {
|
||||
normal = {
|
||||
"Super+Shift BTN_LEFT" = "move-view";
|
||||
"Super+Shift BTN_RIGHT" = "resize-view";
|
||||
};
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << (i - 1)))
|
||||
riverctl map normal Super "$i" set-focused-tags -alternate $tags
|
||||
riverctl map normal Super+Shift "$i" set-view-tags $tags
|
||||
riverctl map normal Super+Control "$i" toggle-focused-tags $tags
|
||||
riverctl map normal Super+Shift+Control "$i" toggle-view-tags $tags
|
||||
done
|
||||
|
||||
all_tags=$(((1 << 32) - 1))
|
||||
riverctl map normal Super 0 set-focused-tags -alternate "$all_tags"
|
||||
riverctl map normal Super+Shift 0 set-view-tags "$all_tags"
|
||||
|
||||
# Focus second screen by default (also spawn apps there)
|
||||
riverctl focus-output DP-1
|
||||
riverctl set-focused-tags $((1 << 3))
|
||||
|
||||
${pkgs.uwsm}/bin/uwsm finalize DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP NIXOS_OZONE_WL XCURSOR_THEME XCURSOR_SIZE
|
||||
hyprlock --immediate
|
||||
'';
|
||||
|
||||
# we use uwsm instead.
|
||||
systemd.enable = false;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gnome-control-center
|
||||
gnome-weather
|
||||
wdisplays
|
||||
];
|
||||
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
systemdTarget = "graphical-session.target";
|
||||
settings = [
|
||||
{
|
||||
output.criteria = "eDP-1";
|
||||
output.scale = 1.6;
|
||||
}
|
||||
{
|
||||
profile.name = "undocked";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
status = "enable";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.name = "docked";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
status = "disable";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL S2722QC 2HHZH24";
|
||||
# position = "1500,0";
|
||||
position = "0,900";
|
||||
scale = 1.7;
|
||||
}
|
||||
{
|
||||
criteria = "*";
|
||||
position = "0,0";
|
||||
scale = 1.4;
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,174 +0,0 @@
|
||||
---@diagnostic disable: lowercase-global, undefined-global
|
||||
local inner_gaps = 10
|
||||
local outer_gaps = 15
|
||||
local smart_gaps = true
|
||||
|
||||
local outputs = {}
|
||||
|
||||
function _get_output(name)
|
||||
local output = outputs[name]
|
||||
if output ~= nil then
|
||||
return output
|
||||
end
|
||||
outputs[name] = {
|
||||
mfact = 0.65,
|
||||
mcount = 1,
|
||||
layout = "tiling",
|
||||
alayout = "monocle"
|
||||
}
|
||||
return outputs[name]
|
||||
end
|
||||
|
||||
-- The most important function - the actual layout generator
|
||||
--
|
||||
-- The argument is a table with:
|
||||
-- * Focused tags (`args.tags`)
|
||||
-- * Window count (`args.count`)
|
||||
-- * Output width (`args.width`)
|
||||
-- * Output height (`args.height`)
|
||||
-- * Output name (`args.output`)
|
||||
--
|
||||
-- The return value must be a table with exactly `count` entries. Each entry is a table with four
|
||||
-- numbers:
|
||||
-- * X coordinate
|
||||
-- * Y coordinate
|
||||
-- * Window width
|
||||
-- * Window height
|
||||
--
|
||||
-- This example is a simplified version of `rivertile`
|
||||
function handle_layout(args)
|
||||
local output = _get_output(args.output)
|
||||
|
||||
-- Prevent mcount from growing too much. We can't do that in the set function.
|
||||
output.mcount = math.min(output.mcount, args.count)
|
||||
|
||||
local ret = {}
|
||||
|
||||
if args.count == 1 or output.layout == "monocle" then
|
||||
if smart_gaps then
|
||||
for _ = 0, (args.count - 1) do
|
||||
table.insert(ret, { 0, 0, args.width, args.height })
|
||||
end
|
||||
else
|
||||
for _ = 0, (args.count - 1) do
|
||||
table.insert(ret, { outer_gaps, outer_gaps, args.width - outer_gaps * 2, args.height - outer_gaps * 2 })
|
||||
end
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
local width = args.width - outer_gaps * 2
|
||||
local height = args.height - outer_gaps * 2
|
||||
local mcount = math.min(output.mcount, args.count)
|
||||
local scount = math.max(args.count - mcount, 0)
|
||||
|
||||
local old_scount = scount
|
||||
if output.layout == "deck" and scount > 0 then
|
||||
scount = 1;
|
||||
end
|
||||
|
||||
local main_w = (width * output.mfact) - (inner_gaps / 2)
|
||||
local side_w = (width * (1 - output.mfact)) - (inner_gaps / 2)
|
||||
local main_h = (height - (inner_gaps * (mcount - 1))) / mcount
|
||||
local side_h = (height - (inner_gaps * (scount - 1))) / scount
|
||||
|
||||
scount = old_scount
|
||||
|
||||
if args.count <= output.mcount then
|
||||
main_w = width
|
||||
end
|
||||
|
||||
for i = 0, (mcount - 1) do
|
||||
table.insert(ret, {
|
||||
outer_gaps,
|
||||
outer_gaps + i * (main_h + inner_gaps),
|
||||
main_w,
|
||||
main_h,
|
||||
})
|
||||
end
|
||||
for i = 0, (scount - 1) do
|
||||
local y = outer_gaps + i * (side_h + inner_gaps)
|
||||
if output.layout == "deck" then
|
||||
y = outer_gaps
|
||||
end
|
||||
|
||||
table.insert(ret, {
|
||||
main_w + outer_gaps * 2,
|
||||
y,
|
||||
side_w,
|
||||
side_h,
|
||||
})
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
-- This optional function returns the metadata for the current layout.
|
||||
-- Currently only `name` is supported, the name of the layout. It get's passed
|
||||
-- the same `args` as handle_layout()
|
||||
function handle_metadata(args)
|
||||
local output = _get_output(args.output)
|
||||
|
||||
if output.layout == "tiling" then
|
||||
return { name = "[]=" }
|
||||
elseif output.layout == "monocle" then
|
||||
return { name = string.format("[%d]", args.count) }
|
||||
elseif output.layout == "deck" then
|
||||
return { name = "[D]" }
|
||||
else
|
||||
return { name = "><>" }
|
||||
end
|
||||
end
|
||||
|
||||
-- IMPORTANT: User commands send via `riverctl send-layout-cmd` are treated as lua code.
|
||||
-- Active tags are stored in `CMD_TAGS` global variable.
|
||||
-- Output name is stored in `CMD_OUTPUT` global variable.
|
||||
|
||||
-- Here is an example of a function that can be mapped to some key
|
||||
-- Run with `riverctl send-layout-cmd luatile "toggle_gaps()"`
|
||||
function set_mfact(diff)
|
||||
local output = _get_output(CMD_OUTPUT)
|
||||
output.mfact = math.max(0, math.min(output.mfact + diff, 1))
|
||||
end
|
||||
|
||||
function set_mcount(diff)
|
||||
local output = _get_output(CMD_OUTPUT)
|
||||
-- we don't have the number of clients so we can't set a max value there.
|
||||
output.mcount = math.max(0, output.mcount + diff)
|
||||
end
|
||||
|
||||
function set_layout(name)
|
||||
local output = _get_output(CMD_OUTPUT)
|
||||
if output.layout == name then
|
||||
output.layout = output.alayout
|
||||
output.alayout = name
|
||||
else
|
||||
output.alayout = output.layout
|
||||
output.layout = name
|
||||
end
|
||||
end
|
||||
|
||||
-- Just an helper function to print tables.
|
||||
function inspect(tbl)
|
||||
local result = "{"
|
||||
for k, v in pairs(tbl) do
|
||||
-- Check the key type (ignore any numerical keys - assume its an array)
|
||||
if type(k) == "string" then
|
||||
result = result .. "[\"" .. k .. "\"]" .. "="
|
||||
end
|
||||
|
||||
-- Check the value type
|
||||
if type(v) == "table" then
|
||||
result = result .. inspect(v)
|
||||
elseif type(v) == "boolean" then
|
||||
result = result .. tostring(v)
|
||||
else
|
||||
result = result .. "\"" .. v .. "\""
|
||||
end
|
||||
result = result .. ","
|
||||
end
|
||||
-- Remove leading commas from the result
|
||||
if result ~= "" then
|
||||
result = result:sub(1, result:len() - 1)
|
||||
end
|
||||
return result .. "}"
|
||||
end
|
||||
@@ -16,21 +16,6 @@
|
||||
wrapProgram $out/bin/guesspath --prefix PATH : '${lib.makeBinPath propagatedBuildInputs}'
|
||||
";
|
||||
};
|
||||
|
||||
smartrss = pkgs.stdenv.mkDerivation rec {
|
||||
name = "smartrss";
|
||||
nativeBuildInputs = with pkgs; [makeWrapper];
|
||||
propagatedBuildInputs = with pkgs; [
|
||||
python3Packages.guessit
|
||||
curl
|
||||
jq
|
||||
];
|
||||
dontUnpack = true;
|
||||
installPhase = "
|
||||
install -Dm755 ${./smartrss.sh} $out/bin/smartrss
|
||||
wrapProgram $out/bin/smartrss --prefix PATH : '${lib.makeBinPath propagatedBuildInputs}'
|
||||
";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
./otel.nix
|
||||
@@ -156,42 +141,6 @@ in {
|
||||
defaults.email = "zoe.roux@zoriya.dev";
|
||||
};
|
||||
|
||||
services.transmission = {
|
||||
enable = true;
|
||||
package = pkgs.transmission_4;
|
||||
# Make downloaded items readable/writable by users
|
||||
group = "users";
|
||||
settings = {
|
||||
umask = "002";
|
||||
incomplete-dir-enabled = false;
|
||||
download-dir = "/mnt/kyoo/downloads";
|
||||
download-queue-enabled = false;
|
||||
rename-partial-files = false;
|
||||
trash-can-enabled = false;
|
||||
script-torrent-added-enabled = true;
|
||||
script-torrent-added-filename = "${guesspath}/bin/guesspath";
|
||||
};
|
||||
};
|
||||
# Also allows transmission to reach theses files
|
||||
systemd.services.transmission.serviceConfig.BindPaths = [
|
||||
"/mnt/kyoo/downloads"
|
||||
"/mnt/kyoo/shows"
|
||||
"/mnt/kyoo/lives"
|
||||
"/mnt/kyoo/manga"
|
||||
];
|
||||
systemd.services.flood = {
|
||||
enable = true;
|
||||
wantedBy = ["multi-user.target"];
|
||||
after = ["transmission.service"];
|
||||
requires = ["transmission.service"];
|
||||
path = with pkgs; [mediainfo smartrss];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.flood}/bin/flood --rundir=/var/lib/flood --trurl=http://127.0.0.1:9091/transmission/rpc --truser '' --trpass ''";
|
||||
User = "transmission";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
services.gitea = {
|
||||
enable = true;
|
||||
settings.server = rec {
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
name=$(guessit "$1" -P title | tr -d "[:punct:]")
|
||||
|
||||
ls /mnt/kyoo/shows/ | tr -d "[:punct:]" | grep -qix "$name"
|
||||
|
||||
echo "Downloading $1"
|
||||
exit 80
|
||||
Generated
+24
-59
@@ -56,11 +56,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753121425,
|
||||
"narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
|
||||
"lastModified": 1754091436,
|
||||
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
|
||||
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -90,22 +90,6 @@
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flood": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1738516486,
|
||||
"narHash": "sha256-B1hAmv1sRxqHM9EBO7Wij54Q8xK8Cpasb7DDSovI3qM=",
|
||||
"owner": "zoriya",
|
||||
"repo": "flood",
|
||||
"rev": "875ae36d17300c630c2370f132eb385a048fc1e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zoriya",
|
||||
"repo": "flood",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
@@ -180,11 +164,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754085240,
|
||||
"narHash": "sha256-kVHCrTWEe8B1thAhFag1bk4QPY0ZP45V9vPbrwPHoNo=",
|
||||
"lastModified": 1754225444,
|
||||
"narHash": "sha256-mv01SQtqlhBMavc1dgNjgqJw4WfZxy+w3xBgwJU3YmU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e102920c1becb114645c6f92fe14edc0b05cc229",
|
||||
"rev": "0de18bd5c6681280d7ae017fa34ffd91bdcf0557",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -221,11 +205,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754050710,
|
||||
"narHash": "sha256-zGGx7XFSJd1mRIrUrDbjKGXDjfk/aPRToDbLrshLbUU=",
|
||||
"lastModified": 1754255242,
|
||||
"narHash": "sha256-upKFxktmKdohNMtOAUDgvqQWoeJknPuToO+mIlsEgX4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "84d2911ae6b97e160ed8de8ece7bd1068c2bf686",
|
||||
"rev": "0c756117aa0efb7c44ac98b4761334236549148b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -237,11 +221,11 @@
|
||||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1753992225,
|
||||
"narHash": "sha256-QUlWhBgDm9No+RkI33faSqsSZNU/QhZjMOP333FjN38=",
|
||||
"lastModified": 1754177742,
|
||||
"narHash": "sha256-XdTNh9hDRxahnvIB9m2t/8RovK0qV1NsJ0bw86/nZVM=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "c3a4d125296caaf15ff424e7609e731a8b4d37e7",
|
||||
"rev": "93f5bd0caf9037f95ee77288bfd424008bc3a14b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -277,11 +261,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753589988,
|
||||
"narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=",
|
||||
"lastModified": 1754195341,
|
||||
"narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf",
|
||||
"rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -307,11 +291,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1753122741,
|
||||
"narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=",
|
||||
"lastModified": 1754229794,
|
||||
"narHash": "sha256-yOl7REX6O/1mh+tpscJPKgjK6nmXSMOB1xhmDNAMUZM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22",
|
||||
"rev": "a872d985392ee5b19d8409bfcc3f106de2070070",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -329,11 +313,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753704990,
|
||||
"narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=",
|
||||
"lastModified": 1754260137,
|
||||
"narHash": "sha256-IViMH6Fwj8nwO1nuYCqOTpjm9OK9rQ0w8nmoOwPlo98=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "58c814cc6d4a789191f9c12e18277107144b0c91",
|
||||
"rev": "57ba096649fa4e12dc564e8e3c529255baf89b35",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -357,26 +341,8 @@
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"river-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1742891484,
|
||||
"narHash": "sha256-7ZSKYw0ZbYUWBp2Djw2W2Gg15W2TQzBLYpoarqpJFN8=",
|
||||
"owner": "zoriya",
|
||||
"repo": "river",
|
||||
"rev": "a40883358d4a00e96e43ef95bd115172749b81a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zoriya",
|
||||
"ref": "0.3.x",
|
||||
"repo": "river",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flood": "flood",
|
||||
"home-manager": "home-manager",
|
||||
"impermanence": "impermanence",
|
||||
"neovim-nightly": "neovim-nightly",
|
||||
@@ -386,7 +352,6 @@
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"river-src": "river-src",
|
||||
"tmux": "tmux",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
@@ -415,11 +380,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753772294,
|
||||
"narHash": "sha256-8rkd13WfClfZUBIYpX5dvG3O9V9w3K9FPQ9rY14VtBE=",
|
||||
"lastModified": 1754061284,
|
||||
"narHash": "sha256-ONcNxdSiPyJ9qavMPJYAXDNBzYobHRxw0WbT38lKbwU=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "6b9214fffbcf3f1e608efa15044431651635ca83",
|
||||
"rev": "58bd4da459f0a39e506847109a2a5cfceb837796",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -24,14 +24,6 @@
|
||||
url = "github:nix-community/neovim-nightly-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flood = {
|
||||
url = "github:zoriya/flood";
|
||||
flake = false;
|
||||
};
|
||||
river-src = {
|
||||
url = "github:zoriya/river/0.3.x";
|
||||
flake = false;
|
||||
};
|
||||
zen-browser = {
|
||||
url = "github:youwen5/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
+1
-22
@@ -1,9 +1,4 @@
|
||||
{
|
||||
flood,
|
||||
river-src,
|
||||
tmux,
|
||||
...
|
||||
}: self: super: let
|
||||
{tmux, ...}: self: super: let
|
||||
wrapProgram = drv: bins: wrapProgramFlags:
|
||||
super.symlinkJoin {
|
||||
name = drv.name;
|
||||
@@ -21,22 +16,6 @@
|
||||
--add-flags "--ozone-platform=wayland" \
|
||||
--add-flags "--disable-smooth-scrolling"'';
|
||||
in {
|
||||
# Use my fork of flood to enable smart scripts.
|
||||
flood = super.flood.overrideAttrs rec {
|
||||
src = flood;
|
||||
npmDeps = pnpmDeps;
|
||||
pnpmDeps = super.pnpm_9.fetchDeps {
|
||||
pname = "flood";
|
||||
version = "4.9.4-dirty";
|
||||
src = flood;
|
||||
hash = "sha256-E2VxRcOMLvvCQb9gCAGcBTsly571zh/HWM6Q1Zd2eVw=";
|
||||
};
|
||||
};
|
||||
|
||||
river = super.river.overrideAttrs {
|
||||
src = river-src;
|
||||
};
|
||||
|
||||
tmux = super.tmux.overrideAttrs {
|
||||
src = tmux;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user