diff --git a/flake.lock b/flake.lock index 0e17604..7b905b5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,41 @@ { "nodes": { + "bar-rs": { + "inputs": { + "crane": "crane", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1773069513, + "narHash": "sha256-oD0SeEVMEuBRJrL9wJofAcVmf+yWZ2mGzo3qK6KgJl8=", + "owner": "cydiralis", + "repo": "bar-rs", + "rev": "8dd19ba24cadfc04198d5efd1a65fbc140e66fe3", + "type": "github" + }, + "original": { + "owner": "cydiralis", + "repo": "bar-rs", + "type": "github" + } + }, + "crane": { + "locked": { + "lastModified": 1772560058, + "narHash": "sha256-NuVKdMBJldwUXgghYpzIWJdfeB7ccsu1CC7B+NfSoZ8=", + "owner": "ipetkov", + "repo": "crane", + "rev": "db590d9286ed5ce22017541e36132eab4e8b3045", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "flake-compat": { "locked": { "lastModified": 1733328505, @@ -14,7 +50,43 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, + "flake-parts": { + "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-utils": { + "inputs": { + "systems": "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" + } + }, + "flake-utils_2": { "inputs": { "systems": [ "nixpkgs-xr", @@ -35,9 +107,9 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1731533236, @@ -60,11 +132,11 @@ ] }, "locked": { - "lastModified": 1771756436, - "narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=", + "lastModified": 1772985285, + "narHash": "sha256-wEEmvfqJcl9J0wyMgMrj1TixOgInBW/6tLPhWGoZE3s=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bd3589390b431a63072868a90c0f24771ff4cbb", + "rev": "5be5d8245cbc7bc0c09fbb5f38f23f223c543f85", "type": "github" }, "original": { @@ -73,6 +145,28 @@ "type": "github" } }, + "mangowc": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "scenefx": "scenefx" + }, + "locked": { + "lastModified": 1773034081, + "narHash": "sha256-tH1yy1LQYtmGWnCU7whsdX0iGpc2dvaJ+7p6rvuKkHg=", + "owner": "mangowm", + "repo": "mango", + "rev": "db30977196b91cfe2e5db8e9829faafe13417bd9", + "type": "github" + }, + "original": { + "owner": "mangowm", + "repo": "mango", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -80,11 +174,11 @@ ] }, "locked": { - "lastModified": 1771734689, - "narHash": "sha256-/phvMgr1yutyAMjKnZlxkVplzxHiz60i4rc+gKzpwhg=", + "lastModified": 1772945408, + "narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "8f590b832326ab9699444f3a48240595954a4b10", + "rev": "1c1d8ea87b047788fd7567adf531418c5da321ec", "type": "github" }, "original": { @@ -95,35 +189,50 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771830638, - "narHash": "sha256-zcIkQrYalt8nlH9FErrgpgtCpD3lhy58DFOC4u85+BA=", + "lastModified": 1772773019, + "narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ca49aa290e92b6a885e8c0045033fe2538a4977", + "rev": "aca4d95fce4914b3892661bcb80b8087293536c6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, + "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-xr": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_3", "nvfetcher": "nvfetcher", - "systems": "systems", + "systems": "systems_2", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1771812780, - "narHash": "sha256-uO9m93APRSZgFRxw3GVu09RNLH98WsYpfRHSNM6Ad1U=", + "lastModified": 1772935638, + "narHash": "sha256-NzeoTOG8HVsn2RM/SyC9NSoK1f+rUQUTwfbB5ZvdcRE=", "owner": "nix-community", "repo": "nixpkgs-xr", - "rev": "b91c0cf11e920a18a134aadf7fbe481f648205ee", + "rev": "390bd6961152a4ae1802a20f5d61bc876d3d255e", "type": "github" }, "original": { @@ -134,27 +243,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1773046814, + "narHash": "sha256-3CEw64UyzEk5QjfbcXNIl4TfmIpa2oY+duuo6aiawcU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "0c6c0dd2469abaa216599bb19bbf77a328af6564", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-unstable-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_3": { "locked": { - "lastModified": 1766651565, - "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "lastModified": 1772773019, + "narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", + "rev": "aca4d95fce4914b3892661bcb80b8087293536c6", "type": "github" }, "original": { @@ -164,23 +273,19 @@ "type": "github" } }, - "noctalia": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, + "nixpkgs_4": { "locked": { - "lastModified": 1771979542, - "narHash": "sha256-0hqvh2D8tdwFG9pT9Ds1EysZYPTKpVJCunnXQ31MUZ8=", - "owner": "noctalia-dev", - "repo": "noctalia-shell", - "rev": "fe8e23f1d0e6ed4bdefd061e6834c4d61f2266be", + "lastModified": 1771848320, + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", "type": "github" }, "original": { - "owner": "noctalia-dev", - "repo": "noctalia-shell", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, @@ -216,15 +321,73 @@ }, "root": { "inputs": { + "bar-rs": "bar-rs", "home-manager": "home-manager", + "mangowc": "mangowc", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-xr": "nixpkgs-xr", - "noctalia": "noctalia", "waterfox": "waterfox" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "bar-rs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772939270, + "narHash": "sha256-HbxD5DJAKxzo0G8on5wdY+OZNiUWt3FTvGmXmVEmg7g=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "bb93f191a07c0165992ed6d0b4197ee5c7e6e641", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "scenefx": { + "inputs": { + "nixpkgs": [ + "mangowc", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750785057, + "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", + "owner": "wlrfx", + "repo": "scenefx", + "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", + "type": "github" + }, + "original": { + "owner": "wlrfx", + "repo": "scenefx", + "type": "github" + } + }, "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -239,7 +402,7 @@ "type": "github" } }, - "systems_2": { + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -262,11 +425,11 @@ ] }, "locked": { - "lastModified": 1770228511, - "narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=", + "lastModified": 1772660329, + "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "337a4fe074be1042a35086f15481d763b8ddc0e7", + "rev": "3710e0e1218041bbad640352a0440114b1e10428", "type": "github" }, "original": { @@ -277,15 +440,15 @@ }, "waterfox": { "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1771702276, - "narHash": "sha256-aWNStAKGUQ9p0gpJn0Eaw4S85ASXIVs4Rz0G6Vep5L8=", + "lastModified": 1771970514, + "narHash": "sha256-+zrnoFS0egDpUsIv+SEFLYbELS64Qwa8XidAl6Hz2S4=", "owner": "Hythera", "repo": "nix-waterfox", - "rev": "6c0218a6257f35ef5c4d44752e805d7a992965ff", + "rev": "7f1b7bb97dfff5643607231a3928df4c7a886352", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2fb7885..a6e13e8 100644 --- a/flake.nix +++ b/flake.nix @@ -9,11 +9,12 @@ nixpkgs-xr.url = "github:nix-community/nixpkgs-xr"; nix-index-database.url = "github:nix-community/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; - noctalia.url = "github:noctalia-dev/noctalia-shell"; - noctalia.inputs.nixpkgs.follows = "nixpkgs"; + mangowc.url = "github:mangowm/mango"; + mangowc.inputs.nixpkgs.follows = "nixpkgs"; + bar-rs.url = "github:cydiralis/bar-rs"; }; - outputs = inputs@{self, nixpkgs, home-manager, nixpkgs-xr, nix-index-database, noctalia, ...}:{ + outputs = inputs@{self, nixpkgs, home-manager, nixpkgs-xr, nix-index-database, ...}:{ nixosConfigurations."fenix" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; diff --git a/home/bars/bar-rs.ini b/home/bars/bar-rs.ini new file mode 100644 index 0000000..0428418 --- /dev/null +++ b/home/bars/bar-rs.ini @@ -0,0 +1,74 @@ +[general] +# monitor = DP-1 +anchor = top +hot_reloading = true +# hard_reloading = true + +[modules] +left = media +center = cpu +right = time, volume, memory, disk_usage + +[style] +spacing = 10 20 5 +padding = 0 10 +background = rgba(0, 0, 0, 0) +width = 2540 +height = 30 +margin = 7 + +[module_style] +font_size = 17 +icon_size = 20 +text_color = white +icon_color = white + +[module:time] +background = rgba(0, 36, 40, 1) +border_color = rgba(0, 146, 148, 1) +margin = 0 +border_width = 2.5 +padding = 8 +border_radius = 7 + +[module:volume] +background = rgba(0, 36, 40, 1) +border_color = rgba(0, 146, 148, 1) +margin = 0 +border_width = 2.5 +padding = 8 +border_radius = 7 + +[module:cpu] +background = rgba(0, 36, 40, 1) +border_color = rgba(0, 146, 148, 1) +margin = 0 +border_width = 2.5 +padding = 5 +border_radius = 7 + +[module:memory] +background = rgba(0, 36, 40, 1) +border_color = rgba(0, 146, 148, 1) +margin = 0 +border_width = 2.5 +padding = 8 +border_radius = 7 + +[module:disk_usage] +background = rgba(0, 36, 40, 1) +border_color = rgba(0, 146, 148, 1) +margin = 0 +border_width = 2.5 +padding = 3 +border_radius = 7 + +[module:media] +players = firefox,mpd +background = rgba(0, 36, 40, 1) +border_color = rgba(0, 146, 148, 1) +margin = 0 +border_width = 2.5 +padding = 3 +border_radius = 7 + diff --git a/home/waybar/cyberhack b/home/bars/cyberhack similarity index 100% rename from home/waybar/cyberhack rename to home/bars/cyberhack diff --git a/home/waybar/cyberhack.css b/home/bars/cyberhack.css similarity index 100% rename from home/waybar/cyberhack.css rename to home/bars/cyberhack.css diff --git a/home/waybar/modern b/home/bars/modern similarity index 100% rename from home/waybar/modern rename to home/bars/modern diff --git a/home/waybar/modern.css b/home/bars/modern.css similarity index 100% rename from home/waybar/modern.css rename to home/bars/modern.css diff --git a/home/default.nix b/home/default.nix index 52b7a3b..d4b7a08 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,6 +1,6 @@ {config, pkgs, lib, inputs, vars, osConfig, ...}:{ imports = [ - inputs.noctalia.homeModules.default + inputs.mangowc.hmModules.mango ]; home = rec { @@ -9,8 +9,9 @@ stateVersion = "26.05"; shell.enableBashIntegration = true; file = { - ".config/waybar/config".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern"); - ".config/waybar/style.css".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern.css"); + ".config/waybar/config".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/modern"); + ".config/waybar/style.css".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/modern.css"); + ".config/bar-rs/bar-rs.ini".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/bar-rs.ini"; }; pointerCursor = { gtk.enable = true; @@ -61,34 +62,32 @@ } '' else null); - programs.home-manager.enable = true; - programs.noctalia-shell.enable = true; programs.foot = { enable = true; settings.main.font = (if osConfig.var.username == "alyx" then "DepartureMono Nerd Font:size=18" else "monospace:size=12"); - settings.colors.alpha = "0.6"; - settings.colors.foreground = "00ffff"; - settings.colors.background = "002428"; - settings.colors.regular0 = "002428"; - settings.colors.regular1 = "c01c32"; - settings.colors.regular2 = "57ff00"; - settings.colors.regular3 = "f9f06b"; - settings.colors.regular4 = "00ffff"; - settings.colors.regular5 = "dc8add"; - settings.colors.regular6 = "009294"; - settings.colors.regular7 = "62ffff"; - settings.colors.bright0 = "021f22"; - settings.colors.bright1 = "f21633"; - settings.colors.bright2 = "abff80"; - settings.colors.bright3 = "f6d32d"; - settings.colors.bright4 = "92c4ff"; - settings.colors.bright5 = "e7a3e8"; - settings.colors.bright6 = "3bc5c3"; - settings.colors.bright7 = "ffffff"; - settings.colors.selection-foreground = "62ffff"; - settings.colors.selection-background = "006e68"; - settings.colors.cursor = "002428 00ffff"; + settings.colors-dark.alpha = "0.6"; + settings.colors-dark.foreground = "00ffff"; + settings.colors-dark.background = "002428"; + settings.colors-dark.regular0 = "002428"; + settings.colors-dark.regular1 = "c01c32"; + settings.colors-dark.regular2 = "57ff00"; + settings.colors-dark.regular3 = "f9f06b"; + settings.colors-dark.regular4 = "00ffff"; + settings.colors-dark.regular5 = "dc8add"; + settings.colors-dark.regular6 = "009294"; + settings.colors-dark.regular7 = "62ffff"; + settings.colors-dark.bright0 = "021f22"; + settings.colors-dark.bright1 = "f21633"; + settings.colors-dark.bright2 = "abff80"; + settings.colors-dark.bright3 = "f6d32d"; + settings.colors-dark.bright4 = "92c4ff"; + settings.colors-dark.bright5 = "e7a3e8"; + settings.colors-dark.bright6 = "3bc5c3"; + settings.colors-dark.bright7 = "ffffff"; + settings.colors-dark.selection-foreground = "62ffff"; + settings.colors-dark.selection-background = "006e68"; + settings.colors-dark.cursor = "002428 00ffff"; settings.main.pad = "6x6 center"; }; @@ -160,6 +159,12 @@ ''; wayland.windowManager.sway.checkConfig = false; + wayland.windowManager.mango.enable = true; + wayland.windowManager.mango.systemd.enable = true; + wayland.windowManager.mango.settings = '' + source=~/.config/nixos/home/wms/mango + ''; + services.kanshi = { enable = true; settings = [ diff --git a/home/wms/mango b/home/wms/mango new file mode 100644 index 0000000..2952030 --- /dev/null +++ b/home/wms/mango @@ -0,0 +1,264 @@ +# More option see https://github.com/DreamMaoMao/mango/wiki/ + +# 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 + +border_radius=6 +no_radius_when_single=0 +focused_opacity=1.0 +unfocused_opacity=1.0 + +# Animation Configuration(support type:zoom,slide) +# tag_animation_direction: 1-horizontal,0-vertical +animations=1 +layer_animations=1 +animation_type_open=slide +animation_type_close=slide +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=500 +animation_duration_open=400 +animation_duration_tag=350 +animation_duration_close=800 +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 + +# Scroller Layout Setting +scroller_structs=20 +scroller_default_proportion=0.8 +scroller_focus_center=0 +scroller_prefer_center=0 +edge_scroller_pointer_focus=1 +scroller_default_proportion_single=1.0 +scroller_proportion_preset=0.5,0.8,1.0 + +# Master-Stack Layout Setting +new_is_master=1 +default_mfact=0.55 +default_nmaster=1 +smartgaps=0 + +# Overview Setting +hotarea_size=10 +enable_hotarea=1 +ov_tab_mode=0 +overviewgappi=5 +overviewgappo=30 + +# Misc +no_border_when_single=0 +axis_bind_apply_timeout=100 +focus_on_activate=1 +idleinhibit_ignore_visible=0 +sloppyfocus=1 +warpcursor=1 +focus_cross_monitor=0 +focus_cross_tag=0 +enable_floating_snap=0 +snap_distance=30 +cursor_size=24 +drag_tile_to_tile=1 + +# keyboard +repeat_rate=25 +repeat_delay=600 +numlockon=0 +xkb_rules_layout=us + +# Trackpad +# need relogin to make it apply +disable_trackpad=0 +tap_to_click=1 +tap_and_drag=1 +drag_lock=1 +trackpad_natural_scrolling=0 +disable_while_typing=1 +left_handed=0 +middle_button_emulation=0 +swipe_min_threshold=1 + +# mouse +# need relogin to make it apply +mouse_natural_scrolling=0 +mouse_accel_profile=1 +mouse_accel_speed=-1 +# Appearance +gappih=5 +gappiv=5 +gappoh=10 +gappov=10 +scratchpad_width_ratio=0.8 +scratchpad_height_ratio=0.9 +borderpx=4 +rootcolor=0x201b14ff +bordercolor=0x444444ff +focuscolor=0xc9b890ff +maximizescreencolor=0x89aa61ff +urgentcolor=0xad401fff +scratchpadcolor=0x516c93ff +globalcolor=0xb153a7ff +overlaycolor=0x14a57cff + +# layout support: +# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller +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:tile +tagrule=id:7,layout_name:tile +tagrule=id:8,layout_name:tile +tagrule=id:9,layout_name:tile + +# Key Bindings +# key name refer to `xev` or `wev` command output, +# mod keys name: super,ctrl,alt,shift,none + +# reload config +bind=SUPER,r,reload_config + +# menu and terminal +bind=Alt,d,spawn_shell,foot --title launch --app-id fzf-launcher-foot bash -c 'compgen -c | sort -u | fzf --bind=enter:replace-query+print-query | xargs -I {} mmsg -d spawn,{}' +bind=Alt,Return,spawn,foot +bind=Alt,t,spawn,foot --title music --app-id mpd-control-foot ncmpcpp +bind=none,Print,spawn_shell,grim -g "$(slurp)" -t png - | wl-copy -t image/png +# exit +bind=alt+shift,e,quit +bind=alt+shift,q,killclient, + +# switch window focus +bind=SUPER,Tab,focusstack,next +bind=ALT,Left,focusdir,left +bind=ALT,Right,focusdir,right +bind=ALT,Up,focusdir,up +bind=ALT,Down,focusdir,down + +# swap window +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 window status +bind=SUPER,g,toggleglobal, +bind=ALT,Tab,toggleoverview, +bind=ALT,backslash,togglefloating, +bind=ALT,a,togglemaximizescreen, +bind=ALT,f,togglefullscreen, +bind=ALT+SHIFT,f,togglefakefullscreen, +bind=SUPER,i,minimized, +bind=SUPER,o,toggleoverlay, +bind=SUPER+SHIFT,I,restore_minimized +bind=ALT,z,toggle_scratchpad + +# scroller layout +bind=ALT,e,set_proportion,1.0 +bind=ALT,x,switch_proportion_preset, + +# switch layout +bind=SUPER,n,switch_layout + +# tag switch +bind=SUPER,Left,viewtoleft,0 +bind=CTRL,Left,viewtoleft_have_client,0 +bind=SUPER,Right,viewtoright,0 +bind=CTRL,Right,viewtoright_have_client,0 +bind=CTRL+SUPER,Left,tagtoleft,0 +bind=CTRL+SUPER,Right,tagtoright,0 + +bind=Alt,1,view,1,0 +bind=Alt,2,view,2,0 +bind=Alt,3,view,3,0 +bind=Alt,4,view,4,0 +bind=Alt,5,view,5,0 +bind=Alt,6,view,6,0 +bind=Alt,7,view,7,0 +bind=Alt,8,view,8,0 +bind=Alt,9,view,9,0 + +# tag: move client to the tag and focus it +# tagsilent: move client to the tag and not focus it +# bind=Alt,1,tagsilent,1 +bind=alt+shift,1,tag,1,0 +bind=alt+shift,2,tag,2,0 +bind=alt+shift,3,tag,3,0 +bind=alt+shift,4,tag,4,0 +bind=alt+shift,5,tag,5,0 +bind=alt+shift,6,tag,6,0 +bind=alt+shift,7,tag,7,0 +bind=alt+shift,8,tag,8,0 +bind=alt+shift,9,tag,9,0 + +# monitor switch +bind=alt+shift,Left,focusmon,left +bind=alt+shift,Right,focusmon,right +bind=SUPER+Alt,Left,tagmon,left +bind=SUPER+Alt,Right,tagmon,right + +# gaps +bind=ALT+SHIFT,X,incgaps,1 +bind=ALT+SHIFT,Z,incgaps,-1 +bind=ALT+SHIFT,R,togglegaps + +# movewin +bind=CTRL+SHIFT,Up,movewin,+0,-50 +bind=CTRL+SHIFT,Down,movewin,+0,+50 +bind=CTRL+SHIFT,Left,movewin,-50,+0 +bind=CTRL+SHIFT,Right,movewin,+50,+0 + +# resizewin +bind=CTRL+ALT,Up,resizewin,+0,-50 +bind=CTRL+ALT,Down,resizewin,+0,+50 +bind=CTRL+ALT,Left,resizewin,-50,+0 +bind=CTRL+ALT,Right,resizewin,+50,+0 + +# Mouse Button Bindings +# btn_left and btn_right can't bind none mod key +mousebind=Alt,btn_left,moveresize,curmove +mousebind=Alt,btn_middle,togglemaximizescreen,0 +mousebind=Alt,btn_right,moveresize,curresize + + +# Axis Bindings +axisbind=SUPER,UP,viewtoleft_have_client +axisbind=SUPER,DOWN,viewtoright_have_client + +windowrule=appid:fzf-launcher-foot,isfloating:1 +windowrule=appid:mpd-control-foot,isfloating:1 + +# layer rule +layerrule=animation_type_open:zoom,layer_name:rofi +layerrule=animation_type_close:zoom,layer_name:rofi + +exec-once=kanshi +exec-once=swww-daemon +exec-once=wrapped-bar-rs diff --git a/home/wms/sway b/home/wms/sway index 0568046..f0ac1e8 100644 --- a/home/wms/sway +++ b/home/wms/sway @@ -132,7 +132,6 @@ gaps outer 7 for_window [app_id="^fzf-launcher-foot$"] floating enable for_window [app_id="^mpd-control-foot$"] floating enable for_window [con_mark="DELTARUNE Chapter 1&2"] floating enable -exec noctalia-shell exec udiskie --appindicator -t diff --git a/hosts/apalapucia/default.nix b/hosts/apalapucia/default.nix index 67075f5..5e8d507 100644 --- a/hosts/apalapucia/default.nix +++ b/hosts/apalapucia/default.nix @@ -38,7 +38,7 @@ hardware.wooting.enable = true; - services.udev.packages = with pkgs; [xr-hardware ddcutil]; + services.udev.packages = with pkgs; [xr-hardware ddcutil logitech-udev-rules]; services.power-profiles-daemon.enable = true; services.upower.enable = true; @@ -66,6 +66,9 @@ environment.systemPackages = with pkgs; [ ddcutil + solaar + inputs.bar-rs.packages.${pkgs.stdenv.hostPlatform.system}.default + playerctl ]; hardware.i2c.enable = true; diff --git a/hosts/generic.nix b/hosts/generic.nix index da60178..49bb87a 100644 --- a/hosts/generic.nix +++ b/hosts/generic.nix @@ -3,6 +3,7 @@ { imports = [ ../pkgs + inputs.mangowc.nixosModules.mango ]; nix.settings.experimental-features = "nix-command flakes"; @@ -31,13 +32,13 @@ services.gnome.gnome-keyring.enable = true; security.pam.services.greetd.enableGnomeKeyring = true; security.pam.services.greetd.gnupg.enable = true; - security.pam.services.login = { enableGnomeKeyring = true; gnupg.enable = true; }; programs.sway.enable = (if config.var.class == "desktop" then true else false); + programs.mango.enable = (if config.var.class == "desktop" then true else false); programs.gnupg.agent = { enable = true;