diff options
Diffstat (limited to 'config')
| -rw-r--r-- | config/.tmux.conf | 4 | ||||
| -rw-r--r-- | config/alacritty/alacritty.toml | 26 | ||||
| -rw-r--r-- | config/dwl.nix | 4 | ||||
| -rw-r--r-- | config/qtile/config.py | 309 | ||||
| -rw-r--r-- | config/qtile/default.nix | 5 | ||||
| -rw-r--r-- | config/themes.nix | 6 | 
6 files changed, 347 insertions, 7 deletions
| diff --git a/config/.tmux.conf b/config/.tmux.conf index 1137b9d..2a3e06b 100644 --- a/config/.tmux.conf +++ b/config/.tmux.conf @@ -37,8 +37,8 @@ bind-key r command-prompt -I "#W" "rename-window '%%'"  bind-key x kill-pane  bind-key c new-window -c "#{pane_current_path}" -fg="#272727" -bg="#f2f0fa" +fg="#d3c6aa" +bg="#202222"  set -g status-position "bottom"  set -g status-style bg=default,fg=default diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index 6700cab..fd75e99 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -12,3 +12,29 @@ style = { shape = "Beam" }  [env]  TERM = "xterm-256color" + +[colors.primary] +background = "#0F1212" +foreground = "#d3c6aa" + +# Normal colors +[colors.normal] +black   = "#414b50" +red     = "#e67e80" +green   = "#a7c080" +yellow  = "#dbbc7f" +blue    = "#7fbbb3" +magenta = "#d699b6" +cyan    = "#83c092" +white   = "#d3c6aa" + +# Bright colors +[colors.bright] +black   = "#475258" +red     = "#e67e80" +green   = "#a7c080" +yellow  = "#dbbc7f" +blue    = "#7fbbb3" +magenta = "#d699b6" +cyan    = "#83c092" +white   = "#d3c6aa" diff --git a/config/dwl.nix b/config/dwl.nix index 3a011b2..2d0ab0a 100644 --- a/config/dwl.nix +++ b/config/dwl.nix @@ -4,9 +4,5 @@ let    dwl = (pkgs.callPackage ../packages/dwl.nix {});    dwlb = (pkgs.callPackage ../packages/dwlb.nix {});  in { -  xdg.portal.enable = true; -  xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-wlr pkgs.xdg-desktop-portal ]; -  xdg.portal.config.common.default = "wlr"; -    home.packages = [ dwl dwlb ];  } diff --git a/config/qtile/config.py b/config/qtile/config.py new file mode 100644 index 0000000..a1bdb73 --- /dev/null +++ b/config/qtile/config.py @@ -0,0 +1,309 @@ +from libqtile import bar, layout, qtile, widget +from libqtile.config import Click, Drag, Group, Key, Match, Screen +from libqtile.lazy import lazy +from libqtile.backend.wayland import InputConfig + +mod = "mod4" +terminal = "alacritty" +launcher = "/etc/nixos/dist/run.sh" + +keys = [ +    # Switch between windows +    Key([mod], "h", lazy.layout.left(), desc="Move focus to left"), +    Key([mod], "l", lazy.layout.right(), desc="Move focus to right"), +    Key([mod], "j", lazy.layout.down(), desc="Move focus down"), +    Key([mod], "k", lazy.layout.up(), desc="Move focus up"), + +    # Move windows between left/right columns or move up/down in current stack. +    Key([mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window to the left"), +    Key([mod, "shift"], "l", lazy.layout.shuffle_right(), desc="Move window to the right"), +    Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"), +    Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"), + +    # Grow windows +    Key([mod, "control"], "h", lazy.layout.grow_left(), desc="Grow window to the left"), +    Key([mod, "control"], "l", lazy.layout.grow_right(), desc="Grow window to the right"), +    Key([mod, "control"], "j", lazy.layout.grow_down(), desc="Grow window down"), +    Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"), +    Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"), + +    Key( +        [mod], +        "f", +        lazy.window.toggle_fullscreen(), +        desc="Toggle fullscreen on the focused window", +    ), +    Key([mod, "shift"], "f", lazy.window.toggle_floating(), desc="Toggle floating on the focused window"), + +    Key([mod, "shift"], "Return", lazy.spawn(terminal), desc="Launch terminal"), +    Key([mod], "space", lazy.spawn(launcher), desc="Launcher"), + +    Key([], "XF86AudioRaiseVolume", lazy.spawn("pamixer -i 5"), desc='Volume up'), +    Key([], "XF86AudioLowerVolume", lazy.spawn("pamixer -d 5"), desc='Volume down'), +    Key([], "XF86AudioMute", lazy.spawn("pamixer -t"), desc='Volume Mute'), +    Key([], "XF86MonBrightnessUp", lazy.spawn("brightnessctl s 5%+"), desc='brightness UP'), +    Key([], "XF86MonBrightnessDown", lazy.spawn("brightnessctl s 5%-"), desc='brightness Down'), +    Key([mod],"e", lazy.spawn("pcmanfm"), desc='File manager'), +    # Key([mod], "s", lazy.spawn("flameshot gui"), desc='Screenshot'), + +    Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"), + +    Key([mod, "shift"], "q", lazy.window.kill(), desc="Kill focused window"), +    Key([mod, "shift"], "r", lazy.reload_config(), desc="Reload the config"), +    Key([mod, "shift"], "b", lazy.shutdown(), desc="Shutdown Qtile"), + +    Key([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"), +] + +# Add key bindings to switch VTs in Wayland. +for vt in range(1, 8): +    keys.append( +        Key( +            ["control", "mod1"], +            f"f{vt}", +            lazy.core.change_vt(vt), +            desc=f"Switch to VT{vt}" +        ) +    ) + + +groups = [Group(f"{i+1}", label="") for i in range(9)] + +for i in groups: +    keys.extend( +            [ +                Key( +                    [mod], +                    i.name, +                    lazy.group[i.name].toscreen(), +                    desc="Switch to group {}".format(i.name), +                    ), +                Key( +                    [mod, "shift"], +                    i.name, +                    lazy.window.togroup(i.name, switch_group=True), +                    desc="Switch to & move focused window to group {}".format(i.name), +                    ), +                ] +            ) + +layouts = [ +    layout.MonadTall( +        border_focus="#202222", +        border_normal="#0F1212", +        border_width=4, +        margin=8 +        ), +    layout.Max() +] + +widget_defaults = dict( +    font="UbuntuMono Nerd Font", +    fontsize=14, +    padding=4 +) +extension_defaults = widget_defaults.copy() + +screens = [ + +    Screen( +        wallpaper="/etc/nixos/dist/wallpaper.jpg", +        wallpaper_mode='fill', +        top=bar.Bar( +            [ +                widget.GroupBox( +                    fontsize=24, +                    borderwidth=3, +                    highlight_method='block', +                    active='#607767', +                    block_highlight_text_color="#B2BEBC", +                    highlight_color='#202222', +                    inactive='#0F1212', +                    foreground='#4B427E', +                    background='#202222', +                    this_current_screen_border='#202222', +                    this_screen_border='#202222', +                    other_current_screen_border='#202222', +                    other_screen_border='#202222', +                    urgent_border='#202222', +                    rounded=True, +                    disable_drag=True, +                ), + +                widget.Sep( +                    background='#202222', +                    padding=14, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.WindowName( +                    background='#202222', +                    empty_group_string="Desktop", +                    max_chars=130, +                    foreground='#607767', +                ), + +                widget.Spacer( +                    length=8, +                    background='#0F1212', +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.StatusNotifier( +                    background='#0F1212', +                    fontsize=2, +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.Wlan( +                    fontsize=13, +                    background='#0F1212', +                    foreground='#607767', +                    format='  {essid}', +                    interface='wlp3s0' +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.Memory( +                    format=' {MemUsed: .0f}{mm}', +                    foreground='#607767', +                    background='#0F1212', +                    update_interval=5, +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.Battery( +                    background='#0F1212', +                    foreground='#607767', +                    format='  {percent:2.0%}', +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.PulseVolume( +                    fontsize=13, +                    background='#0F1212', +                    foreground='#607767', +                    fmt=" {}" +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.Clock( +                    format='  %d/%M/%y', +                    background='#0F1212', +                    foreground='#607767', +                ), + +                widget.Sep( +                    background='#0F1212', +                    foreground='#607767', +                    padding=10, +                    linewidth=2, +                    size_percent=50 +                ), + +                widget.Clock( +                    format='  %I:%M %p', +                    background='#0F1212', +                    foreground='#607767', +                ), +            ], +            28, +        ), +    ), +] + +# Drag floating layouts. +mouse = [ +    Drag([mod], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()), +    Drag([mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()), +    Click([mod], "Button2", lazy.window.bring_to_front()) +] + +dgroups_key_binder = None +dgroups_app_rules = [] +follow_mouse_focus = True +bring_front_click = True +floats_kept_above = True +cursor_warp = False +floating_layout = layout.Floating( +    border_focus="#202222", +    border_normal="#0F1212", +    border_width=4, +    float_rules=[ +        # Run the utility of `xprop` to see the wm class and name of an X client. +        *layout.Floating.default_float_rules, +        Match(wm_class="confirmreset"),  # gitk +        Match(wm_class="makebranch"),  # gitk +        Match(wm_class="maketag"),  # gitk +        Match(wm_class="ssh-askpass"),  # ssh-askpass +        Match(title="branchdialog"),  # gitk +        Match(title="pinentry"),  # GPG key password entry +        Match(title="float"), +    ] +) +auto_fullscreen = True +focus_on_window_activation = "smart" +reconfigure_screens = True +auto_minimize = True + +wl_input_rules = { +    "*": InputConfig(tap=True, natural_scroll=True) +} + +wl_xcursor_theme = None +wl_xcursor_size = 16 + +wmname = "LG3D" + +import os +import subprocess + +from libqtile import hook + +@hook.subscribe.startup_once +def autostart(): +    home = os.path.expanduser('/etc/nixos/dist/autostart.sh') +    subprocess.Popen([home]) diff --git a/config/qtile/default.nix b/config/qtile/default.nix new file mode 100644 index 0000000..826c46e --- /dev/null +++ b/config/qtile/default.nix @@ -0,0 +1,5 @@ +{ pkgs, config, ... }: + +{ +  xdg.configFile."qtile/config.py".source = ./config.py; +} diff --git a/config/themes.nix b/config/themes.nix index b406f36..3d3fb34 100644 --- a/config/themes.nix +++ b/config/themes.nix @@ -11,7 +11,7 @@    gtk = {      enable = true; -    theme = { name = "adw-gtk3-dark"; package = pkgs.adw-gtk3; }; +    theme = { name = "Everforest-Dark-BL-LB"; package = pkgs.everforest-gtk-theme; };      iconTheme = { name = "Papirus-Dark"; package = pkgs.papirus-icon-theme; };      font = { name = "UbuntuMono Nerd Font Mono"; }; @@ -19,6 +19,10 @@      gtk3.extraConfig = {        gtk-decoration-layout = "appmenu:none";      }; + +    gtk4.extraConfig = { +      gtk-decoration-layout = "appmenu:none"; +    };    };    qt = { | 
