mirror of
https://github.com/tuxdotrs/nix-config.git
synced 2026-03-22 01:06:33 +05:30
feat: add mangowc
This commit is contained in:
87
flake.lock
generated
87
flake.lock
generated
@@ -297,6 +297,24 @@
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
@@ -311,7 +329,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
@@ -944,6 +962,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"mango": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"scenefx": "scenefx"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771671174,
|
||||
"narHash": "sha256-5yOc1wyqRPUBrKHyjxgKHjCIUA4WEiLpWhW1l6cOrdA=",
|
||||
"owner": "DreamMaoMao",
|
||||
"repo": "mango",
|
||||
"rev": "5f6f014debb8af0fc27b2a52f2569d984ada3ef9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "DreamMaoMao",
|
||||
"repo": "mango",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-formatter-pack": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -1059,7 +1099,7 @@
|
||||
"nixcord": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
@@ -1206,6 +1246,21 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1748740939,
|
||||
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1765674936,
|
||||
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
||||
@@ -1220,7 +1275,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"nixpkgs-lib_3": {
|
||||
"locked": {
|
||||
"lastModified": 1765674936,
|
||||
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
||||
@@ -1496,7 +1551,7 @@
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": "nixpkgs_11"
|
||||
},
|
||||
"locked": {
|
||||
@@ -1515,7 +1570,7 @@
|
||||
},
|
||||
"parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
"nixpkgs-lib": "nixpkgs-lib_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768135262,
|
||||
@@ -1566,6 +1621,7 @@
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"impermanence": "impermanence",
|
||||
"lan-mouse": "lan-mouse",
|
||||
"mango": "mango",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-on-droid": "nix-on-droid",
|
||||
"nix-secrets": "nix-secrets",
|
||||
@@ -1667,6 +1723,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"scenefx": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"mango",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750785057,
|
||||
"narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=",
|
||||
"owner": "wlrfx",
|
||||
"repo": "scenefx",
|
||||
"rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "wlrfx",
|
||||
"repo": "scenefx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"scss-reset": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
||||
@@ -160,6 +160,10 @@
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
mango = {
|
||||
url = "github:DreamMaoMao/mango";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
vicinae-extensions = {
|
||||
url = "github:vicinaehq/extensions";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
../../modules/nixos/desktop
|
||||
../../modules/nixos/desktop/awesome
|
||||
../../modules/nixos/desktop/hyprland
|
||||
../../modules/nixos/desktop/mango
|
||||
../../modules/nixos/virtualisation
|
||||
../../modules/nixos/steam.nix
|
||||
../../modules/nixos/obs-studio.nix
|
||||
@@ -282,7 +283,7 @@
|
||||
supergfxd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mode = "Integrated";
|
||||
mode = "Hybrid";
|
||||
vfio_enable = false;
|
||||
vfio_save = false;
|
||||
always_reboot = false;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
imports = [
|
||||
../../modules/home/desktop/awesome
|
||||
../../modules/home/desktop/hyprland
|
||||
../../modules/home/desktop/mango
|
||||
../../modules/home/desktop/vicinae
|
||||
../../modules/home/desktop/utils
|
||||
../../modules/home/picom
|
||||
|
||||
214
modules/home/desktop/mango/default.nix
Normal file
214
modules/home/desktop/mango/default.nix
Normal file
@@ -0,0 +1,214 @@
|
||||
{inputs, ...}: {
|
||||
imports = [
|
||||
inputs.mango.hmModules.mango
|
||||
];
|
||||
|
||||
wayland.windowManager.mango = {
|
||||
enable = true;
|
||||
settings = ''
|
||||
# Monitors
|
||||
monitorrule = name:eDP-1, width:2560, height:1440, refresh:165, x:0, y:10, vrr:1
|
||||
monitorrule = name:HDMI-A-1, width:2560, height:1440, refresh:100, x:0, y:-1440, vrr: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
|
||||
accel_profile = 0
|
||||
|
||||
# Theme
|
||||
border_radius = 8
|
||||
no_radius_when_single = 0
|
||||
focused_opacity = 1.0
|
||||
unfocused_opacity = 1.0
|
||||
|
||||
# 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:tile
|
||||
tagrule = id:2, layout_name:tile
|
||||
tagrule = id:3, layout_name:tile
|
||||
tagrule = id:4, layout_name:tile
|
||||
tagrule = id:5, layout_name:tile
|
||||
tagrule = id:6, layout_name:scroller
|
||||
|
||||
# Keybindings
|
||||
mousebind = SUPER, btn_left, moveresize, curmove
|
||||
mousebind = SUPER, btn_right, moveresize, curresize
|
||||
gesturebind = none, left, 3, viewtoright_have_client
|
||||
gesturebind = none, right, 3, viewtoleft_have_client
|
||||
gesturebind = none, up, 3, toggleoverview
|
||||
gesturebind = none, down, 3, toggleoverview
|
||||
|
||||
# apps
|
||||
bind = SUPER, Return, spawn, wezterm
|
||||
bind = SUPER, Space, spawn, vicinae toggle
|
||||
bind = SUPER, B, spawn, brave
|
||||
bind = SUPER, V, spawn, vicinae vicinae://extensions/vicinae/clipboard/history
|
||||
bind = SUPER+SHIFT, W, spawn, vicinae vicinae://extensions/sovereign/awww-switcher/wpgrid
|
||||
|
||||
# WM
|
||||
bind = SUPER, Q, killclient
|
||||
bind = SUPER+SHIFT, R, reload_config
|
||||
bind = SUPER+SHIFT, F, togglefullscreen
|
||||
bind = SUPER+SHIFT, Space, togglefloating
|
||||
|
||||
bind = ALT, Tab, toggleoverview
|
||||
bind = ALT+SHIFT, minus, incgaps, -1
|
||||
bind = ALT+SHIFT, equal, incgaps, 1
|
||||
bind = ALT+SHIFT, R, togglegaps
|
||||
|
||||
# switch layout
|
||||
bind = SUPER+SHIFT, H, setlayout, tile
|
||||
bind = SUPER+SHIFT, V, setlayout, vertical_tile
|
||||
bind = SUPER+SHIFT, S, setlayout, scroller
|
||||
|
||||
# resize client
|
||||
bind = SUPER+CTRL, Up, resizewin, +0, -50
|
||||
bind = SUPER+CTRL, Down, resizewin, +0, +50
|
||||
bind = SUPER+CTRL, Left, resizewin, -50, +0
|
||||
bind = SUPER+CTRL, Right, resizewin, +50, +0
|
||||
|
||||
# swap client
|
||||
bind = SUPER+SHIFT, Up, exchange_client, up
|
||||
bind = SUPER+SHIFT, Down, exchange_client, down
|
||||
bind = SUPER+SHIFT, Left, exchange_client, left
|
||||
bind = SUPER+SHIFT, Right, exchange_client, right
|
||||
|
||||
# switch client focus
|
||||
bind = SUPER, Tab, focusstack, next
|
||||
bind = SUPER, Left, focusdir, left
|
||||
bind = SUPER, Right, focusdir, right
|
||||
bind = SUPER, Up, focusdir, up
|
||||
bind = SUPER, Down, focusdir, down
|
||||
|
||||
# switch view
|
||||
bind = SUPER, 1, view, 1, 0
|
||||
bind = SUPER, 2, view, 2, 0
|
||||
bind = SUPER, 3, view, 3, 0
|
||||
bind = SUPER, 4, view, 4, 0
|
||||
bind = SUPER, 5, view, 5, 0
|
||||
bind = SUPER, 6, view, 6, 0
|
||||
|
||||
# move client to the tag with focus
|
||||
bind = SUPER+SHIFT, 1, tagsilent, 1, 0
|
||||
bind = SUPER+SHIFT, 2, tagsilent, 2, 0
|
||||
bind = SUPER+SHIFT, 3, tagsilent, 3, 0
|
||||
bind = SUPER+SHIFT, 4, tagsilent, 4, 0
|
||||
bind = SUPER+SHIFT, 5, tagsilent, 5, 0
|
||||
bind = SUPER+SHIFT, 6, tagsilent, 6, 0
|
||||
|
||||
# move client to the tag without focus
|
||||
bind = SUPER+ALT, 1, tag, 1, 0
|
||||
bind = SUPER+ALT, 2, tag, 2, 0
|
||||
bind = SUPER+ALT, 3, tag, 3, 0
|
||||
bind = SUPER+ALT, 4, tag, 4, 0
|
||||
bind = SUPER+ALT, 5, tag, 5, 0
|
||||
bind = SUPER+ALT, 6, tag, 6, 0
|
||||
|
||||
# Window effect
|
||||
blur = 0
|
||||
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 = 0
|
||||
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 = 1
|
||||
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
|
||||
adaptive_sync = 1
|
||||
syncobj_enable = 1
|
||||
|
||||
exec-once = awww-daemon
|
||||
exec-once = kdeconnectd
|
||||
exec-once = kdeconnect-indicator
|
||||
exec-once = dbus-update-activation-environment --systemd --all; systemctl --user reset-failed && systemctl --user start mango-session.target
|
||||
'';
|
||||
};
|
||||
}
|
||||
26
modules/nixos/desktop/mango/default.nix
Normal file
26
modules/nixos/desktop/mango/default.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.mango.nixosModules.mango
|
||||
];
|
||||
|
||||
programs.mango.enable = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = lib.mkDefault true;
|
||||
extraPortals = with pkgs; [
|
||||
hyprland-git.xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
config.mango = {
|
||||
default = lib.mkForce ["hyprland" "gtk"];
|
||||
"org.freedesktop.impl.portal.ScreenCast" = lib.mkForce ["hyprland"];
|
||||
"org.freedesktop.impl.portal.ScreenShot" = lib.mkForce ["hyprland"];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user