diff --git a/flake.lock b/flake.lock index 7c6e967..1118e43 100644 --- a/flake.lock +++ b/flake.lock @@ -85,6 +85,24 @@ } }, "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-parts_2": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -105,7 +123,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -181,6 +199,28 @@ "type": "github" } }, + "mangowm": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "scenefx": "scenefx" + }, + "locked": { + "lastModified": 1773464981, + "narHash": "sha256-zKlImlnnf+iJeUke2gthzvmXu0cl8P7vBNRwvjkbsN4=", + "owner": "mangowm", + "repo": "mango", + "rev": "32c36ba48548f1b30e929c8a739f838bac72db2f", + "type": "github" + }, + "original": { + "owner": "mangowm", + "repo": "mango", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1766902047, @@ -197,6 +237,21 @@ "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_2": { "locked": { "lastModified": 1766651565, @@ -215,7 +270,7 @@ }, "nixvim": { "inputs": { - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], @@ -263,12 +318,34 @@ "root": { "inputs": { "home-manager": "home-manager", + "mangowm": "mangowm", "nixpkgs": "nixpkgs", "nixvim": "nixvim", "spicetify-nix": "spicetify-nix", "stylix": "stylix" } }, + "scenefx": { + "inputs": { + "nixpkgs": [ + "mangowm", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750785057, + "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", + "owner": "wlrfx", + "repo": "scenefx", + "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", + "type": "github" + }, + "original": { + "owner": "wlrfx", + "repo": "scenefx", + "type": "github" + } + }, "spicetify-nix": { "inputs": { "nixpkgs": "nixpkgs_2", @@ -295,7 +372,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "gnome-shell": "gnome-shell", "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index b1edc5e..bd64dfb 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,12 @@ url = "github:nix-community/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # mango + mangowm = { + url = "github:mangowm/mango"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ { @@ -29,6 +35,7 @@ stylix, spicetify-nix, nixvim, + mangowm, ... }: { nixosConfigurations = { @@ -47,6 +54,7 @@ spicetify-nix.homeManagerModules.spicetify stylix.homeModules.stylix nixvim.homeModules.nixvim + mangowm.hmModules.mango ]; }; home-manager.backupFileExtension = "hm-backup"; diff --git a/home/home.nix b/home/home.nix index a7323dc..81fdbb9 100644 --- a/home/home.nix +++ b/home/home.nix @@ -2,8 +2,9 @@ imports = [ ./packages.nix - # hyprland - ./modules/wm/sway/default.nix + # wm + # ./modules/wm/sway/default.nix + ./modules/wm/mango/default.nix # editors ./modules/ide/nvim/default.nix @@ -18,7 +19,7 @@ # user stuff ./modules/user/direnv/default.nix - ./modules/user/tofi/default.nix + ./modules/user/bemenu/default.nix ./modules/user/dunst/default.nix ./modules/user/git/default.nix ./modules/user/stylix/default.nix diff --git a/home/modules/ide/nvim/plugins/starter.nix b/home/modules/ide/nvim/plugins/starter.nix index 4b534ae..bffa1fd 100644 --- a/home/modules/ide/nvim/plugins/starter.nix +++ b/home/modules/ide/nvim/plugins/starter.nix @@ -5,21 +5,31 @@ autoopen = true; evaluate_single = true; header = '' - ⢀⣴⡾⠃⠄⠄⠄⠄⠄⠈⠺⠟⠛⠛⠛⠛⠻⢿⣿⣿⣿⣿⣶⣤⡀ - ⢀⣴⣿⡿⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⣸⣿⣿⣿⣿⣿⣿⣿⣷ - ⣴⣿⡿⡟⡼⢹⣷⢲⡶⣖⣾⣶⢄⠄⠄⠄⠄⠄⢀⣼⣿⢿⣿⣿⣿⣿⣿⣿⣿ - ⣾⣿⡟⣾⡸⢠⡿⢳⡿⠍⣼⣿⢏⣿⣷⢄⡀⠄⢠⣾⢻⣿⣸⣿⣿⣿⣿⣿⣿⣿ - ⣡⣿⣿⡟⡼⡁⠁⣰⠂⡾⠉⢨⣿⠃⣿⡿⠍⣾⣟⢤⣿⢇⣿⢇⣿⣿⢿⣿⣿⣿⣿⣿ - ⣱⣿⣿⡟⡐⣰⣧⡷⣿⣴⣧⣤⣼⣯⢸⡿⠁⣰⠟⢀⣼⠏⣲⠏⢸⣿⡟⣿⣿⣿⣿⣿⣿ - ⣿⣿⡟⠁⠄⠟⣁⠄⢡⣿⣿⣿⣿⣿⣿⣦⣼⢟⢀⡼⠃⡹⠃⡀⢸⡿⢸⣿⣿⣿⣿⣿⡟ - ⣿⣿⠃⠄⢀⣾⠋⠓⢰⣿⣿⣿⣿⣿⣿⠿⣿⣿⣾⣅⢔⣕⡇⡇⡼⢁⣿⣿⣿⣿⣿⣿⢣ - ⣿⡟⠄⠄⣾⣇⠷⣢⣿⣿⣿⣿⣿⣿⣿⣭⣀⡈⠙⢿⣿⣿⡇⡧⢁⣾⣿⣿⣿⣿⣿⢏⣾ - ⣿⡇⠄⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢻⠇⠄⠄⢿⣿⡇⢡⣾⣿⣿⣿⣿⣿⣏⣼⣿ - ⣿⣷⢰⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⢰⣧⣀⡄⢀⠘⡿⣰⣿⣿⣿⣿⣿⣿⠟⣼⣿⣿ - ⢹⣿⢸⣿⣿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣶⣭⣉⣤⣿⢈⣼⣿⣿⣿⣿⣿⣿⠏⣾⣹⣿⣿ - ⢸⠇⡜⣿⡟⠄⠄⠄⠈⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟⣱⣻⣿⣿⣿⣿⣿⠟⠁⢳⠃⣿⣿⣿ - ⣰⡗⠹⣿⣄⠄⠄⠄⢀⣿⣿⣿⣿⣿⣿⠟⣅⣥⣿⣿⣿⣿⠿⠋ ⣾⡌⢠⣿⡿⠃ - ⠜⠋⢠⣷⢻⣿⣿⣶⣾⣿⣿⣿⣿⠿⣛⣥⣾⣿⠿⠟⠛⠉ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣷⣜⢿⣧⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠻⣿⣿⣿⣿⣦⠄⠄ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣮⡻⣷⡙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣆⠙⣿⣿⣿⣿⣧⠄ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⣿⣿⣿⣿⣿⣿⣧⢸⣿⣿⣿⡘⢿⣮⡛⣷⡙⢿⣿⡏⢻⣿⣿⣿⣧⠙⢿⣿⣿⣷⠘⢿⣿⣆⢿⣿⣿⣿⣿⣆ + ⣿⣿⣿⣿⣿⣿⣿⣿⡿⠐⣿⣿⣿⣿⣿⣿⠃⠄⢣⠻⣿⣧⠄⠙⢷⡀⠙⢦⡙⢿⡄⠹⣿⣿⣿⣇⠄⠻⣿⣿⣇⠈⢻⣿⡎⢿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⡇⠄⣿⣿⣿⣿⣿⠋⠄⣼⣆⢧⠹⣿⣆⠄⠈⠛⣄⠄⢬⣒⠙⠂⠈⢿⣿⣿⡄⠄⠈⢿⣿⡀⠄⠙⣿⠘⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⡇⠄⣿⣿⣿⣿⠏⢀⣼⣿⣿⣎⠁⠐⢿⠆⠄⠄⠈⠢⠄⠙⢷⣤⡀⠄⠙⠿⠷⠄⠄⠄⠹⠇⠄⠄⠘⠄⢸⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄⢻⣿⣿⠏⢀⣾⣿⣿⣿⣿⡦⠄⠄⡘⢆⠄⠄⠄⠄⠄⠄⠙⠻⡄⠄⠄⠉⡆⠄⠄⠄⠑⠄⢠⡀⠄⠄⣿⡿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄⢸⣿⠋⣰⣿⣿⡿⢟⣫⣵⣾⣷⡄⢻⣄⠁⠄⠄⠠⣄⠄⠄⠄⠈⠂⠄⠄⠈⠄⠱⠄⠄⠄⠄⢷⢀⣠⣽⡇⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⡄⠄⠄⢁⣚⣫⣭⣶⣾⣿⣿⣿⣿⣿⣿⣦⣽⣷⣄⠄⠄⠘⢷⣄⠄⠄⠄⠄⣠⠄⠄⠄⠄⠈⠉⠈⠻⢸⣿⣿⡇⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⡇⠄⢠⣾⣿⣿⣿⣿⣿⡿⠿⠿⠟⠛⠿⣿⣿⣿⣿⣷⣤⣤⣤⣿⣷⣶⡶⠋⢀⡠⡐⢒⢶⣝⢿⡟⣿⢸⣿⣿⡃⣿ + ⣿⣿⣿⢹⣿⢿⣿⣿⣷⢠⣿⣿⣿⣿⣯⠷⠐⠋⠋⠛⠉⠁⠛⠛⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⡏⠊⡼⢷⢱⣿⡾⡷⣿⢸⡏⣿⢰⣿ + ⣿⣿⣿⢸⣿⡘⡿⣿⣿⠎⣿⠟⠋⢁⡀⡠⣒⡤⠬⢭⣖⢝⢷⣶⣬⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢃⢔⠭⢵⣣⣿⠓⢵⣿⢸⢃⡇⢸⣿ + ⣿⣿⣿⡄⣿⡇⠄⡘⣿⣷⡸⣴⣾⣿⢸⢱⢫⡞⣭⢻⡼⡏⣧⢿⣿⣿⣿⣿⣿⣿⣿⡿⣿⢿⡿⣿⣧⣕⣋⣉⣫⣵⣾⣿⡏⢸⠸⠁⢸⡏ + ⣿⣿⣿⡇⠸⣷⠄⠈⠘⢿⣧⠹⣹⣿⣸⡼⣜⢷⣕⣪⡼⣣⡟⣾⣿⣿⢯⡻⣟⢯⡻⣿⣮⣷⣝⢮⣻⣿⢿⣿⣝⣿⣿⢿⣿⢀⠁⠄⢸⠄ + ⣿⣿⡿⣇⠄⠹⡆⠄⠄⠈⠻⣧⠩⣊⣷⠝⠮⠕⠚⠓⠚⣩⣤⣝⢿⣿⣯⡿⣮⣷⣿⣾⣿⢻⣿⣿⣿⣾⣷⣽⣿⣿⣿⣿⡟⠄⠄⠄⠄⢸ + ⠹⣿⡇⢹⠄⠄⠐⠄⠄⠄⠄⠈⠣⠉⡻⣟⢿⣝⢿⣝⠿⡿⣷⣝⣷⣝⣿⣿⣿⣿⣿⣿⣿⣧⢹⣿⣿⣿⣿⣿⣿⣿⣿⡟⣠⠄⠄⠄⠄⠈ + ⠄⠘⠇⠄⠄⠄⠄⠄⠄⠄⠄⠄⠠⣌⠈⢳⢝⣮⣻⣿⣿⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄⠄⠄⢀ + ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣷⣤⣝⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠄⠄⠄⠄⣼ + ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⠏⠄⠄⠄⠄⣰⢩ + ⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⠋⠉⠉⠉⠄⠄⠄⠄⣸⣿⣿⣿⣿⡿⠃⠄⠄⠄⠄⣰⣿⣧ + ⣷⡀⠄⠈⢦⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢻⣯⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣤⣤⣶⣶⣶⣶⣾⣿⣿⣿⣿⡿⠋⠄⠄⠄⠄⠄⣰⣿⣿⣿ + ⣿⣿⣦⡱⣌⢻⣦⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠄⠄⠄⠄⠄⠄⢰⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣷⣿⣿⣦⣐⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠉⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣫⡔⢀⣴⠄⠄⠄⡼⣠⣿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠉⠉⠉⠙⠛⢛⣛⣛⣭⣾⣿⣴⣿⢇⣤⣦⣾⣿⣿⣿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⠟⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ''; }; }; diff --git a/home/modules/user/bemenu/default.nix b/home/modules/user/bemenu/default.nix new file mode 100644 index 0000000..2496ddb --- /dev/null +++ b/home/modules/user/bemenu/default.nix @@ -0,0 +1,12 @@ +{ + programs.bemenu = { + enable = true; + settings = { + border = 0; + list = "5 down"; + width-factor = 1.0; + line-height = 25; + center = true; + }; + }; +} diff --git a/home/modules/wm/mango/default.nix b/home/modules/wm/mango/default.nix new file mode 100644 index 0000000..4c2b857 --- /dev/null +++ b/home/modules/wm/mango/default.nix @@ -0,0 +1,219 @@ +{pkgs, ...}: let + wallpaperScript = pkgs.writeShellScriptBin "random-wallpaper" '' + pkill -f swaybg 2>/dev/null || true + walp=$(find "$HOME/wallpapers" -type f \( -iname "*.jpg" -o -iname "*.png" \) | shuf -n 1) + [ -n "$walp" ] && ${pkgs.swaybg}/bin/swaybg -m "fill" -i "$walp" & + ''; +in { + home.packages = [wallpaperScript]; + + wayland.windowManager.mango = { + enable = true; + + autostart_sh = '' + dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + systemctl --user start pipewire + systemctl --user start xdg-desktop-portal + ${wallpaperScript}/bin/random-wallpaper & + ''; + + settings = '' + 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=0 + no_radius_when_single=0 + focused_opacity=1.0 + unfocused_opacity=0.99 + + 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_structs=0 + scroller_default_proportion=0.5 + 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 + + new_is_master=1 + default_mfact=0.55 + default_nmaster=1 + smartgaps=0 + + enable_hotarea=0 + ov_tab_mode=0 + overviewgappi=5 + overviewgappo=30 + + 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 + drag_tile_to_tile=1 + + repeat_rate=25 + repeat_delay=600 + numlockon=1 + xkb_rules_layout=es,ru + xkb_rules_options=grp:alt_space_toggle + + 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_natural_scrolling=0 + + gappih=3 + gappiv=3 + gappoh=3 + gappov=3 + borderpx=0 + cursor_size=24 + rootcolor=0x000000ff + bordercolor=0x2a2a2aff + focuscolor=0x3a3a3aff + urgentcolor=0x5a5a5aff + + tagrule=id:1,layout_name:deck + tagrule=id:2,layout_name:scroller + tagrule=id:3,layout_name:scroller + tagrule=id:4,layout_name:scroller + tagrule=id:5,layout_name:scroller + tagrule=id:6,layout_name:scroller + tagrule=id:7,layout_name:scroller + tagrule=id:8,layout_name:scroller + tagrule=id:9,layout_name:scroller + + bind=SUPER,space,spawn,sh -c "WAYLAND_DISPLAY=$WAYLAND_DISPLAY bemenu-run" + bind=SUPER,t,spawn,foot + bind=SUPER,z,spawn,firefox + bind=SUPER,r,spawn,st + bind=SUPER,w,spawn,${wallpaperScript}/bin/random-wallpaper + + bind=SUPER+SHIFT,Print,spawn,~/bin/sss screen + bind=SUPER,Print,spawn,~/bin/sss area + + bind=SUPER,q,killclient, + bind=ALT,backslash,togglefloating, + bind=SUPER,s,toggle_scratchpad + + 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 + + bind=CTRL+ALT,Left,resizewin,-50,+0 + bind=CTRL+ALT,Right,resizewin,+50,+0 + bind=CTRL+ALT,Up,resizewin,+0,-50 + bind=CTRL+ALT,Down,resizewin,+0,+50 + + bind=CTRL+SHIFT,Left,movewin,-50,+0 + bind=CTRL+SHIFT,Right,movewin,+50,+0 + bind=CTRL+SHIFT,Up,movewin,+0,-50 + bind=CTRL+SHIFT,Down,movewin,+0,+50 + + 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 + bind=SUPER,7,view,7,0 + bind=SUPER,8,view,8,0 + bind=SUPER,9,view,9,0 + bind=SUPER,0,view,10,0 + + bind=SUPER+SHIFT,1,tag,1,0 + bind=SUPER+SHIFT,2,tag,2,0 + bind=SUPER+SHIFT,3,tag,3,0 + bind=SUPER+SHIFT,4,tag,4,0 + bind=SUPER+SHIFT,5,tag,5,0 + bind=SUPER+SHIFT,6,tag,6,0 + bind=SUPER+SHIFT,7,tag,7,0 + bind=SUPER+SHIFT,8,tag,8,0 + bind=SUPER+SHIFT,9,tag,9,0 + bind=SUPER+SHIFT,0,tag,10,0 + + bind=ALT+SHIFT,Left,focusmon,left + bind=ALT+SHIFT,Right,focusmon,right + bind=SUPER+ALT,Left,tagmon,left + bind=SUPER+ALT,Right,tagmon,right + + bind=ALT+SHIFT,X,incgaps,1 + bind=ALT+SHIFT,Z,incgaps,-1 + bind=ALT+SHIFT,R,togglegaps + + mousebind=SUPER,btn_left,moveresize,curmove + mousebind=SUPER,btn_right,moveresize,curresize + mousebind=NONE,btn_left,toggleoverview,1 + + axisbind=SUPER,UP,viewtoleft_have_client + axisbind=SUPER,DOWN,viewtoright_have_client + + cursor_size=24 + cursor_theme=macOS + + exec=${wallpaperScript}/bin/random-wallpaper + exec-once=~/.config/mango/autostart.sh + ''; + }; + + home.sessionVariables = { + XCURSOR_THEME = "macOS"; + XCURSOR_SIZE = "24"; + XDG_CURRENT_DESKTOP = "mango"; + BEMENU_BACKEND = "wayland"; + }; +} diff --git a/nixos/modules/programs.nix b/nixos/modules/programs.nix index 1810514..04fa1c3 100644 --- a/nixos/modules/programs.nix +++ b/nixos/modules/programs.nix @@ -2,16 +2,12 @@ environment.sessionVariables = { WLR_NO_HARDWARE_CURSORS = "1"; NIXOS_OZONE_WL = "1"; - XDG_CURRENT_DESKTOP = "sway"; + XDG_CURRENT_DESKTOP = "mango"; + WLR_DRM_NO_ATOMIC = "1"; }; security.polkit.enable = true; - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - }; - environment.systemPackages = with pkgs; [ # essential curl @@ -22,6 +18,9 @@ xdg-desktop-portal gnumake git-credential-manager + pipewire + pulseaudio + xdg-desktop-portal-wlr # notifications libnotify diff --git a/nixos/modules/xserver.nix b/nixos/modules/xserver.nix index 5f33569..8604d39 100644 --- a/nixos/modules/xserver.nix +++ b/nixos/modules/xserver.nix @@ -25,7 +25,7 @@ enable = true; settings = rec { initial_session = { - command = "${pkgs.sway}/bin/sway --unsupported-gpu"; + command = "${pkgs.mangowc}/bin/mango"; user = "elisiei"; }; default_session = initial_session; @@ -33,22 +33,16 @@ }; console.keyMap = "es"; + programs.dconf.enable = true; xdg = { portal = { + config.common.default = "*"; enable = true; + wlr.enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-wlr - xdg-desktop-portal-gtk ]; }; }; - - #environment.etc."xdg/sessions/hyprland.desktop".text = '' - # [Desktop Entry] - # Name=Hyprland - # Comment=Hyprland Wayland Compositor - # Exec=Hyprland - # Type=Application - #''; }