mirror of
https://github.com/tuxdotrs/nix-config.git
synced 2026-06-21 03:36:32 +05:30
Compare commits
5 Commits
8bca900c98
...
b649b974fa
| Author | SHA1 | Date | |
|---|---|---|---|
|
b649b974fa
|
|||
|
71aaf2d392
|
|||
|
8ec23b15af
|
|||
|
fdc63b9307
|
|||
|
626dd68af6
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
flake.modules.homeManager.desktop =
|
||||
{ pkgs, ... }:
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
@@ -10,6 +10,15 @@
|
||||
systemd.variables = [ "--all" ];
|
||||
};
|
||||
|
||||
# TODO: Hyprland 0.55 switched to Lua-based configuration.
|
||||
# Until the Home Manager module is updated, we symlink our config instead.
|
||||
home.file = {
|
||||
".config/hypr/config".source =
|
||||
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/hypr/config";
|
||||
".config/hypr/hyprland.lua".source =
|
||||
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Projects/hypr/hyprland.lua";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
ags
|
||||
awww
|
||||
|
||||
@@ -1,253 +1,256 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
flake.modules.homeManager.desktop =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.tnix.desktop.mangowm;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.mango.hmModules.mango
|
||||
];
|
||||
|
||||
wayland.windowManager.mango = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Monitors
|
||||
monitorrule = [
|
||||
"name:DP-2, width:1440, height:2560, refresh:144, x:0, y:0, vrr:0, rr:1"
|
||||
"name:DP-3, width:2560, height:1440, refresh:144, x:1440, y:0, vrr:0"
|
||||
"name:DP-1, width:1080, height:1920, refresh:144, x:4000, y:0, vrr:0, rr:3"
|
||||
];
|
||||
options.tnix.desktop.mangowm = {
|
||||
enable = mkEnableOption "Enable MangoWM";
|
||||
|
||||
focus_cross_monitor = 1;
|
||||
exchange_cross_monitor = 1;
|
||||
drag_tile_to_tile = 1;
|
||||
monitorRule = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
# Keyboard
|
||||
repeat_rate = 25;
|
||||
repeat_delay = 600;
|
||||
numlockon = 0;
|
||||
xkb_rules_layout = "us";
|
||||
|
||||
# Trackpad
|
||||
disable_trackpad = 0;
|
||||
tap_to_click = 1;
|
||||
tap_and_drag = 1;
|
||||
drag_lock = 1;
|
||||
trackpad_natural_scrolling = 1;
|
||||
disable_while_typing = 1;
|
||||
left_handed = 0;
|
||||
middle_button_emulation = 0;
|
||||
swipe_min_threshold = 1;
|
||||
|
||||
# Mouse
|
||||
mouse_natural_scrolling = 0;
|
||||
mouse_accel_profile = 0;
|
||||
|
||||
# Theme
|
||||
border_radius = 8;
|
||||
no_radius_when_single = 0;
|
||||
focused_opacity = 0.9;
|
||||
unfocused_opacity = 0.9;
|
||||
|
||||
# Scroller Layout Setting
|
||||
scroller_structs = 0;
|
||||
scroller_default_proportion = 0.5;
|
||||
scroller_ignore_proportion_single = 0;
|
||||
scroller_default_proportion_single = 1.0;
|
||||
|
||||
# Master-Stack Layout Setting
|
||||
new_is_master = 0;
|
||||
default_mfact = 0.5;
|
||||
default_nmaster = 1;
|
||||
smartgaps = 0;
|
||||
|
||||
# Overview Setting
|
||||
hotarea_size = 10;
|
||||
enable_hotarea = 1;
|
||||
ov_tab_mode = 0;
|
||||
overviewgappi = 15;
|
||||
overviewgappo = 15;
|
||||
|
||||
# layouts
|
||||
tagrule = [
|
||||
"id:1, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:2, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:3, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:4, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:5, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
|
||||
"id:1, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:2, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:3, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:4, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:5, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
|
||||
"id:1, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:2, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:3, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:4, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:5, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
];
|
||||
|
||||
# Keybindings
|
||||
mousebind = [
|
||||
"SUPER, btn_left, moveresize, curmove"
|
||||
"SUPER, btn_right, moveresize, curresize"
|
||||
];
|
||||
|
||||
gesturebind = [
|
||||
"none, right, 3, viewtoleft_have_client"
|
||||
"none, up, 3, toggleoverview"
|
||||
"none, down, 3, toggleoverview"
|
||||
];
|
||||
|
||||
bind = [
|
||||
# apps
|
||||
"SUPER, Return, spawn, wezterm"
|
||||
"SUPER, Space, spawn, vicinae toggle"
|
||||
"SUPER, D, spawn, vesktop"
|
||||
"SUPER, T, spawn, Telegram"
|
||||
"SUPER, B, spawn, brave"
|
||||
"SUPER, V, spawn, vicinae vicinae://extensions/vicinae/clipboard/history"
|
||||
"SUPER+SHIFT, W, spawn, vicinae vicinae://extensions/sovereign/awww-switcher/wpgrid"
|
||||
|
||||
# WM
|
||||
"SUPER, Q, killclient"
|
||||
"SUPER+SHIFT, R, reload_config"
|
||||
"SUPER+SHIFT, F, togglefullscreen"
|
||||
"SUPER+SHIFT, Space, togglefloating"
|
||||
"SUPER+SHIFT, Space, centerwin"
|
||||
|
||||
"ALT, Tab, toggleoverview"
|
||||
"ALT+SHIFT, minus, incgaps, -1"
|
||||
"ALT+SHIFT, equal, incgaps, 1"
|
||||
"ALT+SHIFT, R, togglegaps"
|
||||
"SUPER+SHIFT, P, toggleglobal"
|
||||
|
||||
# switch layout
|
||||
"SUPER+SHIFT, H, setlayout, tile"
|
||||
"SUPER+SHIFT, V, setlayout, vertical_tile"
|
||||
"SUPER+SHIFT, S, setlayout, scroller"
|
||||
|
||||
# resize client
|
||||
"SUPER+CTRL, Up, resizewin, +0, -50"
|
||||
"SUPER+CTRL, Down, resizewin, +0, +50"
|
||||
"SUPER+CTRL, Left, resizewin, -50, +0"
|
||||
"SUPER+CTRL, Right, resizewin, +50, +0"
|
||||
"SUPER+CTRL, Equal, setoption, default_mfact, 0.5"
|
||||
|
||||
# swap client
|
||||
"SUPER+SHIFT, Up, exchange_client, up"
|
||||
"SUPER+SHIFT, Down, exchange_client, down"
|
||||
"SUPER+SHIFT, Left, exchange_client, left"
|
||||
"SUPER+SHIFT, Right, exchange_client, right"
|
||||
|
||||
# switch client focus
|
||||
"SUPER, Tab, focusstack, next"
|
||||
"SUPER, Left, focusdir, left"
|
||||
"SUPER, Right, focusdir, right"
|
||||
"SUPER, Up, focusdir, up"
|
||||
"SUPER, Down, focusdir, down"
|
||||
|
||||
# switch view
|
||||
"SUPER, 1, view, 1, 1"
|
||||
"SUPER, 2, view, 2, 1"
|
||||
"SUPER, 3, view, 3, 1"
|
||||
"SUPER, 4, view, 4, 1"
|
||||
"SUPER, 5, view, 5, 1"
|
||||
|
||||
# move client to the tag with focus
|
||||
"SUPER+SHIFT, 1, tagsilent, 1, 1"
|
||||
"SUPER+SHIFT, 2, tagsilent, 2, 1"
|
||||
"SUPER+SHIFT, 3, tagsilent, 3, 1"
|
||||
"SUPER+SHIFT, 4, tagsilent, 4, 1"
|
||||
"SUPER+SHIFT, 5, tagsilent, 5, 1"
|
||||
|
||||
# move client to the tag without focus
|
||||
"SUPER+ALT, 1, tag, 1, 1"
|
||||
"SUPER+ALT, 2, tag, 2, 1"
|
||||
"SUPER+ALT, 3, tag, 3, 1"
|
||||
"SUPER+ALT, 4, tag, 4, 1"
|
||||
"SUPER+ALT, 5, tag, 5, 1"
|
||||
];
|
||||
|
||||
# Window effect
|
||||
blur = 1;
|
||||
blur_layer = 0;
|
||||
blur_optimized = 1;
|
||||
blur_params_num_passes = 2;
|
||||
blur_params_radius = 5;
|
||||
blur_params_noise = 0.02;
|
||||
blur_params_brightness = 0.9;
|
||||
blur_params_contrast = 0.9;
|
||||
blur_params_saturation = 1.2;
|
||||
|
||||
shadows = 1;
|
||||
layer_shadows = 0;
|
||||
shadow_only_floating = 1;
|
||||
shadows_size = 10;
|
||||
shadows_blur = 15;
|
||||
shadows_position_x = 0;
|
||||
shadows_position_y = 0;
|
||||
shadowscolor = "0x000000ff";
|
||||
|
||||
# Animation
|
||||
animations = 1;
|
||||
layer_animations = 1;
|
||||
animation_type_open = "slide";
|
||||
animation_type_close = "fade";
|
||||
animation_fade_in = 1;
|
||||
animation_fade_out = 1;
|
||||
tag_animation_direction = 0;
|
||||
zoom_initial_ratio = 0.3;
|
||||
zoom_end_ratio = 0.8;
|
||||
fadein_begin_opacity = 0.5;
|
||||
fadeout_begin_opacity = 0.8;
|
||||
|
||||
animation_duration_move = 100;
|
||||
animation_duration_open = 100;
|
||||
animation_duration_close = 100;
|
||||
animation_duration_tag = 200;
|
||||
animation_duration_focus = 0;
|
||||
|
||||
animation_curve_open = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_move = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_tag = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_close = "0.08, 0.92, 0, 1";
|
||||
animation_curve_focus = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_opafadeout = "0.5, 0.5, 0.5, 0.5";
|
||||
animation_curve_opafadein = "0.46, 1.0, 0.29, 1";
|
||||
|
||||
# Appearance
|
||||
borderpx = 0;
|
||||
gappih = 10;
|
||||
gappiv = 10;
|
||||
gappoh = 10;
|
||||
gappov = 10;
|
||||
|
||||
rootcolor = "0x201b14ff";
|
||||
bordercolor = "0x444444ff";
|
||||
focuscolor = "0xc9b890ff";
|
||||
maximizescreencolor = "0x89aa61ff";
|
||||
urgentcolor = "0xad401fff";
|
||||
scratchpadcolor = "0x516c93ff";
|
||||
globalcolor = "0xb153a7ff";
|
||||
overlaycolor = "0x14a57cff";
|
||||
|
||||
# Misc
|
||||
syncobj_enable = 1;
|
||||
|
||||
exec-once = [
|
||||
"dbus-update-activation-environment --systemd --all; systemctl --user reset-failed && systemctl --user start mango-session.target"
|
||||
"awww-daemon"
|
||||
"dms run"
|
||||
];
|
||||
tagRule = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
quickshell
|
||||
dms-shell
|
||||
dgop
|
||||
];
|
||||
config = mkIf cfg.enable {
|
||||
wayland.windowManager.mango = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Monitors
|
||||
monitorrule = cfg.monitorRule;
|
||||
|
||||
focus_cross_monitor = 1;
|
||||
exchange_cross_monitor = 1;
|
||||
drag_tile_to_tile = 1;
|
||||
|
||||
# Keyboard
|
||||
repeat_rate = 25;
|
||||
repeat_delay = 600;
|
||||
numlockon = 0;
|
||||
xkb_rules_layout = "us";
|
||||
|
||||
# Trackpad
|
||||
disable_trackpad = 0;
|
||||
tap_to_click = 1;
|
||||
tap_and_drag = 1;
|
||||
drag_lock = 1;
|
||||
trackpad_natural_scrolling = 1;
|
||||
disable_while_typing = 1;
|
||||
left_handed = 0;
|
||||
middle_button_emulation = 0;
|
||||
swipe_min_threshold = 1;
|
||||
|
||||
# Mouse
|
||||
mouse_natural_scrolling = 0;
|
||||
mouse_accel_profile = 0;
|
||||
|
||||
# Theme
|
||||
border_radius = 8;
|
||||
no_radius_when_single = 0;
|
||||
focused_opacity = 0.9;
|
||||
unfocused_opacity = 0.9;
|
||||
|
||||
# Scroller Layout Setting
|
||||
scroller_structs = 0;
|
||||
scroller_default_proportion = 0.5;
|
||||
scroller_ignore_proportion_single = 0;
|
||||
scroller_default_proportion_single = 1.0;
|
||||
|
||||
# Master-Stack Layout Setting
|
||||
new_is_master = 0;
|
||||
default_mfact = 0.5;
|
||||
default_nmaster = 1;
|
||||
smartgaps = 0;
|
||||
|
||||
# Overview Setting
|
||||
hotarea_size = 10;
|
||||
enable_hotarea = 1;
|
||||
ov_tab_mode = 0;
|
||||
overviewgappi = 15;
|
||||
overviewgappo = 15;
|
||||
|
||||
# layouts
|
||||
tagrule = cfg.tagRule;
|
||||
|
||||
# Keybindings
|
||||
mousebind = [
|
||||
"SUPER, btn_left, moveresize, curmove"
|
||||
"SUPER, btn_right, moveresize, curresize"
|
||||
];
|
||||
|
||||
gesturebind = [
|
||||
"none, right, 3, viewtoleft_have_client"
|
||||
"none, up, 3, toggleoverview"
|
||||
"none, down, 3, toggleoverview"
|
||||
];
|
||||
|
||||
bind = [
|
||||
# apps
|
||||
"SUPER, Return, spawn, wezterm"
|
||||
"SUPER, Space, spawn, vicinae toggle"
|
||||
"SUPER, D, spawn, vesktop"
|
||||
"SUPER, T, spawn, Telegram"
|
||||
"SUPER, B, spawn, brave"
|
||||
"SUPER, V, spawn, vicinae vicinae://extensions/vicinae/clipboard/history"
|
||||
"SUPER+SHIFT, W, spawn, vicinae vicinae://extensions/sovereign/awww-switcher/wpgrid"
|
||||
|
||||
# WM
|
||||
"SUPER, Q, killclient"
|
||||
"SUPER+SHIFT, R, reload_config"
|
||||
"SUPER+SHIFT, F, togglefullscreen"
|
||||
"SUPER+SHIFT, Space, togglefloating"
|
||||
"SUPER+SHIFT, Space, centerwin"
|
||||
|
||||
"ALT, Tab, toggleoverview"
|
||||
"ALT+SHIFT, minus, incgaps, -1"
|
||||
"ALT+SHIFT, equal, incgaps, 1"
|
||||
"ALT+SHIFT, R, togglegaps"
|
||||
"SUPER+SHIFT, P, toggleglobal"
|
||||
|
||||
# switch layout
|
||||
"SUPER+SHIFT, H, setlayout, tile"
|
||||
"SUPER+SHIFT, V, setlayout, vertical_tile"
|
||||
"SUPER+SHIFT, S, setlayout, scroller"
|
||||
|
||||
# resize client
|
||||
"SUPER+CTRL, Up, resizewin, +0, -50"
|
||||
"SUPER+CTRL, Down, resizewin, +0, +50"
|
||||
"SUPER+CTRL, Left, resizewin, -50, +0"
|
||||
"SUPER+CTRL, Right, resizewin, +50, +0"
|
||||
"SUPER+CTRL, Equal, setoption, default_mfact, 0.5"
|
||||
|
||||
# swap client
|
||||
"SUPER+SHIFT, Up, exchange_client, up"
|
||||
"SUPER+SHIFT, Down, exchange_client, down"
|
||||
"SUPER+SHIFT, Left, exchange_client, left"
|
||||
"SUPER+SHIFT, Right, exchange_client, right"
|
||||
|
||||
# switch client focus
|
||||
"SUPER, Tab, focusstack, next"
|
||||
"SUPER, Left, focusdir, left"
|
||||
"SUPER, Right, focusdir, right"
|
||||
"SUPER, Up, focusdir, up"
|
||||
"SUPER, Down, focusdir, down"
|
||||
|
||||
# switch view
|
||||
"SUPER, 1, view, 1, 1"
|
||||
"SUPER, 2, view, 2, 1"
|
||||
"SUPER, 3, view, 3, 1"
|
||||
"SUPER, 4, view, 4, 1"
|
||||
"SUPER, 5, view, 5, 1"
|
||||
|
||||
# move client to the tag with focus
|
||||
"SUPER+SHIFT, 1, tagsilent, 1, 1"
|
||||
"SUPER+SHIFT, 2, tagsilent, 2, 1"
|
||||
"SUPER+SHIFT, 3, tagsilent, 3, 1"
|
||||
"SUPER+SHIFT, 4, tagsilent, 4, 1"
|
||||
"SUPER+SHIFT, 5, tagsilent, 5, 1"
|
||||
|
||||
# move client to the tag without focus
|
||||
"SUPER+ALT, 1, tag, 1, 1"
|
||||
"SUPER+ALT, 2, tag, 2, 1"
|
||||
"SUPER+ALT, 3, tag, 3, 1"
|
||||
"SUPER+ALT, 4, tag, 4, 1"
|
||||
"SUPER+ALT, 5, tag, 5, 1"
|
||||
];
|
||||
|
||||
# Window effect
|
||||
blur = 1;
|
||||
blur_layer = 0;
|
||||
blur_optimized = 1;
|
||||
blur_params_num_passes = 2;
|
||||
blur_params_radius = 5;
|
||||
blur_params_noise = 0.02;
|
||||
blur_params_brightness = 0.9;
|
||||
blur_params_contrast = 0.9;
|
||||
blur_params_saturation = 1.2;
|
||||
|
||||
shadows = 1;
|
||||
layer_shadows = 0;
|
||||
shadow_only_floating = 1;
|
||||
shadows_size = 10;
|
||||
shadows_blur = 15;
|
||||
shadows_position_x = 0;
|
||||
shadows_position_y = 0;
|
||||
shadowscolor = "0x000000ff";
|
||||
|
||||
# Animation
|
||||
animations = 1;
|
||||
layer_animations = 1;
|
||||
animation_type_open = "slide";
|
||||
animation_type_close = "fade";
|
||||
animation_fade_in = 1;
|
||||
animation_fade_out = 1;
|
||||
tag_animation_direction = 0;
|
||||
zoom_initial_ratio = 0.3;
|
||||
zoom_end_ratio = 0.8;
|
||||
fadein_begin_opacity = 0.5;
|
||||
fadeout_begin_opacity = 0.8;
|
||||
|
||||
animation_duration_move = 100;
|
||||
animation_duration_open = 100;
|
||||
animation_duration_close = 100;
|
||||
animation_duration_tag = 200;
|
||||
animation_duration_focus = 0;
|
||||
|
||||
animation_curve_open = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_move = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_tag = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_close = "0.08, 0.92, 0, 1";
|
||||
animation_curve_focus = "0.46, 1.0, 0.29, 1";
|
||||
animation_curve_opafadeout = "0.5, 0.5, 0.5, 0.5";
|
||||
animation_curve_opafadein = "0.46, 1.0, 0.29, 1";
|
||||
|
||||
# Appearance
|
||||
borderpx = 0;
|
||||
gappih = 10;
|
||||
gappiv = 10;
|
||||
gappoh = 10;
|
||||
gappov = 10;
|
||||
|
||||
rootcolor = "0x201b14ff";
|
||||
bordercolor = "0x444444ff";
|
||||
focuscolor = "0xc9b890ff";
|
||||
maximizescreencolor = "0x89aa61ff";
|
||||
urgentcolor = "0xad401fff";
|
||||
scratchpadcolor = "0x516c93ff";
|
||||
globalcolor = "0xb153a7ff";
|
||||
overlaycolor = "0x14a57cff";
|
||||
|
||||
# Misc
|
||||
syncobj_enable = 1;
|
||||
|
||||
exec-once = [
|
||||
"dbus-update-activation-environment --systemd --all; systemctl --user reset-failed && systemctl --user start mango-session.target"
|
||||
"awww-daemon"
|
||||
"dms run"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
quickshell
|
||||
dms-shell
|
||||
dgop
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
24
modules/hm/desktop/mpv.nix
Normal file
24
modules/hm/desktop/mpv.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
flake.modules.homeManager.desktop =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
|
||||
scripts = (
|
||||
with pkgs.mpvScripts;
|
||||
[
|
||||
modernz
|
||||
thumbfast
|
||||
mpris
|
||||
mpv-image-viewer.image-positioning
|
||||
]
|
||||
);
|
||||
|
||||
config = {
|
||||
osc = "no";
|
||||
border = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -54,11 +54,6 @@
|
||||
imports = [ "/run/secrets/vicinae.json" ];
|
||||
|
||||
providers = {
|
||||
"@samlinville/store.raycast.tailscale" = {
|
||||
"preferences" = {
|
||||
"tailscalePath" = "${pkgs.tailscale}/bin/tailscale";
|
||||
};
|
||||
};
|
||||
"@sovereign/vicinae-extension-awww-switcher-0" = {
|
||||
"preferences" = {
|
||||
"transitionDuration" = "1";
|
||||
|
||||
@@ -4,22 +4,15 @@
|
||||
{
|
||||
hostName,
|
||||
userName,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports =
|
||||
with config.flake.modules.nixos;
|
||||
[
|
||||
boot
|
||||
hardware
|
||||
networking
|
||||
virtualisation
|
||||
services
|
||||
]
|
||||
++ [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
imports = with config.flake.modules.nixos; [
|
||||
boot
|
||||
networking
|
||||
virtualisation
|
||||
services
|
||||
];
|
||||
|
||||
tnix = {
|
||||
boot = {
|
||||
|
||||
@@ -14,7 +14,14 @@ in
|
||||
{
|
||||
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit hostName userName userEmail; };
|
||||
specialArgs = {
|
||||
inherit
|
||||
hostName
|
||||
userName
|
||||
userEmail
|
||||
system
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
config.flake.modules.nixos.core
|
||||
config.flake.modules.nixos.${hostName}
|
||||
|
||||
17
modules/hosts/alpha/hardware.nix
Normal file
17
modules/hosts/alpha/hardware.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
flake.modules.nixos.alpha =
|
||||
{
|
||||
lib,
|
||||
modulesPath,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
};
|
||||
}
|
||||
@@ -2,7 +2,6 @@
|
||||
{
|
||||
flake.modules.nixos.arcturus =
|
||||
{
|
||||
pkgs,
|
||||
hostName,
|
||||
userName,
|
||||
...
|
||||
@@ -10,7 +9,6 @@
|
||||
{
|
||||
imports = with config.flake.modules.nixos; [
|
||||
boot
|
||||
hardware
|
||||
networking
|
||||
virtualisation
|
||||
services
|
||||
@@ -109,10 +107,6 @@
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvtopPackages.full
|
||||
];
|
||||
|
||||
system.stateVersion = "26.05";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,14 @@ in
|
||||
{
|
||||
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit hostName userName userEmail; };
|
||||
specialArgs = {
|
||||
inherit
|
||||
hostName
|
||||
userName
|
||||
userEmail
|
||||
system
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
config.flake.modules.nixos.core
|
||||
config.flake.modules.nixos.${hostName}
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
flake.modules.nixos.arcturus =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
}@innerArgs:
|
||||
{
|
||||
imports = with config.flake.modules.nixos; [
|
||||
hardware
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
@@ -18,15 +24,13 @@
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp10s0f3u2i2.useDHCP = lib.mkDefault true;
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvtopPackages.amd
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
{
|
||||
imports = with config.flake.modules.nixos; [
|
||||
boot
|
||||
hardware
|
||||
networking
|
||||
desktop
|
||||
gaming
|
||||
@@ -120,20 +119,7 @@
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
# --- Hardware / GPU ---
|
||||
# hardware = {
|
||||
# nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# open = false;
|
||||
# nvidiaSettings = true;
|
||||
# };
|
||||
# };
|
||||
# boot.kernelParams = [ "nvidia-drm.modeset=1" ];
|
||||
# nixpkgs.config.cudaSupport = true;
|
||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvtopPackages.full
|
||||
davinci-resolve
|
||||
telegram-desktop
|
||||
];
|
||||
|
||||
@@ -14,7 +14,14 @@ in
|
||||
{
|
||||
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit hostName userName userEmail; };
|
||||
specialArgs = {
|
||||
inherit
|
||||
hostName
|
||||
userName
|
||||
userEmail
|
||||
system
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
config.flake.modules.nixos.core
|
||||
config.flake.modules.nixos.${hostName}
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
flake.modules.nixos.canopus =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
}@innerArgs:
|
||||
{
|
||||
imports = with config.flake.modules.nixos; [
|
||||
hardware
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
@@ -18,15 +23,9 @@
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp10s0f3u2i2.useDHCP = lib.mkDefault true;
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,12 +5,31 @@
|
||||
desktop
|
||||
];
|
||||
|
||||
tnix.services.lan-mouse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
authorized_fingerprints = {
|
||||
"f4:4b:17:61:f7:01:a4:a2:e1:c7:8c:1c:7a:f3:8b:87:14:3d:05:3d:a0:8b:cc:e7:88:d8:d8:d2:a4:c2:75:8b" =
|
||||
"sirius";
|
||||
tnix = {
|
||||
desktop = {
|
||||
mangowm = {
|
||||
enable = true;
|
||||
monitorRule = [
|
||||
"name:eDP-1, width:2560, height:1440, refresh:165, x:0, y:0, vrr:1"
|
||||
];
|
||||
|
||||
tagRule = [
|
||||
"id:1, layout_name:tile"
|
||||
"id:2, layout_name:tile"
|
||||
"id:3, layout_name:tile"
|
||||
"id:4, layout_name:tile"
|
||||
"id:5, layout_name:scroller"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.lan-mouse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
authorized_fingerprints = {
|
||||
"f4:4b:17:61:f7:01:a4:a2:e1:c7:8c:1c:7a:f3:8b:87:14:3d:05:3d:a0:8b:cc:e7:88:d8:d8:d2:a4:c2:75:8b" =
|
||||
"sirius";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
{
|
||||
imports = with config.flake.modules.nixos; [
|
||||
boot
|
||||
hardware
|
||||
networking
|
||||
desktop
|
||||
gaming
|
||||
@@ -121,20 +120,7 @@
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
# --- Hardware / GPU ---
|
||||
hardware = {
|
||||
nvidia = {
|
||||
modesetting.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
};
|
||||
};
|
||||
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvtopPackages.full
|
||||
davinci-resolve
|
||||
telegram-desktop
|
||||
];
|
||||
|
||||
@@ -14,7 +14,14 @@ in
|
||||
{
|
||||
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit hostName userName userEmail; };
|
||||
specialArgs = {
|
||||
inherit
|
||||
hostName
|
||||
userName
|
||||
userEmail
|
||||
system
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
config.flake.modules.nixos.core
|
||||
config.flake.modules.nixos.${hostName}
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
flake.modules.nixos.sirius =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
}@innerArgs:
|
||||
{
|
||||
imports = with config.flake.modules.nixos; [
|
||||
hardware
|
||||
];
|
||||
|
||||
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
@@ -18,15 +25,23 @@
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp10s0f3u2i2.useDHCP = lib.mkDefault true;
|
||||
hardware = {
|
||||
nvidia = {
|
||||
modesetting.enable = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
|
||||
};
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nvtopPackages.full
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,17 +5,50 @@
|
||||
desktop
|
||||
];
|
||||
|
||||
tnix.services.lan-mouse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
clients = [
|
||||
{
|
||||
position = "bottom";
|
||||
hostname = "canopus";
|
||||
activate_on_startup = true;
|
||||
ips = [ "192.168.8.2" ];
|
||||
}
|
||||
];
|
||||
tnix = {
|
||||
desktop = {
|
||||
mangowm = {
|
||||
enable = true;
|
||||
monitorRule = [
|
||||
"name:DP-2, width:1440, height:2560, refresh:144, x:0, y:0, vrr:0, rr:1"
|
||||
"name:DP-3, width:2560, height:1440, refresh:144, x:1440, y:0, vrr:0"
|
||||
"name:DP-1, width:1080, height:1920, refresh:144, x:4000, y:0, vrr:0, rr:3"
|
||||
];
|
||||
|
||||
tagRule = [
|
||||
"id:1, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:2, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:3, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:4, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
"id:5, layout_name:vertical_tile, monitor_name:DP-2, no_hide:1"
|
||||
|
||||
"id:1, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:2, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:3, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:4, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
"id:5, layout_name:tile, monitor_name:DP-3, no_hide:1"
|
||||
|
||||
"id:1, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:2, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:3, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:4, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
"id:5, layout_name:vertical_tile, monitor_name:DP-1, no_hide:1"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.lan-mouse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
clients = [
|
||||
{
|
||||
position = "bottom";
|
||||
hostname = "canopus";
|
||||
activate_on_startup = true;
|
||||
ips = [ "192.168.8.2" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,22 +3,15 @@
|
||||
flake.modules.nixos.vps =
|
||||
{
|
||||
hostName,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports =
|
||||
with config.flake.modules.nixos;
|
||||
[
|
||||
boot
|
||||
hardware
|
||||
networking
|
||||
virtualisation
|
||||
services
|
||||
]
|
||||
++ [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
imports = with config.flake.modules.nixos; [
|
||||
boot
|
||||
networking
|
||||
virtualisation
|
||||
services
|
||||
];
|
||||
|
||||
tnix = {
|
||||
boot = {
|
||||
|
||||
@@ -14,7 +14,14 @@ in
|
||||
{
|
||||
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit hostName userName userEmail; };
|
||||
specialArgs = {
|
||||
inherit
|
||||
hostName
|
||||
userName
|
||||
userEmail
|
||||
system
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
config.flake.modules.nixos.core
|
||||
config.flake.modules.nixos.${hostName}
|
||||
|
||||
17
modules/hosts/vps/hardware.nix
Normal file
17
modules/hosts/vps/hardware.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
flake.modules.nixos.vps =
|
||||
{
|
||||
lib,
|
||||
modulesPath,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user