diff --git a/TODO b/TODO index 135edf2..2d932d2 100644 --- a/TODO +++ b/TODO @@ -2,9 +2,4 @@ implement agenix figure out a way to get firefox policies and plugins set up in webapps -fix theme gen for gtk+kde+kvantum - apply defaults/replacements from - https://github.com/nana-4/materia-theme/blob/master/change_color.sh - to - https://github.com/PapirusDevelopmentTeam/materia-kde/tree/master - is theme gen relevant with cosmic? diff --git a/flakes/comfyui/flake.lock b/flakes/comfyui/flake.lock deleted file mode 100644 index c567ee7..0000000 --- a/flakes/comfyui/flake.lock +++ /dev/null @@ -1,95 +0,0 @@ -{ - "nodes": { - "comfyui-mgr": { - "flake": false, - "locked": { - "lastModified": 1714523018, - "narHash": "sha256-BsJbbWtgIx7ydyVCy4lxdJR9xAGvCdA3FDGdwcLEuSY=", - "owner": "ltdrdata", - "repo": "ComfyUI-Manager", - "rev": "393bf64b35439ee948dc71483e69c478bb05e35c", - "type": "github" - }, - "original": { - "owner": "ltdrdata", - "repo": "ComfyUI-Manager", - "type": "github" - } - }, - "comfyui-src": { - "flake": false, - "locked": { - "lastModified": 1714526620, - "narHash": "sha256-mQ9YBiSAR+WbGeEHd7DRdcMSz9+XF6ZrQkxrZigv2Cw=", - "owner": "comfyanonymous", - "repo": "ComfyUI", - "rev": "2aed53c4ac78d842a2e984d23343334a29ed8562", - "type": "github" - }, - "original": { - "owner": "comfyanonymous", - "repo": "ComfyUI", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "comfyui-mgr": "comfyui-mgr", - "comfyui-src": "comfyui-src", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flakes/comfyui/flake.nix b/flakes/comfyui/flake.nix deleted file mode 100644 index 820deae..0000000 --- a/flakes/comfyui/flake.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - description = "ComfyUI"; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - comfyui-src = { - url = "github:comfyanonymous/ComfyUI"; - flake = false; - }; - comfyui-mgr = { - url = "github:ltdrdata/ComfyUI-Manager"; - flake = false; - }; - }; - - # cuda - # micromamba - # pytorch - # triton - # comfyui - # requirements.txt - # needs some kind of mutability escape hatch for addons, models etc.. - - outputs = { - self, - nixpkgs, - flake-utils, - comfyui-src, - comfyui-mgr, - }: - flake-utils.lib.eachDefaultSystem ( - system: let - pkgs = import nixpkgs {inherit system;}; - in - with pkgs; rec { - packages.default = buildFHSEnv { - name = "ComfyUI"; - targetPkgs = pkgs: (with pkgs; - with cudaPackages; [ - cuda_cudart - cudnn - micromamba - ]); - extraBuildCommands = '' - mkdir -p $out/opt/ComfyUI - mkdir -p $out/opt/ComfyUI/custom_nodes/ComfyUI-Manager - cp -R ${comfyui-src}/* $out/opt/ComfyUI - cp -R ${comfyui-mgr}/* $out/opt/ComfyUI/custom_nodes/ComfyUI-Manager - ''; - profile = '' - ln -nfs /opt/ComfyUI/models /host/etc/comfyui/models - ln -nfs /opt/ComfyUI/custom_nodes /host/etc/comfyui/custom_nodes - ''; - # cd /opt/ComfyUI - # eval "$(micromamba shell hook --shell bash)" - # micromamba activate - # micromamba install python pytorch triton - # pip install -r requirements.txt - # ''; - runScript = '' - bash - # ./startup.sh - ''; - }; - } - ); -} diff --git a/flakes/lutgen/flake.nix b/flakes/lutgen/flake.nix deleted file mode 100644 index aa12a21..0000000 --- a/flakes/lutgen/flake.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - description = "Description for the project"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-parts.url = "github:hercules-ci/flake-parts"; - lutgen-lock = { - url = "https://raw.githubusercontent.com/ozwaldorf/lutgen-rs/main/Cargo.lock"; - flake = false; - }; - lutgen-src = { - url = "github:ozwaldorf/lutgen-rs"; - flake = false; - }; - }; - - outputs = inputs @ {flake-parts, ...}: - flake-parts.lib.mkFlake {inherit inputs;} { - imports = [ - # To import a flake module - # 1. Add foo to inputs - # 2. Add foo as a parameter to the outputs function - # 3. Add here: foo.flakeModule - ]; - systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"]; - perSystem = { - config, - self', - inputs', - pkgs, - system, - ... - }: { - # Per-system attributes can be defined here. The self' and inputs' - # module parameters provide easy access to attributes of the same - # system. - - # Equivalent to inputs'.nixpkgs.legacyPackages.hello; - packages.default = pkgs.rustPlatform.buildRustPackage rec { - pname = "lutgen"; - version = "git-${inputs.lutgen-src.lastModifiedDate}"; - src = inputs.lutgen-src; - cargoLock = { - lockFile = inputs.lutgen-lock; - }; - }; - }; - flake = { - # The usual flake attributes can be defined here, including system- - # agnostic ones like nixosModule and system-enumerating ones, although - # those are more easily expressed in perSystem. - }; - }; -} diff --git a/flakes/qtile/flake.nix b/flakes/qtile/flake.nix deleted file mode 100644 index 3d57e8a..0000000 --- a/flakes/qtile/flake.nix +++ /dev/null @@ -1,118 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - flake-parts.url = "github:hercules-ci/flake-parts"; - - qtile-src = { - url = "github:qtile/qtile"; - flake = false; - }; - - pywlroots = { - url = "path:pywlroots"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - # smartfloat = { - # url = "path:smartfloat"; - # inputs.nixpkgs.follows = "nixpkgs"; - # }; - - # scenefx = { - # url = "path:scenefx"; - # inputs.nixpkgs.follows = "nixpkgs"; - # }; - }; - - outputs = inputs @ { - flake-parts, - qtile-src, - pywlroots, - ... - }: - flake-parts.lib.mkFlake {inherit inputs;} { - systems = ["x86_64-linux"]; - perSystem = { - config, - self', - inputs', - pkgs, - system, - ... - }: rec { - packages.qtile-unwrapped = with pkgs; - with python3Packages; - buildPythonPackage rec { - pname = "qtile"; - version = "unstable-${inputs.qtile-src.lastModifiedDate}"; - src = inputs.qtile-src; - SETUPTOOLS_SCM_PRETEND_VERSION = "0.23.0"; - postPatch = '' - substituteInPlace libqtile/pangocffi.py \ - --replace libgobject-2.0.so.0 ${pkgs.glib.out}/lib/libgobject-2.0.so.0 \ - --replace libpangocairo-1.0.so.0 ${pkgs.pango.out}/lib/libpangocairo-1.0.so.0 \ - --replace libpango-1.0.so.0 ${pkgs.pango.out}/lib/libpango-1.0.so.0 - substituteInPlace libqtile/backend/x11/xcursors.py \ - --replace libxcb-cursor.so.0 ${pkgs.xcb-util-cursor.out}/lib/libxcb-cursor.so.0 - substituteInPlace libqtile/backend/wayland/cffi/cairo_buffer.py \ - --replace drm_fourcc.h libdrm/drm_fourcc.h - substituteInPlace libqtile/backend/wayland/cffi/build.py \ - --replace /usr/include/pixman-1 ${lib.getDev pkgs.pixman}/include \ - --replace /usr/include/libdrm ${lib.getDev pkgs.libdrm}/include/libdrm - ''; - nativeBuildInputs = [ - pkg-config - setuptools-scm - setuptools - ]; - propagatedBuildInputs = [ - xcffib - (cairocffi.override {withXcffib = true;}) - python-dateutil - dbus-python - dbus-next - mpd2 - psutil - pulsectl-asyncio - pyxdg - pygobject3 - pywayland - inputs'.pywlroots.packages.default - xkbcommon - ]; - buildInputs = [ - libinput - libxkbcommon - libdrm - wayland - xorg.xcbutilwm - # inputs'.scenefx.packages.default - ((wlroots_0_16.override { - xwayland = xwayland; - enableXWayland = true; - }) - .overrideAttrs (wf: wp: { - postPatch = - wp.postPatch - + '' - substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();" - ''; - })) - ]; - # patches = [./scenefx.patch]; - makeWrapperArgs = [ - "--suffix PATH : ${lib.makeBinPath [mypy]}" - ]; - doCheck = false; - }; - packages.qtile = with pkgs; - with python3Packages; - (python3.withPackages (_: [packages.qtile-unwrapped])).overrideAttrs (_: { - inherit (packages.qtile-unwrapped) pname version meta; - name = with packages.qtile-unwrapped; "${pname}-${version}"; - passthru.unwrapped = packages.qtile-unwrapped; - }); - }; - }; -} diff --git a/flakes/qtile/pywlroots/flake.nix b/flakes/qtile/pywlroots/flake.nix deleted file mode 100644 index 81c480e..0000000 --- a/flakes/qtile/pywlroots/flake.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - flake-parts.url = "github:hercules-ci/flake-parts"; - - pywlroots-src = { - url = "github:flacjacket/pywlroots"; - flake = false; - }; - }; - - outputs = inputs @ { - flake-parts, - pywlroots-src, - ... - }: - flake-parts.lib.mkFlake {inherit inputs;} { - systems = ["x86_64-linux"]; - perSystem = { - config, - self', - inputs', - pkgs, - system, - ... - }: { - packages.default = with pkgs; - with pkgs.python3Packages; - buildPythonPackage rec { - pname = "pywlroots"; - version = "unstable-${inputs.pywlroots-src.lastModifiedDate}"; - format = "setuptools"; - disable = pythonOlder "3.7"; - src = inputs.pywlroots-src; - - nativeBuildInputs = [pkg-config]; - propagatedNativeBuildInputs = [cffi]; - buildInputs = [ - libinput - libxkbcommon - pixman - xorg.libxcb - xorg.xcbutilwm - udev - wayland - ((wlroots_0_16.override { - xwayland = xwayland; - enableXWayland = true; - }) - .overrideAttrs (wf: wp: { - postPatch = - wp.postPatch - + '' - substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();" - ''; - })) - ]; - propagatedBuildInputs = [ - cffi - pywayland - xkbcommon - ]; - nativeCheckInputs = [pytestCheckHook]; - postBuild = '' - ${python3.pythonOnBuildForHost.interpreter} wlroots/ffi_build.py - ''; - - pythonImportsCheck = ["wlroots"]; - passthru.test = {inherit qtile;}; - }; - }; - }; #/mkFlake -} diff --git a/flakes/qtile/pywlroots/scenefx.patch b/flakes/qtile/pywlroots/scenefx.patch deleted file mode 100644 index b88072b..0000000 --- a/flakes/qtile/pywlroots/scenefx.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/wlroots/ffi_build.py b/wlroots/ffi_build.py -index ec01f8b..cac6dd8 100755 ---- a/wlroots/ffi_build.py -+++ b/wlroots/ffi_build.py -@@ -1891,6 +1891,12 @@ void wlr_scene_buffer_set_dest_size(struct wlr_scene_buffer *scene_buffer, - void wlr_scene_buffer_set_transform(struct wlr_scene_buffer *scene_buffer, - enum wl_output_transform transform); - -+void wlr_scene_buffer_set_opacity(struct wlr_scene_buffer *scene_buffer, -+ float opacity); -+ -+void wlr_scene_buffer_set_corner_radius(struct wlr_scene_buffer *scene_buffer, -+ int radii); -+ - void wlr_scene_buffer_send_frame_done(struct wlr_scene_buffer *scene_buffer, - struct timespec *now); - -diff --git a/wlroots/wlr_types/scene.py b/wlroots/wlr_types/scene.py -index 3a99d2f..2f3d5ba 100755 ---- a/wlroots/wlr_types/scene.py -+++ b/wlroots/wlr_types/scene.py -@@ -170,6 +170,12 @@ class SceneBuffer(Ptr): - region_ptr = region._ptr if region else ffi.NULL - lib.wlr_scene_buffer_set_buffer_with_damage(self._ptr, buffer_ptr, region_ptr) - -+ def set_opacity(self, opacity: float) -> None: -+ lib.wlr_scene_buffer_set_opacity(self._ptr, opacity) -+ -+ def set_corner_radius(self, radii: int) -> None: -+ lib.wlr_scene_buffer_set_corner_radius(self._ptr, radii) -+ - - T = TypeVar("T") - BufferCallback = Callable[[SceneBuffer, int, int, T], None] diff --git a/flakes/qtile/smartfloat/flake.nix b/flakes/qtile/smartfloat/flake.nix deleted file mode 100644 index 5719d2e..0000000 --- a/flakes/qtile/smartfloat/flake.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - flake-parts.url = "github:hercules-ci/flake-parts"; - }; - - outputs = inputs @ {flake-parts, ...}: - flake-parts.lib.mkFlake {inherit inputs;} { - systems = ["x86_64-linux"]; - perSystem = { - config, - self', - inputs', - pkgs, - system, - ... - }: { - packages.default = with pkgs; - stdenv.mkDerivation rec { - pname = "smartfloat"; - version = "0.1.0"; - src = builtins.path { - name = "smartfloat"; - path = ./smartfloat.py; - sha256 = "62fe831a0e4d2e02fee85928f844992418d1a94a8eacd5336f1e51d4490adb31"; - }; - - unpackPhase = '' - cp $src $out - ''; - }; - }; - }; -} diff --git a/flakes/qtile/smartfloat/smartfloat.py b/flakes/qtile/smartfloat/smartfloat.py deleted file mode 100644 index 5f0b968..0000000 --- a/flakes/qtile/smartfloat/smartfloat.py +++ /dev/null @@ -1,108 +0,0 @@ -from __future__ import annotations - -from typing import TYPE_CHECKING - -from libqtile.backend.base import Window -from libqtile.config import ScreenRect -from libqtile.layout.base import Layout - -from typing import List - - -class SmartWindow: - def __init__(self, payload, x: int, y: int, w: int, h: int) -> None: - self.payload = payload - self.x: int = x - self.y: int = y - self.w: int = w - self.h: int = h - - def intersect(self, window) -> bool: - return \ - abs((self.x + self.w/2) - (window.x + window.w/2)) * 2 \ - < (self.w + window.w) and \ - abs((self.y + self.h/2) - (window.y + window.h/2)) * 2 \ - < (self.h + window.h) - - def __repr__(self): - return "" - -class SmartFloat(Layout): - defaults = [ - ('name', 'SmartFloat', 'Layout name'), - ] - - def __init__(self, **config) -> None: - Layout.__init__(self, **config) - self.add_defaults(SmartFloat.defaults) - self.windows: List[SmartWindow] = [] - self.dims: ScreenRect | None = None - self.focused: Window | None = None - - def find_window(self, client: Window) -> SmartWindow | None: - for window in self.windows: - if window.payload == client: - return window - return None - - def add_client(self, client: Window) -> None: - self.windows.append(SmartWindow(client, 0, 0, 600, 600)) - - def remove(self, client: Window) -> None: - window = self.find_window(client) - if window: - self.windows.remove(window) - - def configure(self, client: Window, screen_rect: ScreenRect) -> None: - self.dims = screen_rect - window = self.find_window(client) - if not window: - return - if len(self.windows) == 1: - window.x = screen_rect.x + screen_rect.width // 3 - window.y = screen_rect.y + screen_rect.height // 3 - window.w = screen_rect.width // 2 - window.h = screen_rect.height // 2 - # else: - # for other_window in self.windows: - # if not other_window == window and window.intersect(other_window): - # diff_x = window.x - other_window.x - # diff_y = window.y - other_window.y - client.place( - window.x, - window.y, - window.w, - window.h, - self.border_width, - getattr(self, "border_" + "focus" if client.has_focus else "normal"), - above=True - ) - client.unhide() - - @abstract_method - def focus_first(self): - return None - - @abstract_method - def focus_last(self): - return None - - @abstract_method - def focus_next(self): - return None - - @abstract_method - def focus_previous(self): - return None - - @abstract_method - def next(self): - return None - - @abstract_method - def previous(self): - return None - - - diff --git a/flakes/swayosd/flake.lock b/flakes/swayosd/flake.lock deleted file mode 100644 index c30fb21..0000000 --- a/flakes/swayosd/flake.lock +++ /dev/null @@ -1,147 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1704722960, - "narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1681358109, - "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay", - "swayosd-src": "swayosd-src" - } - }, - "rust-overlay": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1705025860, - "narHash": "sha256-9vcqo5CJLOHU63S7pVlP0u4OhgJxrXebQR4vqMPXLRg=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "d458975da373a37422577886566fce8201bc1254", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "swayosd-src": { - "flake": false, - "locked": { - "lastModified": 1702248404, - "narHash": "sha256-3NJHZv4Ed7haUUmE9JV9Yl4rRnJlPqQFv53Xuw0q+IY=", - "owner": "ErikReider", - "repo": "SwayOSD", - "rev": "a0709bcd89d6ca19889486972bac35e69f1fa8e4", - "type": "github" - }, - "original": { - "owner": "ErikReider", - "repo": "SwayOSD", - "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": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flakes/swayosd/flake.nix b/flakes/swayosd/flake.nix deleted file mode 100644 index 5b92f51..0000000 --- a/flakes/swayosd/flake.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - - flake-utils.url = "github:numtide/flake-utils"; - - swayosd-src = { - url = "github:ErikReider/SwayOSD"; - flake = false; - }; - - rust-overlay.url = "github:oxalica/rust-overlay"; - }; - - outputs = inputs @ { - self, - nixpkgs, - rust-overlay, - flake-utils, - ... - }: - flake-utils.lib.eachDefaultSystem ( - system: let - overlays = [(import rust-overlay)]; - pkgs = import nixpkgs { - inherit system overlays; - }; - in - with pkgs; { - packages.default = stdenv.mkDerivation { - pname = "swayosd"; - version = "unstable-${inputs.swayosd-src.lastModifiedDate}"; - src = inputs.swayosd-src; - - cargoDeps = rustPlatform.importCargoLock { - lockFile = "${inputs.swayosd-src}/Cargo.lock"; - }; - - nativeBuildInputs = [ - wrapGAppsHook - pkg-config - meson - ninja - glib - sassc - rustPlatform.cargoSetupHook - (rust-bin.selectLatestNightlyWith (toolchain: toolchain.default)) - ]; - - buildInputs = [ - gtk-layer-shell - libevdev - libinput - libpulseaudio - udev - systemd - ]; - - patches = [ - ./systemd.patch - ]; - - postPatch = '' - substituteInPlace data/udev/99-swayosd.rules \ - --replace /bin/chgrp ${coreutils}/bin/chgrp \ - --replace /bin/chmod ${coreutils}/bin/chmod - ''; - }; - } - ); -} diff --git a/flakes/swayosd/systemd.patch b/flakes/swayosd/systemd.patch deleted file mode 100644 index 245950f..0000000 --- a/flakes/swayosd/systemd.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/data/meson.build b/data/meson.build -index fc687a5..68decdf 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -41,11 +42,7 @@ configure_file( - - # Systemd service unit - systemd = dependency('systemd', required: false) --if systemd.found() -- systemd_service_install_dir = systemd.get_variable(pkgconfig :'systemdsystemunitdir') --else -- systemd_service_install_dir = join_paths(libdir, 'systemd', 'system') --endif -+systemd_service_install_dir = join_paths(libdir, 'systemd', 'system') - - configure_file( - configuration: conf_data, - diff --git a/home/dots/eww/colors.scss b/home/dots/eww/colors.scss deleted file mode 100644 index cf55ce8..0000000 --- a/home/dots/eww/colors.scss +++ /dev/null @@ -1,33 +0,0 @@ -$black: #BLACK; -$black_a: #BLCKA; - -$red: #RED; -$red_a: #RDA; - -$green: #GREEN; -$green_a: #GRNA; - -$yellow: #YELLOW; -$yellow_a: #YLWA; - -$blue: #BLUE; -$blue_a: #BLUA; - -$magenta: #MAGENTA; -$magenta_a: #MGNA; - -$cyan: #CYAN; -$cyan_a: #CYNA; - -$white: #WHITE; -$white_a: #WHTA; - -$fg: #FG; -$bg: #BG; - -$border: $yellow_a; -$shadow: $black_a; -$base: $bg; -$bg1: $black; -$text: $fg; -$outline: $yellow_a; diff --git a/home/dots/hyprland/hyprland.conf b/home/dots/hyprland/hyprland.conf deleted file mode 100644 index 8b1bb94..0000000 --- a/home/dots/hyprland/hyprland.conf +++ /dev/null @@ -1,136 +0,0 @@ -exec-once = eww open bar -exec-once = swayidle timeout 300 'gtklock' -exec-once = swayidle timeout 900 'systemctl suspend' -exec-once = ckb-next -c -b -exec-once = swaybg -i #BGIMAGE -m fill -exec-once = xrdb -l ~/.Xresources -exec-once = swayosd --max-volume 100 -exec-once = keepassxc -exec-once = swaync -exec = eww reload -exec = gsettings set org.gnome.desktop.interface gtk-theme '#GTKTHEME' -exec = gsettings set org.gnome.desktop.interface font-name '#FONT' -exec = gsettings set org.gnome.desktop.interface icon-theme '#ICONTHEME' - -input { - kb_layout=us - kb_options=caps:escape,escape:caps - sensitivity=0.0 - accel_profile=flat - force_no_accel=true - numlock_by_default=true -} - -general { - layout=dwindle - border_size=#THICK - gaps_in=#GAPSIN - gaps_out=#GAPSOUT - resize_on_border=true - hover_icon_on_border=true - col.active_border=0xff#ACTIVEBORDER - col.inactive_border=0xff#BORDER -} - -dwindle { - preserve_split=true - pseudotile=true - use_active_for_splits=true - no_gaps_when_only=false -} - -decoration { - rounding=#ROUND - blur=0 - # screen_shader=/home/bolt/Code/desktop.frag -} - -misc { - vfr=true - vrr=0 - mouse_move_enables_dpms=true - key_press_enables_dpms=true -} - -animations { - enabled=1 - bezier=overshot,0.05,0.9,0.1,1.1 - bezier=smooth,0.06,0.94,0.1,1.0 - bezier=slosmooth,0.1,0.89,0.14,0.96 - animation=windows,1,6,overshot,popin - animation=workspaces,1,6,smooth,slidevert - animation=specialWorkspace,1,6,overshot,slide -} - -misc { - disable_hyprland_logo=true - disable_splash_rendering=true -} - -monitor=,highrr,auto,1 - -windowrule=noanim,^(wlogout)$ -windowrule=workspace special silent,^(keepassxc)$ -windowrulev2 = workspace special silent, title:(KeePassXC)$ -windowrule=dimaround,^(fuzzel)$ - - -bindm=SUPER,mouse:272,movewindow -bindm=SUPER,mouse:273,resizewindow -bind=SUPER,Return,exec,kitty -bind=SUPER,E,exec,thunar -bind=SUPER,F,exec,firefox -bind=SUPER_SHIFT,F,exec,nyxt -bind=SUPER,D,exec,fuzzel -bind=SUPER,N,exec,swaync-client -t - -bind=SUPER_SHIFT,Q,killactive -bind=SUPER_SHIFT,space,fullscreen,0 -bind=SUPER,space,togglefloating -bind=SUPER,space,centerwindow -bind=SUPER,c,centerwindow - - -bind=SUPER,h,movefocus,l -bind=SUPER,l,movefocus,r -bind=SUPER,j,movefocus,d -bind=SUPER,k,movefocus,u -bind=SUPER_SHIFT,h,movewindow,l -bind=SUPER_SHIFT,l,movewindow,r -bind=SUPER_SHIFT,j,movewindow,d -bind=SUPER_SHIFT,k,movewindow,u - -bind=SUPER,s,togglesplit -bind=SUPER,a,changegroupactive,f -bind=SUPER,z,changegroupactive,b -bind=SUPER,x,togglegroup - -bind=SUPER,1,workspace,1 -bind=SUPER,2,workspace,2 -bind=SUPER,3,workspace,3 -bind=SUPER,4,workspace,4 -bind=SUPER_SHIFT,1,movetoworkspacesilent,1 -bind=SUPER_SHIFT,2,movetoworkspacesilent,2 -bind=SUPER_SHIFT,3,movetoworkspacesilent,3 -bind=SUPER_SHIFT,4,movetoworkspacesilent,4 - -bind=SUPER_CTRL,h,resizeactive,-40 0 -bind=SUPER_CTRL,l,resizeactive,40 0 -bind=SUPER_CTRL,j,resizeactive,0 -40 -bind=SUPER_CTRL,k,resizeactive,0 40 - -bind=SUPER,minus,togglespecialworkspace -bind=SUPER_SHIFT,minus,movetoworkspace,special - -bind=SUPER_SHIFT,S,exec,grim -g "$(slurp)" -t png -o "$HOME/Pictures/$(date +%F_%H-%m-%S).png" && notify-send "Screenshot taken." -bind=SUPER_SHIFT_CTRL,S,exec,kooha -bind=SUPER_SHIFT,E,exec,wlogout -bind=,XF86AudioMute,exec,swayosd --output-volume mute-toggle -bind=,XF86AudioRaiseVolume,exec,swayosd --output-volume raise -bind=,XF86AudioLowerVolume,exec,swayosd --output-volume lower -bind=,XF86AudioStop,exec,playerctl stop -bind=,XF86AudioPlay,exec,playerctl play-pause -bind=,XF86AudioPrev,exec,playerctl previous -bind=,XF86AudioNext,exec,playerctl next -bind=,XF86MonBrightnessUp,exec,swayosd --brightness raise -bind=,XF86MonBrightnessDown,exec,swayosd --brightness lower diff --git a/home/dots/ironbar.corn b/home/dots/ironbar.corn deleted file mode 100644 index 2eb7bd2..0000000 --- a/home/dots/ironbar.corn +++ /dev/null @@ -1,58 +0,0 @@ -let { - $workspaces = { - type = "workspaces" - all_monitors = false - } - - $focused = { type = "focused" } - - $mpris = { - type = "music" - player_type = "mpris" - - on_click_middle = "playerctl play-pause" - on_scroll_up = "playerctl volume +5" - on_scroll_down = "playerctl volume -5" - - } - - $sys_info = { - type = "sys_info" - - interval.memory = 30 - interval.cpu = 1 - interval.temps = 5 - interval.disks = 300 - interval.networks = 3 - - format = [ - " {cpu_percent}% | {temp_c:k10temp_Tccd1}°C" - " {memory_used} / {memory_total} GB ({memory_percent}%)" - "| {swap_used} / {swap_total} GB ({swap_percent}%)" - " {disk_used:/} / {disk_total:/} GB ({disk_percent:/}%)" - "李 {net_down:enp39s0} / {net_up:enp3s0} Mbps" - "猪 {load_average:1} | {load_average:5} | {load_average:15}" - " {uptime}" - ] - } - - $tray = { type = "tray" } - - $clock = { type = "clock" } - - $button = { type = "button" name="power-btn" label = "" on_click = "!wlogout" } - - $left = [ $workspaces ] - $center = [ $focused ] - $right = [ $mpris $sys_info $button $clock ] -} -in { - anchor_to_edges = true - position = "top" - height = 16 - icon_theme = "Papirus-Dark" - - start = $left - center = $center - end = $right -} diff --git a/home/dots/ironbar.css b/home/dots/ironbar.css deleted file mode 100644 index cd7f38c..0000000 --- a/home/dots/ironbar.css +++ /dev/null @@ -1,201 +0,0 @@ -@define-color color_bg #BG; -@define-color color_bg_dark #DARKBG; -@define-color color_border #BORDER; -@define-color color_border_active #ACTIVEBORDER; -@define-color color_text #TEXT; -@define-color color_urgent #URGENT; - -/* -- base styles -- */ - -* { - font-family: #FONT, sans-serif; - font-size: #SZFONTpx; - border: none; - border-radius: 0; -} - -box, menubar, button { - background-color: @color_bg; - background-image: none; -} - -button, label { - color: @color_text; -} - -button:hover { - background-color: @color_bg_dark; -} - -#bar { - border-top: 1px solid @color_border; -} - -.popup { - border: 1px solid @color_border; - padding: 1em; -} - - -/* -- clipboard -- */ - -.clipboard { - margin-left: 5px; - font-size: 1.1em; -} - -.popup-clipboard .item { - padding-bottom: 0.3em; - border-bottom: 1px solid @color_border; -} - - -/* -- clock -- */ - -.clock { - font-weight: bold; - margin-left: 5px; -} - -.popup-clock .calendar-clock { - color: @color_text; - font-size: 2.5em; - padding-bottom: 0.1em; -} - -.popup-clock .calendar { - background-color: @color_bg; - color: @color_text; -} - -.popup-clock .calendar .header { - padding-top: 1em; - border-top: 1px solid @color_border; - font-size: 1.5em; -} - -.popup-clock .calendar:selected { - background-color: @color_border_active; -} - - -/* -- launcher -- */ - -.launcher .item { - margin-right: 4px; -} - -.launcher .item:not(.focused):hover { - background-color: @color_bg_dark; -} - -.launcher .open { - border-bottom: 1px solid @color_text; -} - -.launcher .focused { - border-bottom: 2px solid @color_border_active; -} - -.launcher .urgent { - border-bottom-color: @color_urgent; -} - -.popup-launcher { - padding: 0; -} - -.popup-launcher .popup-item:not(:first-child) { - border-top: 1px solid @color_border; -} - - -/* -- music -- */ - -.music:hover * { - background-color: @color_bg_dark; -} - -.popup-music .album-art { - margin-right: 1em; -} - -.popup-music .icon-box { - margin-right: 0.4em; -} - -.popup-music .title .icon, .popup-music .title .label { - font-size: 1.7em; -} - -.popup-music .controls *:disabled { - color: @color_border; -} - -.popup-music .volume .slider slider { - border-radius: 100%; -} - -.popup-music .volume .icon { - margin-left: 4px; -} - -.popup-music .progress .slider slider { - border-radius: 100%; -} - -/* -- script -- */ - -.script { - padding-left: 10px; -} - - -/* -- sys_info -- */ - -.sysinfo { - margin-left: 10px; -} - -.sysinfo .item { - margin-left: 5px; -} - - -/* -- tray -- */ - -.tray { - margin-left: 10px; -} - - -/* -- workspaces -- */ - -.workspaces .item.focused { - box-shadow: inset 0 -3px; - background-color: @color_bg_dark; -} - -.workspaces .item:hover { - box-shadow: inset 0 -3px; -} - - -/* -- custom: power menu -- */ - -.popup-power-menu #header { - font-size: 1.4em; - padding-bottom: 0.4em; - margin-bottom: 0.6em; - border-bottom: 1px solid @color_border; -} - -.popup-power-menu .power-btn { - border: 1px solid @color_border; - padding: 0.6em 1em; -} - -.popup-power-menu #buttons > *:nth-child(1) .power-btn { - margin-right: 1em; -} - diff --git a/home/dots/qtile/.direnv/flake-inputs/yj1wxm9hh8610iyzqnz75kvs6xl8j3my-source b/home/dots/qtile/.direnv/flake-inputs/yj1wxm9hh8610iyzqnz75kvs6xl8j3my-source deleted file mode 120000 index f17959f..0000000 --- a/home/dots/qtile/.direnv/flake-inputs/yj1wxm9hh8610iyzqnz75kvs6xl8j3my-source +++ /dev/null @@ -1 +0,0 @@ -/nix/store/yj1wxm9hh8610iyzqnz75kvs6xl8j3my-source \ No newline at end of file diff --git a/home/dots/qtile/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa b/home/dots/qtile/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa deleted file mode 120000 index 92f3d8a..0000000 --- a/home/dots/qtile/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa +++ /dev/null @@ -1 +0,0 @@ -/nix/store/c11mar1bsnkdiynb2x8nrp2i0661asww-nix-shell-env \ No newline at end of file diff --git a/home/dots/qtile/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc b/home/dots/qtile/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc deleted file mode 100644 index edd4c9e..0000000 --- a/home/dots/qtile/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc +++ /dev/null @@ -1,1938 +0,0 @@ -unset shellHook -PATH=${PATH:-} -nix_saved_PATH="$PATH" -XDG_DATA_DIRS=${XDG_DATA_DIRS:-} -nix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS" -AR='ar' -export AR -AS='as' -export AS -BASH='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' -CC='gcc' -export CC -CONFIG_SHELL='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' -export CONFIG_SHELL -CXX='g++' -export CXX -DETERMINISTIC_BUILD='1' -export DETERMINISTIC_BUILD -GETTEXTDATADIRS='/nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/share/gettext:/nix/store/2if9iy5cy0bicwafllpa2aiq30v26app-glib-2.78.1/share/gettext' -export GETTEXTDATADIRS -HOSTTYPE='x86_64' -HOST_PATH='/nix/store/aj5lnsqklm82dkjsia6vnigr8gr67fn6-python3.11-python-lsp-server-1.9.0/bin:/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/bin:/nix/store/lva2dihcg31ci05w3nla95b2gkwplzb6-python3.11-mypy-1.5.1/bin:/nix/store/4kzfswgpjji0y8nflx0hbpa6haivf576-python3.11-black-23.11.0/bin:/nix/store/kckqn8my6w4brmhscdh7l04706pbwz0x-python3.11-pygments-2.16.1/bin:/nix/store/87njjn8a583vdhz0rz6dx2jx8bmfrkqa-python3.11-pyupgrade-3.3.1/bin:/nix/store/lcib2kqw3xa3r32whmhhkp1jvvfxc6xd-python3.11-tokenize-rt-4.2.1/bin:/nix/store/ydq4bizxzxsz9ia9ypy4lhmccn3m9b90-python3.11-qtile-0.23.0/bin:/nix/store/pxkvldci1sjd4740hk12m8f2dpwbjc13-cairo-1.18.0-dev/bin:/nix/store/q5f6c3kcj49v67492q7ivm5nscnsr258-freetype-2.13.2-dev/bin:/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin/bin:/nix/store/bw9dj066cp2rp67pgr54gssr7kqcnanm-brotli-1.1.0/bin:/nix/store/m653k4419m8qdjjd5m5ml7bqmhikq4zg-libpng-apng-1.6.40-dev/bin:/nix/store/nw4mp3xn5j6frcjk1am839lji4qmvs4h-fontconfig-2.14.2-bin/bin:/nix/store/xc5casr35bpf24dj0sp3jjwh76mkslg4-glib-2.78.1-dev/bin:/nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/bin:/nix/store/7m55djnyz4x0lcffn6c38j57bzpj1a6g-glib-2.78.1-bin/bin:/nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9/bin:/nix/store/7m02j1yx8dbkd2m1s0jv11s8qvs7cbf2-python3.11-pywayland-0.4.17/bin:/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4/bin:/nix/store/sq0w0jchkjqbxl47h52kfwa33qp1adfh-findutils-4.9.0/bin:/nix/store/f3g84l92p0njh0gyk1z7cp2k4qnh91ha-diffutils-3.10/bin:/nix/store/7fqp73ncnbwr5bxxszqicf6r33d9yhkw-gnused-4.9/bin:/nix/store/by6918gg7srjyixqk8kbcdlz82d5pcwx-gnugrep-3.11/bin:/nix/store/1713hchhyzawkxfhk9srxklv03bqj55y-gawk-5.2.2/bin:/nix/store/1y7cqy8y76gsx037mhs3cvb33srj4c7g-gnutar-1.35/bin:/nix/store/21drzcpzpi485f9m6ihspg4kayly5425-gzip-1.13/bin:/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin/bin:/nix/store/452v8bl3sjaq4kil1d9vqxc5vns4cvpp-gnumake-4.4.1/bin:/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin:/nix/store/l6s9gwsallxxgz3qy7xk6410y842m6dn-patch-2.7.6/bin:/nix/store/pp7yamsghaprdxq94vr2iqx1hd5xn2qf-xz-5.4.5-bin/bin:/nix/store/hnz8p5w9xc0ivsiyrgky6f6h7sjb28a5-file-5.45/bin' -export HOST_PATH -IFS=' -' -IN_NIX_SHELL='impure' -export IN_NIX_SHELL -LD='ld' -export LD -LINENO='76' -MACHTYPE='x86_64-pc-linux-gnu' -NIX_BINTOOLS='/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40' -export NIX_BINTOOLS -NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' -export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu -NIX_BUILD_CORES='16' -export NIX_BUILD_CORES -NIX_CC='/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' -export NIX_CC -NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' -export NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu -NIX_CFLAGS_COMPILE=' -frandom-seed=c11mar1bsn -isystem /nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/include -isystem /nix/store/pxkvldci1sjd4740hk12m8f2dpwbjc13-cairo-1.18.0-dev/include -isystem /nix/store/90fahxhk3y9g86hzj2gb0lzl7bxc74qk-fontconfig-2.14.2-dev/include -isystem /nix/store/q5f6c3kcj49v67492q7ivm5nscnsr258-freetype-2.13.2-dev/include -isystem /nix/store/fak09pxs42fqcgngf2yznw83f88kmw7s-zlib-1.3-dev/include -isystem /nix/store/8p1rj4maax15sgvli1vwzjypnraqzwlw-bzip2-1.0.8-dev/include -isystem /nix/store/1gxyhvn5cvncrxwd956p7p0z0g3lkrhk-brotli-1.1.0-dev/include -isystem /nix/store/m653k4419m8qdjjd5m5ml7bqmhikq4zg-libpng-apng-1.6.40-dev/include -isystem /nix/store/lplczgbk487vs53jgxr6zd84k8jk4p6z-pixman-0.42.2/include -isystem /nix/store/2bd0v6p8v4wdjz1ikqlxnpivamlxy6w8-libXext-1.3.5-dev/include -isystem /nix/store/bp4a3z0drfr8s0dxw69wrsnxhk78psa8-xorgproto-2023.2/include -isystem /nix/store/7hfsr06fyrw31ycf666pd3xhfaj6qvpw-libXau-1.0.11-dev/include -isystem /nix/store/bipx9fcs9fvijrw27glgdffgvxp7q518-libXrender-0.9.11-dev/include -isystem /nix/store/qyqghh5k3dxlnwhhvrxvjx0yqd1zvicy-libX11-1.8.7-dev/include -isystem /nix/store/swlk5ksgjrfp9i5mx2gcqxl9rr3ifyn4-libxcb-1.16-dev/include -isystem /nix/store/xc5casr35bpf24dj0sp3jjwh76mkslg4-glib-2.78.1-dev/include -isystem /nix/store/nflijzxfd78vmqhxxm8nk7lrw245nk2y-libffi-3.4.4-dev/include -isystem /nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/include -isystem /nix/store/a7sic6w2x7qkw5aqchys1m8ms482pgbf-glibc-iconv-2.38/include -isystem /nix/store/cy56alc1bjh3kb4gwxqjapia3f0rihcs-python3.11-dbus-python-1.2.18-dev/include -isystem /nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9/include -isystem /nix/store/wjwmbilinr6kqc9mrh75bfphj9lr80bw-python3.11-pygobject-3.46.0-dev/include -isystem /nix/store/4k72s8yq0fms4krq20adwy3xavgrafyw-python3.11-pycairo-1.24.0/include -isystem /nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/include -isystem /nix/store/pxkvldci1sjd4740hk12m8f2dpwbjc13-cairo-1.18.0-dev/include -isystem /nix/store/90fahxhk3y9g86hzj2gb0lzl7bxc74qk-fontconfig-2.14.2-dev/include -isystem /nix/store/q5f6c3kcj49v67492q7ivm5nscnsr258-freetype-2.13.2-dev/include -isystem /nix/store/fak09pxs42fqcgngf2yznw83f88kmw7s-zlib-1.3-dev/include -isystem /nix/store/8p1rj4maax15sgvli1vwzjypnraqzwlw-bzip2-1.0.8-dev/include -isystem /nix/store/1gxyhvn5cvncrxwd956p7p0z0g3lkrhk-brotli-1.1.0-dev/include -isystem /nix/store/m653k4419m8qdjjd5m5ml7bqmhikq4zg-libpng-apng-1.6.40-dev/include -isystem /nix/store/lplczgbk487vs53jgxr6zd84k8jk4p6z-pixman-0.42.2/include -isystem /nix/store/2bd0v6p8v4wdjz1ikqlxnpivamlxy6w8-libXext-1.3.5-dev/include -isystem /nix/store/bp4a3z0drfr8s0dxw69wrsnxhk78psa8-xorgproto-2023.2/include -isystem /nix/store/7hfsr06fyrw31ycf666pd3xhfaj6qvpw-libXau-1.0.11-dev/include -isystem /nix/store/bipx9fcs9fvijrw27glgdffgvxp7q518-libXrender-0.9.11-dev/include -isystem /nix/store/qyqghh5k3dxlnwhhvrxvjx0yqd1zvicy-libX11-1.8.7-dev/include -isystem /nix/store/swlk5ksgjrfp9i5mx2gcqxl9rr3ifyn4-libxcb-1.16-dev/include -isystem /nix/store/xc5casr35bpf24dj0sp3jjwh76mkslg4-glib-2.78.1-dev/include -isystem /nix/store/nflijzxfd78vmqhxxm8nk7lrw245nk2y-libffi-3.4.4-dev/include -isystem /nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/include -isystem /nix/store/a7sic6w2x7qkw5aqchys1m8ms482pgbf-glibc-iconv-2.38/include -isystem /nix/store/cy56alc1bjh3kb4gwxqjapia3f0rihcs-python3.11-dbus-python-1.2.18-dev/include -isystem /nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9/include -isystem /nix/store/wjwmbilinr6kqc9mrh75bfphj9lr80bw-python3.11-pygobject-3.46.0-dev/include -isystem /nix/store/4k72s8yq0fms4krq20adwy3xavgrafyw-python3.11-pycairo-1.24.0/include' -export NIX_CFLAGS_COMPILE -NIX_ENFORCE_NO_NATIVE='1' -export NIX_ENFORCE_NO_NATIVE -NIX_HARDENING_ENABLE='fortify fortify3 stackprotector pic strictoverflow format relro bindnow' -export NIX_HARDENING_ENABLE -NIX_LDFLAGS='-rpath /home/bolt/.nix/home/dots/qtile/outputs/out/lib -L/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/lib -L/nix/store/lprrvg44cyn9ajpq77lh7rlnp4kzdqzs-zlib-1.3/lib -L/nix/store/971390xv13vzrhcrqp7ds3rr0hh92jn4-bzip2-1.0.8/lib -L/nix/store/ri6kfdcrrzb40k1dsphwjfbzk2kdsb4a-brotli-1.1.0-lib/lib -L/nix/store/mk97b70y1j3llblmgcd0j3cn2zhgdcfk-libpng-apng-1.6.40/lib -L/nix/store/w01pvgwpriwhryiljim8gf7c1s1das6g-freetype-2.13.2/lib -L/nix/store/ik6ask03qm37llxfwl8xiaj75m6gms6v-fontconfig-2.14.2-lib/lib -L/nix/store/lplczgbk487vs53jgxr6zd84k8jk4p6z-pixman-0.42.2/lib -L/nix/store/h9yn7x8jybf1bb4bpgy3pchpzrwbgyvg-libXau-1.0.11/lib -L/nix/store/2sr0r9cw0vz9q7yddqpj5f83ixgn82jc-libXext-1.3.5/lib -L/nix/store/np0vlmiynq5mqlgydippjs7ymrqlxamx-libxcb-1.16/lib -L/nix/store/y8f8j7nb52l30cg8x0clk9k91fpi224v-libX11-1.8.7/lib -L/nix/store/2sk6r0jdn46kcl99ka47yi4m9wsdqwyp-libXrender-0.9.11/lib -L/nix/store/dcy81zr59pk3nl6pg6170fwn9i0qp3d5-libffi-3.4.4/lib -L/nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/lib -L/nix/store/2if9iy5cy0bicwafllpa2aiq30v26app-glib-2.78.1/lib -L/nix/store/xd1998w2cslqgahgc0v0gga5il3y45w1-cairo-1.18.0/lib -L/nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9/lib -L/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/lib -L/nix/store/lprrvg44cyn9ajpq77lh7rlnp4kzdqzs-zlib-1.3/lib -L/nix/store/971390xv13vzrhcrqp7ds3rr0hh92jn4-bzip2-1.0.8/lib -L/nix/store/ri6kfdcrrzb40k1dsphwjfbzk2kdsb4a-brotli-1.1.0-lib/lib -L/nix/store/mk97b70y1j3llblmgcd0j3cn2zhgdcfk-libpng-apng-1.6.40/lib -L/nix/store/w01pvgwpriwhryiljim8gf7c1s1das6g-freetype-2.13.2/lib -L/nix/store/ik6ask03qm37llxfwl8xiaj75m6gms6v-fontconfig-2.14.2-lib/lib -L/nix/store/lplczgbk487vs53jgxr6zd84k8jk4p6z-pixman-0.42.2/lib -L/nix/store/h9yn7x8jybf1bb4bpgy3pchpzrwbgyvg-libXau-1.0.11/lib -L/nix/store/2sr0r9cw0vz9q7yddqpj5f83ixgn82jc-libXext-1.3.5/lib -L/nix/store/np0vlmiynq5mqlgydippjs7ymrqlxamx-libxcb-1.16/lib -L/nix/store/y8f8j7nb52l30cg8x0clk9k91fpi224v-libX11-1.8.7/lib -L/nix/store/2sk6r0jdn46kcl99ka47yi4m9wsdqwyp-libXrender-0.9.11/lib -L/nix/store/dcy81zr59pk3nl6pg6170fwn9i0qp3d5-libffi-3.4.4/lib -L/nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/lib -L/nix/store/2if9iy5cy0bicwafllpa2aiq30v26app-glib-2.78.1/lib -L/nix/store/xd1998w2cslqgahgc0v0gga5il3y45w1-cairo-1.18.0/lib -L/nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9/lib' -export NIX_LDFLAGS -NIX_NO_SELF_RPATH='1' -NIX_STORE='/nix/store' -export NIX_STORE -NM='nm' -export NM -OBJCOPY='objcopy' -export OBJCOPY -OBJDUMP='objdump' -export OBJDUMP -OLDPWD='' -export OLDPWD -OPTERR='1' -OSTYPE='linux-gnu' -PATH='/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/bin:/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0/bin:/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0/bin:/nix/store/qfqjymymsd2x29yknsgllfiq1h64s3f4-gcc-12.3.0/bin:/nix/store/bh4lz3c2n3qfbm2hhwjhnqcaxcjs2sm8-glibc-2.38-27-bin/bin:/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4/bin:/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40/bin:/nix/store/fzlkaj1ax7gl655blfcr6zzvml1vx3bj-binutils-2.40/bin:/nix/store/aj5lnsqklm82dkjsia6vnigr8gr67fn6-python3.11-python-lsp-server-1.9.0/bin:/nix/store/lva2dihcg31ci05w3nla95b2gkwplzb6-python3.11-mypy-1.5.1/bin:/nix/store/4kzfswgpjji0y8nflx0hbpa6haivf576-python3.11-black-23.11.0/bin:/nix/store/kckqn8my6w4brmhscdh7l04706pbwz0x-python3.11-pygments-2.16.1/bin:/nix/store/87njjn8a583vdhz0rz6dx2jx8bmfrkqa-python3.11-pyupgrade-3.3.1/bin:/nix/store/lcib2kqw3xa3r32whmhhkp1jvvfxc6xd-python3.11-tokenize-rt-4.2.1/bin:/nix/store/ydq4bizxzxsz9ia9ypy4lhmccn3m9b90-python3.11-qtile-0.23.0/bin:/nix/store/pxkvldci1sjd4740hk12m8f2dpwbjc13-cairo-1.18.0-dev/bin:/nix/store/q5f6c3kcj49v67492q7ivm5nscnsr258-freetype-2.13.2-dev/bin:/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin/bin:/nix/store/bw9dj066cp2rp67pgr54gssr7kqcnanm-brotli-1.1.0/bin:/nix/store/m653k4419m8qdjjd5m5ml7bqmhikq4zg-libpng-apng-1.6.40-dev/bin:/nix/store/nw4mp3xn5j6frcjk1am839lji4qmvs4h-fontconfig-2.14.2-bin/bin:/nix/store/xc5casr35bpf24dj0sp3jjwh76mkslg4-glib-2.78.1-dev/bin:/nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1/bin:/nix/store/7m55djnyz4x0lcffn6c38j57bzpj1a6g-glib-2.78.1-bin/bin:/nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9/bin:/nix/store/7m02j1yx8dbkd2m1s0jv11s8qvs7cbf2-python3.11-pywayland-0.4.17/bin:/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4/bin:/nix/store/sq0w0jchkjqbxl47h52kfwa33qp1adfh-findutils-4.9.0/bin:/nix/store/f3g84l92p0njh0gyk1z7cp2k4qnh91ha-diffutils-3.10/bin:/nix/store/7fqp73ncnbwr5bxxszqicf6r33d9yhkw-gnused-4.9/bin:/nix/store/by6918gg7srjyixqk8kbcdlz82d5pcwx-gnugrep-3.11/bin:/nix/store/1713hchhyzawkxfhk9srxklv03bqj55y-gawk-5.2.2/bin:/nix/store/1y7cqy8y76gsx037mhs3cvb33srj4c7g-gnutar-1.35/bin:/nix/store/21drzcpzpi485f9m6ihspg4kayly5425-gzip-1.13/bin:/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin/bin:/nix/store/452v8bl3sjaq4kil1d9vqxc5vns4cvpp-gnumake-4.4.1/bin:/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin:/nix/store/l6s9gwsallxxgz3qy7xk6410y842m6dn-patch-2.7.6/bin:/nix/store/pp7yamsghaprdxq94vr2iqx1hd5xn2qf-xz-5.4.5-bin/bin:/nix/store/hnz8p5w9xc0ivsiyrgky6f6h7sjb28a5-file-5.45/bin' -export PATH -PS4='+ ' -PYTHONHASHSEED='0' -export PYTHONHASHSEED -PYTHONNOUSERSITE='1' -export PYTHONNOUSERSITE -PYTHONPATH='/nix/store/sp8agbisn81ddckhvczl08jn0hjgz254-python3.11-cffi-1.16.0/lib/python3.11/site-packages:/nix/store/fifrfpnv54si9bjb187r1ag3ihcb707l-python3.11-pycparser-2.21/lib/python3.11/site-packages:/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/lib/python3.11/site-packages:/nix/store/aj5lnsqklm82dkjsia6vnigr8gr67fn6-python3.11-python-lsp-server-1.9.0/lib/python3.11/site-packages:/nix/store/m2yhpkmkfa515y63jpmfw3kzqdfbr3mm-python3.11-docstring-to-markdown-0.12/lib/python3.11/site-packages:/nix/store/h1fyziib4543b7j9bvn9y1j59vpd3pvi-python3.11-jedi-0.19.1/lib/python3.11/site-packages:/nix/store/bwg4r41cwsq12126c8nybkbllc3rfpm0-python3.11-parso-0.8.3/lib/python3.11/site-packages:/nix/store/wbphc7m4dc2zyqc8fm584kxxi0qbplar-python3.11-pluggy-1.3.0/lib/python3.11/site-packages:/nix/store/rxl9bijqx263yiz09hlq1wli54wdzikz-python3.11-python-lsp-jsonrpc-1.1.2/lib/python3.11/site-packages:/nix/store/2220nbi6jfm4x9bg4ha4sl1j2gpvry9m-python3.11-ujson-5.8.0/lib/python3.11/site-packages:/nix/store/6dsx7y855a79l3ynz9vpk0y2fddyl5pj-python3.11-setuptools-68.2.2/lib/python3.11/site-packages:/nix/store/lva2dihcg31ci05w3nla95b2gkwplzb6-python3.11-mypy-1.5.1/lib/python3.11/site-packages:/nix/store/wv3mx1q4b3valc16dc7ali1dm8lf0i83-python3.11-mypy-extensions-1.0.0/lib/python3.11/site-packages:/nix/store/0hqc6b7gdkdpgy2vlsnrwwqicqdcgdw9-python3.11-typing-extensions-4.7.1/lib/python3.11/site-packages:/nix/store/cdhv0n5ias0b2dxhzxf3sr9nf4jwa02b-python3.11-pylsp-mypy-0.6.7/lib/python3.11/site-packages:/nix/store/4kzfswgpjji0y8nflx0hbpa6haivf576-python3.11-black-23.11.0/lib/python3.11/site-packages:/nix/store/hzs7ldlnrdi1yl8ma0nqq36fxs1n1a65-python3.11-click-8.1.7/lib/python3.11/site-packages:/nix/store/av5p4cr6pgp7fl45m2zxvr4szkj9c5dd-python3.11-packaging-23.1/lib/python3.11/site-packages:/nix/store/ici6w57xvrqrsfgbhr1q94j93qp6j6bf-python3.11-pathspec-0.11.2/lib/python3.11/site-packages:/nix/store/78h8g7nadim9vvlkxv13h334q9vnsc04-python3.11-platformdirs-3.10.0/lib/python3.11/site-packages:/nix/store/70q9knr4s3zphlcvxqdmk600d3nsd9c5-python3.11-pydantic-1.10.12/lib/python3.11/site-packages:/nix/store/2rddkiy6w31ay247z0jsi0yhwidpc9qk-python3.11-devtools-0.12.2/lib/python3.11/site-packages:/nix/store/3ss67cgldfi6f6lixvfgfpbh57v4bhys-python3.11-asttokens-2.4.0/lib/python3.11/site-packages:/nix/store/dch8lgpg57qfxm03wdib3gvhqhc40fg9-python3.11-six-1.16.0/lib/python3.11/site-packages:/nix/store/cm7vhc1ldyz75mw07sz055r3p3mckq7w-python3.11-executing-1.2.0/lib/python3.11/site-packages:/nix/store/kckqn8my6w4brmhscdh7l04706pbwz0x-python3.11-pygments-2.16.1/lib/python3.11/site-packages:/nix/store/87njjn8a583vdhz0rz6dx2jx8bmfrkqa-python3.11-pyupgrade-3.3.1/lib/python3.11/site-packages:/nix/store/lcib2kqw3xa3r32whmhhkp1jvvfxc6xd-python3.11-tokenize-rt-4.2.1/lib/python3.11/site-packages:/nix/store/ydq4bizxzxsz9ia9ypy4lhmccn3m9b90-python3.11-qtile-0.23.0/lib/python3.11/site-packages:/nix/store/ic66z2sbbwmpzjxlicwnf364zgc4kjxx-python3.11-cairocffi-1.6.1/lib/python3.11/site-packages:/nix/store/frnqfili5gkcv1f69m94lfy89nbfllp6-python3.11-xcffib-1.5.0/lib/python3.11/site-packages:/nix/store/bph8ns8lvhzlw2m26az7idcwp123ps47-python3.11-dbus-next-0.2.3/lib/python3.11/site-packages:/nix/store/8iwvmbl7r3b2ldv17749wxm5k5asy5z1-python3.11-dbus-python-1.2.18/lib/python3.11/site-packages:/nix/store/nyw2ygfl0b2kihk33cqfsz8fbhqnq1av-python3.11-iwlib-1.7.0/lib/python3.11/site-packages:/nix/store/y0jsdaz48wdi1bxv0gjq2b288wl8jj6f-python3.11-python-mpd2-3.1.0/lib/python3.11/site-packages:/nix/store/did7iszkmn7k1ga745d7xz6mf421kdl5-python3.11-psutil-5.9.6/lib/python3.11/site-packages:/nix/store/54da9p4kz9wiyir4syk92kbz2g330h7v-python3.11-pulsectl-asyncio-1.1.1/lib/python3.11/site-packages:/nix/store/4phvskb1kr61qn5ggncjq1s0ihfap233-python3.11-pulsectl-23.5.2/lib/python3.11/site-packages:/nix/store/4k72s8yq0fms4krq20adwy3xavgrafyw-python3.11-pycairo-1.24.0/lib/python3.11/site-packages:/nix/store/r4nspb1366qyhf03vn1nl6shllf7li56-python3.11-pygobject-3.46.0/lib/python3.11/site-packages:/nix/store/vb9kzr5vnmk57l2l5lzlmw3hvz13lid0-python3.11-python-dateutil-2.8.2/lib/python3.11/site-packages:/nix/store/7m02j1yx8dbkd2m1s0jv11s8qvs7cbf2-python3.11-pywayland-0.4.17/lib/python3.11/site-packages:/nix/store/lc2nknsr0qna5w024rvay5kmlgvp3is9-python3.11-pywlroots-0.16.6/lib/python3.11/site-packages:/nix/store/p6dpb21g6dz5y28fmaw2qcd9hwzksdlm-python3.11-xkbcommon-0.8/lib/python3.11/site-packages:/nix/store/rfsj23gw6giwl69lrx491fjirg4jgrj6-python3.11-pyxdg-0.28/lib/python3.11/site-packages' -export PYTHONPATH -RANLIB='ranlib' -export RANLIB -READELF='readelf' -export READELF -SIZE='size' -export SIZE -SOURCE_DATE_EPOCH='315532800' -export SOURCE_DATE_EPOCH -STRINGS='strings' -export STRINGS -STRIP='strip' -export STRIP -XDG_DATA_DIRS='/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/share:/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0/share' -export XDG_DATA_DIRS -_PYTHON_HOST_PLATFORM='linux-x86_64' -export _PYTHON_HOST_PLATFORM -_PYTHON_SYSCONFIGDATA_NAME='_sysconfigdata__linux_x86_64-linux-gnu' -export _PYTHON_SYSCONFIGDATA_NAME -__structuredAttrs='' -export __structuredAttrs -buildInputs='/nix/store/aj5lnsqklm82dkjsia6vnigr8gr67fn6-python3.11-python-lsp-server-1.9.0 /nix/store/lva2dihcg31ci05w3nla95b2gkwplzb6-python3.11-mypy-1.5.1 /nix/store/cdhv0n5ias0b2dxhzxf3sr9nf4jwa02b-python3.11-pylsp-mypy-0.6.7 /nix/store/4kzfswgpjji0y8nflx0hbpa6haivf576-python3.11-black-23.11.0 /nix/store/70q9knr4s3zphlcvxqdmk600d3nsd9c5-python3.11-pydantic-1.10.12 /nix/store/ydq4bizxzxsz9ia9ypy4lhmccn3m9b90-python3.11-qtile-0.23.0' -export buildInputs -buildPhase='{ echo "------------------------------------------------------------"; - echo " WARNING: the existence of this path is not guaranteed."; - echo " It is an internal implementation detail for pkgs.mkShell."; - echo "------------------------------------------------------------"; - echo; - # Record all build inputs as runtime dependencies - export; -} >> "$out" -' -export buildPhase -builder='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' -export builder -cmakeFlags='' -export cmakeFlags -configureFlags='' -export configureFlags -defaultBuildInputs='' -defaultNativeBuildInputs='/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0 /nix/store/j0blrlhddcnqgq1v1cd4pfggjr2wah8n-update-autotools-gnu-config-scripts-hook /nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh /nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh /nix/store/wzdsbnv2ba3nj91aql8jjdddfmkkdh7h-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh /nix/store/wmknncrif06fqxa16hpdldhixk95nds0-strip.sh /nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' -depsBuildBuild='' -export depsBuildBuild -depsBuildBuildPropagated='' -export depsBuildBuildPropagated -depsBuildTarget='' -export depsBuildTarget -depsBuildTargetPropagated='' -export depsBuildTargetPropagated -depsHostHost='' -export depsHostHost -depsHostHostPropagated='' -export depsHostHostPropagated -depsTargetTarget='' -export depsTargetTarget -depsTargetTargetPropagated='' -export depsTargetTargetPropagated -doCheck='' -export doCheck -doInstallCheck='' -export doInstallCheck -dontAddDisableDepTrack='1' -export dontAddDisableDepTrack -declare -a envBuildBuildHooks=('addPythonPath' 'sysconfigdataHook' 'addPythonPath' 'sysconfigdataHook' ) -declare -a envBuildHostHooks=('addPythonPath' 'sysconfigdataHook' 'addPythonPath' 'sysconfigdataHook' ) -declare -a envBuildTargetHooks=('addPythonPath' 'sysconfigdataHook' 'addPythonPath' 'sysconfigdataHook' ) -declare -a envHostHostHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'addPythonPath' 'sysconfigdataHook' 'gettextDataDirsHook' ) -declare -a envHostTargetHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'addPythonPath' 'sysconfigdataHook' 'gettextDataDirsHook' ) -declare -a envTargetTargetHooks=('make_glib_find_gsettings_schemas' ) -declare -a fixupOutputHooks=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi' 'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi' 'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi' '_moveLib64' '_moveSbin' '_moveSystemdUserUnits' 'patchShebangsAuto' '_pruneLibtoolFiles' '_doStrip' ) -guess='16' -initialPath='/nix/store/zx8aqgdy735qzk81glfwil6mbi6ddqb1-coreutils-9.4 /nix/store/sq0w0jchkjqbxl47h52kfwa33qp1adfh-findutils-4.9.0 /nix/store/f3g84l92p0njh0gyk1z7cp2k4qnh91ha-diffutils-3.10 /nix/store/7fqp73ncnbwr5bxxszqicf6r33d9yhkw-gnused-4.9 /nix/store/by6918gg7srjyixqk8kbcdlz82d5pcwx-gnugrep-3.11 /nix/store/1713hchhyzawkxfhk9srxklv03bqj55y-gawk-5.2.2 /nix/store/1y7cqy8y76gsx037mhs3cvb33srj4c7g-gnutar-1.35 /nix/store/21drzcpzpi485f9m6ihspg4kayly5425-gzip-1.13 /nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin /nix/store/452v8bl3sjaq4kil1d9vqxc5vns4cvpp-gnumake-4.4.1 /nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21 /nix/store/l6s9gwsallxxgz3qy7xk6410y842m6dn-patch-2.7.6 /nix/store/pp7yamsghaprdxq94vr2iqx1hd5xn2qf-xz-5.4.5-bin /nix/store/hnz8p5w9xc0ivsiyrgky6f6h7sjb28a5-file-5.45' -mesonFlags='' -export mesonFlags -name='nix-shell-env' -export name -nativeBuildInputs='' -export nativeBuildInputs -out='/home/bolt/.nix/home/dots/qtile/outputs/out' -export out -outputBin='out' -outputDev='out' -outputDevdoc='REMOVE' -outputDevman='out' -outputDoc='out' -outputInclude='out' -outputInfo='out' -outputLib='out' -outputMan='out' -outputs='out' -export outputs -patches='' -export patches -phases='buildPhase' -export phases -pkg='/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' -declare -a pkgsBuildBuild=() -declare -a pkgsBuildHost=('/nix/store/sp8agbisn81ddckhvczl08jn0hjgz254-python3.11-cffi-1.16.0' '/nix/store/fifrfpnv54si9bjb187r1ag3ihcb707l-python3.11-pycparser-2.21' '/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6' '/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6' '/nix/store/sp8agbisn81ddckhvczl08jn0hjgz254-python3.11-cffi-1.16.0' '/nix/store/sp8agbisn81ddckhvczl08jn0hjgz254-python3.11-cffi-1.16.0' '/nix/store/pyq6gyhgck1nkfyjs6842ysxkxzjxkaj-patchelf-0.15.0' '/nix/store/j0blrlhddcnqgq1v1cd4pfggjr2wah8n-update-autotools-gnu-config-scripts-hook' '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh' '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh' '/nix/store/wzdsbnv2ba3nj91aql8jjdddfmkkdh7h-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh' '/nix/store/wmknncrif06fqxa16hpdldhixk95nds0-strip.sh' '/nix/store/sfgnb6rr428bssyrs54d6d0vv2avi95c-gcc-wrapper-12.3.0' '/nix/store/lwqnazddv8037sin49482dnzc9iwgg8l-binutils-wrapper-2.40' ) -declare -a pkgsBuildTarget=() -declare -a pkgsHostHost=() -declare -a pkgsHostTarget=('/nix/store/aj5lnsqklm82dkjsia6vnigr8gr67fn6-python3.11-python-lsp-server-1.9.0' '/nix/store/m2yhpkmkfa515y63jpmfw3kzqdfbr3mm-python3.11-docstring-to-markdown-0.12' '/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6' '/nix/store/h1fyziib4543b7j9bvn9y1j59vpd3pvi-python3.11-jedi-0.19.1' '/nix/store/bwg4r41cwsq12126c8nybkbllc3rfpm0-python3.11-parso-0.8.3' '/nix/store/wbphc7m4dc2zyqc8fm584kxxi0qbplar-python3.11-pluggy-1.3.0' '/nix/store/rxl9bijqx263yiz09hlq1wli54wdzikz-python3.11-python-lsp-jsonrpc-1.1.2' '/nix/store/2220nbi6jfm4x9bg4ha4sl1j2gpvry9m-python3.11-ujson-5.8.0' '/nix/store/6dsx7y855a79l3ynz9vpk0y2fddyl5pj-python3.11-setuptools-68.2.2' '/nix/store/lva2dihcg31ci05w3nla95b2gkwplzb6-python3.11-mypy-1.5.1' '/nix/store/wv3mx1q4b3valc16dc7ali1dm8lf0i83-python3.11-mypy-extensions-1.0.0' '/nix/store/0hqc6b7gdkdpgy2vlsnrwwqicqdcgdw9-python3.11-typing-extensions-4.7.1' '/nix/store/cdhv0n5ias0b2dxhzxf3sr9nf4jwa02b-python3.11-pylsp-mypy-0.6.7' '/nix/store/aj5lnsqklm82dkjsia6vnigr8gr67fn6-python3.11-python-lsp-server-1.9.0' '/nix/store/4kzfswgpjji0y8nflx0hbpa6haivf576-python3.11-black-23.11.0' '/nix/store/hzs7ldlnrdi1yl8ma0nqq36fxs1n1a65-python3.11-click-8.1.7' '/nix/store/av5p4cr6pgp7fl45m2zxvr4szkj9c5dd-python3.11-packaging-23.1' '/nix/store/ici6w57xvrqrsfgbhr1q94j93qp6j6bf-python3.11-pathspec-0.11.2' '/nix/store/78h8g7nadim9vvlkxv13h334q9vnsc04-python3.11-platformdirs-3.10.0' '/nix/store/70q9knr4s3zphlcvxqdmk600d3nsd9c5-python3.11-pydantic-1.10.12' '/nix/store/2rddkiy6w31ay247z0jsi0yhwidpc9qk-python3.11-devtools-0.12.2' '/nix/store/3ss67cgldfi6f6lixvfgfpbh57v4bhys-python3.11-asttokens-2.4.0' '/nix/store/dch8lgpg57qfxm03wdib3gvhqhc40fg9-python3.11-six-1.16.0' '/nix/store/cm7vhc1ldyz75mw07sz055r3p3mckq7w-python3.11-executing-1.2.0' '/nix/store/kckqn8my6w4brmhscdh7l04706pbwz0x-python3.11-pygments-2.16.1' '/nix/store/87njjn8a583vdhz0rz6dx2jx8bmfrkqa-python3.11-pyupgrade-3.3.1' '/nix/store/lcib2kqw3xa3r32whmhhkp1jvvfxc6xd-python3.11-tokenize-rt-4.2.1' '/nix/store/ydq4bizxzxsz9ia9ypy4lhmccn3m9b90-python3.11-qtile-0.23.0' '/nix/store/ic66z2sbbwmpzjxlicwnf364zgc4kjxx-python3.11-cairocffi-1.6.1' '/nix/store/pxkvldci1sjd4740hk12m8f2dpwbjc13-cairo-1.18.0-dev' '/nix/store/90fahxhk3y9g86hzj2gb0lzl7bxc74qk-fontconfig-2.14.2-dev' '/nix/store/q5f6c3kcj49v67492q7ivm5nscnsr258-freetype-2.13.2-dev' '/nix/store/fak09pxs42fqcgngf2yznw83f88kmw7s-zlib-1.3-dev' '/nix/store/lprrvg44cyn9ajpq77lh7rlnp4kzdqzs-zlib-1.3' '/nix/store/8p1rj4maax15sgvli1vwzjypnraqzwlw-bzip2-1.0.8-dev' '/nix/store/9gdg43h7zrn651lb1ihv2b2qf59im94b-bzip2-1.0.8-bin' '/nix/store/971390xv13vzrhcrqp7ds3rr0hh92jn4-bzip2-1.0.8' '/nix/store/1gxyhvn5cvncrxwd956p7p0z0g3lkrhk-brotli-1.1.0-dev' '/nix/store/ri6kfdcrrzb40k1dsphwjfbzk2kdsb4a-brotli-1.1.0-lib' '/nix/store/bw9dj066cp2rp67pgr54gssr7kqcnanm-brotli-1.1.0' '/nix/store/m653k4419m8qdjjd5m5ml7bqmhikq4zg-libpng-apng-1.6.40-dev' '/nix/store/mk97b70y1j3llblmgcd0j3cn2zhgdcfk-libpng-apng-1.6.40' '/nix/store/w01pvgwpriwhryiljim8gf7c1s1das6g-freetype-2.13.2' '/nix/store/nw4mp3xn5j6frcjk1am839lji4qmvs4h-fontconfig-2.14.2-bin' '/nix/store/ik6ask03qm37llxfwl8xiaj75m6gms6v-fontconfig-2.14.2-lib' '/nix/store/lplczgbk487vs53jgxr6zd84k8jk4p6z-pixman-0.42.2' '/nix/store/2bd0v6p8v4wdjz1ikqlxnpivamlxy6w8-libXext-1.3.5-dev' '/nix/store/bp4a3z0drfr8s0dxw69wrsnxhk78psa8-xorgproto-2023.2' '/nix/store/7hfsr06fyrw31ycf666pd3xhfaj6qvpw-libXau-1.0.11-dev' '/nix/store/h9yn7x8jybf1bb4bpgy3pchpzrwbgyvg-libXau-1.0.11' '/nix/store/2sr0r9cw0vz9q7yddqpj5f83ixgn82jc-libXext-1.3.5' '/nix/store/bipx9fcs9fvijrw27glgdffgvxp7q518-libXrender-0.9.11-dev' '/nix/store/qyqghh5k3dxlnwhhvrxvjx0yqd1zvicy-libX11-1.8.7-dev' '/nix/store/swlk5ksgjrfp9i5mx2gcqxl9rr3ifyn4-libxcb-1.16-dev' '/nix/store/np0vlmiynq5mqlgydippjs7ymrqlxamx-libxcb-1.16' '/nix/store/y8f8j7nb52l30cg8x0clk9k91fpi224v-libX11-1.8.7' '/nix/store/2sk6r0jdn46kcl99ka47yi4m9wsdqwyp-libXrender-0.9.11' '/nix/store/xc5casr35bpf24dj0sp3jjwh76mkslg4-glib-2.78.1-dev' '/nix/store/nflijzxfd78vmqhxxm8nk7lrw245nk2y-libffi-3.4.4-dev' '/nix/store/dcy81zr59pk3nl6pg6170fwn9i0qp3d5-libffi-3.4.4' '/nix/store/f0m95a8gfkwgijbiscbkn7f3ra6ha70x-gettext-0.21.1' '/nix/store/a7sic6w2x7qkw5aqchys1m8ms482pgbf-glibc-iconv-2.38' '/nix/store/7m55djnyz4x0lcffn6c38j57bzpj1a6g-glib-2.78.1-bin' '/nix/store/2if9iy5cy0bicwafllpa2aiq30v26app-glib-2.78.1' '/nix/store/xd1998w2cslqgahgc0v0gga5il3y45w1-cairo-1.18.0' '/nix/store/sp8agbisn81ddckhvczl08jn0hjgz254-python3.11-cffi-1.16.0' '/nix/store/fifrfpnv54si9bjb187r1ag3ihcb707l-python3.11-pycparser-2.21' '/nix/store/frnqfili5gkcv1f69m94lfy89nbfllp6-python3.11-xcffib-1.5.0' '/nix/store/bph8ns8lvhzlw2m26az7idcwp123ps47-python3.11-dbus-next-0.2.3' '/nix/store/cy56alc1bjh3kb4gwxqjapia3f0rihcs-python3.11-dbus-python-1.2.18-dev' '/nix/store/8iwvmbl7r3b2ldv17749wxm5k5asy5z1-python3.11-dbus-python-1.2.18' '/nix/store/nyw2ygfl0b2kihk33cqfsz8fbhqnq1av-python3.11-iwlib-1.7.0' '/nix/store/blc69avhc1l84k195hxkdkz8v185jzdm-wireless-tools-30.pre9' '/nix/store/y0jsdaz48wdi1bxv0gjq2b288wl8jj6f-python3.11-python-mpd2-3.1.0' '/nix/store/did7iszkmn7k1ga745d7xz6mf421kdl5-python3.11-psutil-5.9.6' '/nix/store/54da9p4kz9wiyir4syk92kbz2g330h7v-python3.11-pulsectl-asyncio-1.1.1' '/nix/store/4phvskb1kr61qn5ggncjq1s0ihfap233-python3.11-pulsectl-23.5.2' '/nix/store/wjwmbilinr6kqc9mrh75bfphj9lr80bw-python3.11-pygobject-3.46.0-dev' '/nix/store/4k72s8yq0fms4krq20adwy3xavgrafyw-python3.11-pycairo-1.24.0' '/nix/store/r4nspb1366qyhf03vn1nl6shllf7li56-python3.11-pygobject-3.46.0' '/nix/store/vb9kzr5vnmk57l2l5lzlmw3hvz13lid0-python3.11-python-dateutil-2.8.2' '/nix/store/7m02j1yx8dbkd2m1s0jv11s8qvs7cbf2-python3.11-pywayland-0.4.17' '/nix/store/lc2nknsr0qna5w024rvay5kmlgvp3is9-python3.11-pywlroots-0.16.6' '/nix/store/p6dpb21g6dz5y28fmaw2qcd9hwzksdlm-python3.11-xkbcommon-0.8' '/nix/store/rfsj23gw6giwl69lrx491fjirg4jgrj6-python3.11-pyxdg-0.28' ) -declare -a pkgsTargetTarget=() -declare -a postFixupHooks=('_makeSymlinksRelativeInAllOutputs' '_multioutPropagateDev' ) -declare -a postUnpackHooks=('_updateSourceDateEpochFromSourceRoot' ) -declare -a preConfigureHooks=('_multioutConfig' ) -preConfigurePhases=' updateAutotoolsGnuConfigScriptsPhase' -declare -a preFixupHooks=('_moveToShare' '_multioutDocs' '_multioutDevs' ) -preFixupPhases=' glibPreFixupPhase' -preInstallPhases=' glibPreInstallPhase' -preferLocalBuild='1' -export preferLocalBuild -prefix='/home/bolt/.nix/home/dots/qtile/outputs/out' -declare -a propagatedBuildDepFiles=('propagated-build-build-deps' 'propagated-native-build-inputs' 'propagated-build-target-deps' ) -propagatedBuildInputs='' -export propagatedBuildInputs -declare -a propagatedHostDepFiles=('propagated-host-host-deps' 'propagated-build-inputs' ) -propagatedNativeBuildInputs='' -export propagatedNativeBuildInputs -declare -a propagatedTargetDepFiles=('propagated-target-target-deps' ) -role_post='' -shell='/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21/bin/bash' -export shell -shellHook='' -export shellHook -stdenv='/nix/store/d4jf1cbbk494zwgbqz31pxgigpsbh6w2-stdenv-linux' -export stdenv -strictDeps='' -export strictDeps -system='x86_64-linux' -export system -declare -a unpackCmdHooks=('_defaultUnpack' ) -_accumFlagsArray () -{ - - local name; - if [ -n "$__structuredAttrs" ]; then - for name in "$@"; - do - local -n nameref="$name"; - flagsArray+=(${nameref+"${nameref[@]}"}); - done; - else - for name in "$@"; - do - local -n nameref="$name"; - case "$name" in - *Array) - flagsArray+=(${nameref+"${nameref[@]}"}) - ;; - *) - flagsArray+=(${nameref-}) - ;; - esac; - done; - fi -} -_activatePkgs () -{ - - local hostOffset targetOffset; - local pkg; - for hostOffset in "${allPlatOffsets[@]}"; - do - local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}"; - for targetOffset in "${allPlatOffsets[@]}"; - do - (( hostOffset <= targetOffset )) || continue; - local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]"; - local pkgsSlice="${!pkgsRef}[@]"; - for pkg in ${!pkgsSlice+"${!pkgsSlice}"}; - do - activatePackage "$pkg" "$hostOffset" "$targetOffset"; - done; - done; - done -} -_addRpathPrefix () -{ - - if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then - export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}"; - fi -} -_addToEnv () -{ - - local depHostOffset depTargetOffset; - local pkg; - for depHostOffset in "${allPlatOffsets[@]}"; - do - local hookVar="${pkgHookVarVars[depHostOffset + 1]}"; - local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}"; - for depTargetOffset in "${allPlatOffsets[@]}"; - do - (( depHostOffset <= depTargetOffset )) || continue; - local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]"; - if [[ -z "${strictDeps-}" ]]; then - local visitedPkgs=""; - for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}"; - do - if [[ "$visitedPkgs" = *"$pkg"* ]]; then - continue; - fi; - runHook "${!hookRef}" "$pkg"; - visitedPkgs+=" $pkg"; - done; - else - local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]"; - local pkgsSlice="${!pkgsRef}[@]"; - for pkg in ${!pkgsSlice+"${!pkgsSlice}"}; - do - runHook "${!hookRef}" "$pkg"; - done; - fi; - done; - done -} -_allFlags () -{ - - export system pname name version; - for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); - do - if (( "${NIX_DEBUG:-0}" >= 1 )); then - printf "@%s@ -> %q\n" "${varName}" "${!varName}" 1>&2; - fi; - args+=("--subst-var" "$varName"); - done -} -_assignFirst () -{ - - local varName="$1"; - local _var; - local REMOVE=REMOVE; - shift; - for _var in "$@"; - do - if [ -n "${!_var-}" ]; then - eval "${varName}"="${_var}"; - return; - fi; - done; - echo; - echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}."; - echo " The following variables were all unset or empty:"; - echo " $*"; - if [ -z "${out:-}" ]; then - echo ' If you do not want an "out" output in your derivation, make sure to define'; - echo ' the other specific required outputs. This can be achieved by picking one'; - echo " of the above as an output."; - echo ' You do not have to remove "out" if you want to have a different default'; - echo ' output, because the first output is taken as a default.'; - echo; - fi; - return 1 -} -_callImplicitHook () -{ - - local def="$1"; - local hookName="$2"; - if declare -F "$hookName" > /dev/null; then - "$hookName"; - else - if type -p "$hookName" > /dev/null; then - source "$hookName"; - else - if [ -n "${!hookName:-}" ]; then - eval "${!hookName}"; - else - return "$def"; - fi; - fi; - fi -} -_defaultUnpack () -{ - - local fn="$1"; - local destination; - if [ -d "$fn" ]; then - destination="$(stripHash "$fn")"; - if [ -e "$destination" ]; then - echo "Cannot copy $fn to $destination: destination already exists!"; - echo "Did you specify two \"srcs\" with the same \"name\"?"; - return 1; - fi; - cp -pr --reflink=auto -- "$fn" "$destination"; - else - case "$fn" in - *.tar.xz | *.tar.lzma | *.txz) - xz -d < "$fn" | tar xf - --warning=no-timestamp - ;; - *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz) - tar xf "$fn" --warning=no-timestamp - ;; - *) - return 1 - ;; - esac; - fi -} -_doStrip () -{ - - local -ra flags=(dontStripHost dontStripTarget); - local -ra debugDirs=(stripDebugList stripDebugListTarget); - local -ra allDirs=(stripAllList stripAllListTarget); - local -ra stripCmds=(STRIP STRIP_FOR_TARGET); - local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET); - stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin}; - stripDebugListTarget=${stripDebugListTarget[*]:-}; - stripAllList=${stripAllList[*]:-}; - stripAllListTarget=${stripAllListTarget[*]:-}; - local i; - for i in ${!stripCmds[@]}; - do - local -n flag="${flags[$i]}"; - local -n debugDirList="${debugDirs[$i]}"; - local -n allDirList="${allDirs[$i]}"; - local -n stripCmd="${stripCmds[$i]}"; - local -n ranlibCmd="${ranlibCmds[$i]}"; - if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then - continue; - fi; - stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}"; - stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}"; - done -} -_eval () -{ - - if declare -F "$1" > /dev/null 2>&1; then - "$@"; - else - eval "$1"; - fi -} -_makeSymlinksRelative () -{ - - local symlinkTarget; - if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then - return; - fi; - while IFS= read -r -d '' f; do - symlinkTarget=$(readlink "$f"); - if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then - continue; - fi; - if [ ! -e "$symlinkTarget" ]; then - echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)"; - fi; - echo "rewriting symlink $f to be relative to $prefix"; - ln -snrf "$symlinkTarget" "$f"; - done < <(find $prefix -type l -print0) -} -_makeSymlinksRelativeInAllOutputs () -{ - - local output; - for output in $(getAllOutputNames); - do - prefix="${!output}" _makeSymlinksRelative; - done -} -_moveLib64 () -{ - - if [ "${dontMoveLib64-}" = 1 ]; then - return; - fi; - if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then - return; - fi; - echo "moving $prefix/lib64/* to $prefix/lib"; - mkdir -p $prefix/lib; - shopt -s dotglob; - for i in $prefix/lib64/*; - do - mv --no-clobber "$i" $prefix/lib; - done; - shopt -u dotglob; - rmdir $prefix/lib64; - ln -s lib $prefix/lib64 -} -_moveSbin () -{ - - if [ "${dontMoveSbin-}" = 1 ]; then - return; - fi; - if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then - return; - fi; - echo "moving $prefix/sbin/* to $prefix/bin"; - mkdir -p $prefix/bin; - shopt -s dotglob; - for i in $prefix/sbin/*; - do - mv "$i" $prefix/bin; - done; - shopt -u dotglob; - rmdir $prefix/sbin; - ln -s bin $prefix/sbin -} -_moveSystemdUserUnits () -{ - - if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then - return; - fi; - if [ ! -e "${prefix:?}/lib/systemd/user" ]; then - return; - fi; - local source="$prefix/lib/systemd/user"; - local target="$prefix/share/systemd/user"; - echo "moving $source/* to $target"; - mkdir -p "$target"; - ( shopt -s dotglob; - for i in "$source"/*; - do - mv "$i" "$target"; - done ); - rmdir "$source"; - ln -s "$target" "$source" -} -_moveToShare () -{ - - if [ -n "$__structuredAttrs" ]; then - if [ -z "${forceShare-}" ]; then - forceShare=(man doc info); - fi; - else - forceShare=(${forceShare:-man doc info}); - fi; - if [[ -z "$out" ]]; then - return; - fi; - for d in "${forceShare[@]}"; - do - if [ -d "$out/$d" ]; then - if [ -d "$out/share/$d" ]; then - echo "both $d/ and share/$d/ exist!"; - else - echo "moving $out/$d to $out/share/$d"; - mkdir -p $out/share; - mv $out/$d $out/share/; - fi; - fi; - done -} -_multioutConfig () -{ - - if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then - return; - fi; - if [ -z "${shareDocName:-}" ]; then - local confScript="${configureScript:-}"; - if [ -z "$confScript" ] && [ -x ./configure ]; then - confScript=./configure; - fi; - if [ -f "$confScript" ]; then - local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")"; - fi; - if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then - shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"; - fi; - fi; - prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --oldincludedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale; - prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal -} -_multioutDevs () -{ - - if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then - return; - fi; - moveToOutput include "${!outputInclude}"; - moveToOutput lib/pkgconfig "${!outputDev}"; - moveToOutput share/pkgconfig "${!outputDev}"; - moveToOutput lib/cmake "${!outputDev}"; - moveToOutput share/aclocal "${!outputDev}"; - for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc; - do - echo "Patching '$f' includedir to output ${!outputInclude}"; - sed -i "/^includedir=/s,=\${prefix},=${!outputInclude}," "$f"; - done -} -_multioutDocs () -{ - - local REMOVE=REMOVE; - moveToOutput share/info "${!outputInfo}"; - moveToOutput share/doc "${!outputDoc}"; - moveToOutput share/gtk-doc "${!outputDevdoc}"; - moveToOutput share/devhelp/books "${!outputDevdoc}"; - moveToOutput share/man "${!outputMan}"; - moveToOutput share/man/man3 "${!outputDevman}" -} -_multioutPropagateDev () -{ - - if [ "$(getAllOutputNames)" = "out" ]; then - return; - fi; - local outputFirst; - for outputFirst in $(getAllOutputNames); - do - break; - done; - local propagaterOutput="$outputDev"; - if [ -z "$propagaterOutput" ]; then - propagaterOutput="$outputFirst"; - fi; - if [ -z "${propagatedBuildOutputs+1}" ]; then - local po_dirty="$outputBin $outputInclude $outputLib"; - set +o pipefail; - propagatedBuildOutputs=`echo "$po_dirty" | tr -s ' ' '\n' | grep -v -F "$propagaterOutput" | sort -u | tr '\n' ' ' `; - set -o pipefail; - fi; - if [ -z "$propagatedBuildOutputs" ]; then - return; - fi; - mkdir -p "${!propagaterOutput}"/nix-support; - for output in $propagatedBuildOutputs; - do - echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs; - done -} -_overrideFirst () -{ - - if [ -z "${!1-}" ]; then - _assignFirst "$@"; - fi -} -_pruneLibtoolFiles () -{ - - if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then - return; - fi; - find "$prefix" -type f -name '*.la' -exec grep -q '^# Generated by .*libtool' {} \; -exec grep -q "^old_library=''" {} \; -exec sed -i {} -e "/^dependency_libs='[^']/ c dependency_libs='' #pruned" \; -} -_updateSourceDateEpochFromSourceRoot () -{ - - if [ -n "$sourceRoot" ]; then - updateSourceDateEpoch "$sourceRoot"; - fi -} -activatePackage () -{ - - local pkg="$1"; - local -r hostOffset="$2"; - local -r targetOffset="$3"; - (( hostOffset <= targetOffset )) || exit 1; - if [ -f "$pkg" ]; then - source "$pkg"; - fi; - if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then - addToSearchPath _PATH "$pkg/bin"; - fi; - if (( hostOffset <= -1 )); then - addToSearchPath _XDG_DATA_DIRS "$pkg/share"; - fi; - if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then - addToSearchPath _HOST_PATH "$pkg/bin"; - fi; - if [[ -f "$pkg/nix-support/setup-hook" ]]; then - source "$pkg/nix-support/setup-hook"; - fi -} -addEnvHooks () -{ - - local depHostOffset="$1"; - shift; - local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]"; - local pkgHookVar; - for pkgHookVar in "${!pkgHookVarsSlice}"; - do - eval "${pkgHookVar}s"'+=("$@")'; - done -} -addPythonPath () -{ - - addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.11/site-packages -} -addToSearchPath () -{ - - addToSearchPathWithCustomDelimiter ":" "$@" -} -addToSearchPathWithCustomDelimiter () -{ - - local delimiter="$1"; - local varName="$2"; - local dir="$3"; - if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then - export "${varName}=${!varName:+${!varName}${delimiter}}${dir}"; - fi -} -appendToVar () -{ - - local -n nameref="$1"; - local useArray type; - if [ -n "$__structuredAttrs" ]; then - useArray=true; - else - useArray=false; - fi; - if declare -p "$1" 2> /dev/null | grep -q '^'; then - type="$(declare -p "$1")"; - if [[ "$type" =~ "declare -A" ]]; then - echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; - return 1; - else - if [[ "$type" =~ "declare -a" ]]; then - useArray=true; - else - useArray=false; - fi; - fi; - fi; - shift; - if $useArray; then - nameref=(${nameref+"${nameref[@]}"} "$@"); - else - nameref="${nameref-} $*"; - fi -} -auditTmpdir () -{ - - local dir="$1"; - [ -e "$dir" ] || return 0; - echo "checking for references to $TMPDIR/ in $dir..."; - local i; - find "$dir" -type f -print0 | while IFS= read -r -d '' i; do - if [[ "$i" =~ .build-id ]]; then - continue; - fi; - if isELF "$i"; then - if { - printf :; - patchelf --print-rpath "$i" - } | grep -q -F ":$TMPDIR/"; then - echo "RPATH of binary $i contains a forbidden reference to $TMPDIR/"; - exit 1; - fi; - fi; - if isScript "$i"; then - if [ -e "$(dirname "$i")/.$(basename "$i")-wrapped" ]; then - if grep -q -F "$TMPDIR/" "$i"; then - echo "wrapper script $i contains a forbidden reference to $TMPDIR/"; - exit 1; - fi; - fi; - fi; - done -} -bintoolsWrapper_addLDVars () -{ - - local role_post; - getHostRoleEnvHook; - if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then - export NIX_LDFLAGS${role_post}+=" -L$1/lib64"; - fi; - if [[ -d "$1/lib" ]]; then - local -a glob=($1/lib/lib*); - if [ "${#glob[*]}" -gt 0 ]; then - export NIX_LDFLAGS${role_post}+=" -L$1/lib"; - fi; - fi -} -buildPhase () -{ - - runHook preBuild; - if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then - echo "no Makefile or custom buildPhase, doing nothing"; - else - foundMakefile=1; - local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; - echoCmd 'build flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - fi; - runHook postBuild -} -ccWrapper_addCVars () -{ - - local role_post; - getHostRoleEnvHook; - if [ -d "$1/include" ]; then - export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include"; - fi; - if [ -d "$1/Library/Frameworks" ]; then - export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks"; - fi -} -checkPhase () -{ - - runHook preCheck; - if [[ -z "${foundMakefile:-}" ]]; then - echo "no Makefile or custom checkPhase, doing nothing"; - runHook postCheck; - return; - fi; - if [[ -z "${checkTarget:-}" ]]; then - if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then - checkTarget=check; - else - if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then - checkTarget=test; - fi; - fi; - fi; - if [[ -z "${checkTarget:-}" ]]; then - echo "no check/test target in ${makefile:-Makefile}, doing nothing"; - else - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray; - if [ -n "$__structuredAttrs" ]; then - flagsArray+=("${checkFlags[@]:-VERBOSE=y}"); - else - flagsArray+=(${checkFlags:-VERBOSE=y}); - fi; - _accumFlagsArray checkFlagsArray; - flagsArray+=(${checkTarget}); - echoCmd 'check flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - fi; - runHook postCheck -} -compressManPages () -{ - - local dir="$1"; - if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then - return; - fi; - echo "gzipping man pages under $dir/share/man/"; - find "$dir"/share/man/ -type f -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 | while IFS= read -r -d '' f; do - if gzip -c -n "$f" > "$f".gz; then - rm "$f"; - else - rm "$f".gz; - fi; - done; - find "$dir"/share/man/ -type l -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 | sort -z | while IFS= read -r -d '' f; do - local target; - target="$(readlink -f "$f")"; - if [ -f "$target".gz ]; then - ln -sf "$target".gz "$f".gz && rm "$f"; - fi; - done -} -configurePhase () -{ - - runHook preConfigure; - : "${configureScript=}"; - if [[ -z "$configureScript" && -x ./configure ]]; then - configureScript=./configure; - fi; - if [ -z "${dontFixLibtool:-}" ]; then - export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}"; - local i; - find . -iname "ltmain.sh" -print0 | while IFS='' read -r -d '' i; do - echo "fixing libtool script $i"; - fixLibtool "$i"; - done; - CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX); - find . -executable -type f -name configure -exec grep -l 'GNU Libtool is free software; you can redistribute it and/or modify' {} \; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \; -exec sed -i s_/usr/bin/file_file_g {} \; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \;; - rm -f "$CONFIGURE_MTIME_REFERENCE"; - fi; - if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then - prependToVar configureFlags "${prefixKey:---prefix=}$prefix"; - fi; - if [[ -f "$configureScript" ]]; then - if [ -z "${dontAddDisableDepTrack:-}" ]; then - if grep -q dependency-tracking "$configureScript"; then - prependToVar configureFlags --disable-dependency-tracking; - fi; - fi; - if [ -z "${dontDisableStatic:-}" ]; then - if grep -q enable-static "$configureScript"; then - prependToVar configureFlags --disable-static; - fi; - fi; - if [ -z "${dontPatchShebangsInConfigure:-}" ]; then - patchShebangs --build "$configureScript"; - fi; - fi; - if [ -n "$configureScript" ]; then - local -a flagsArray; - _accumFlagsArray configureFlags configureFlagsArray; - echoCmd 'configure flags' "${flagsArray[@]}"; - $configureScript "${flagsArray[@]}"; - unset flagsArray; - else - echo "no configure script, doing nothing"; - fi; - runHook postConfigure -} -consumeEntire () -{ - - if IFS='' read -r -d '' "$1"; then - echo "consumeEntire(): ERROR: Input null bytes, won't process" 1>&2; - return 1; - fi -} -distPhase () -{ - - runHook preDist; - local flagsArray=(); - _accumFlagsArray distFlags distFlagsArray; - flagsArray+=(${distTarget:-dist}); - echo 'dist flags: %q' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - if [ "${dontCopyDist:-0}" != 1 ]; then - mkdir -p "$out/tarballs"; - cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs"; - fi; - runHook postDist -} -dumpVars () -{ - - if [ "${noDumpEnvVars:-0}" != 1 ]; then - export 2> /dev/null >| "$NIX_BUILD_TOP/env-vars" || true; - fi -} -echoCmd () -{ - - printf "%s:" "$1"; - shift; - printf ' %q' "$@"; - echo -} -exitHandler () -{ - - exitCode="$?"; - set +e; - if [ -n "${showBuildStats:-}" ]; then - read -r -d '' -a buildTimes < <(times); - echo "build times:"; - echo "user time for the shell ${buildTimes[0]}"; - echo "system time for the shell ${buildTimes[1]}"; - echo "user time for all child processes ${buildTimes[2]}"; - echo "system time for all child processes ${buildTimes[3]}"; - fi; - if (( "$exitCode" != 0 )); then - runHook failureHook; - if [ -n "${succeedOnFailure:-}" ]; then - echo "build failed with exit code $exitCode (ignored)"; - mkdir -p "$out/nix-support"; - printf "%s" "$exitCode" > "$out/nix-support/failed"; - exit 0; - fi; - else - runHook exitHook; - fi; - return "$exitCode" -} -findInputs () -{ - - local -r pkg="$1"; - local -r hostOffset="$2"; - local -r targetOffset="$3"; - (( hostOffset <= targetOffset )) || exit 1; - local varVar="${pkgAccumVarVars[hostOffset + 1]}"; - local varRef="$varVar[$((targetOffset - hostOffset))]"; - local var="${!varRef}"; - unset -v varVar varRef; - local varSlice="$var[*]"; - case "${!varSlice-}" in - *" $pkg "*) - return 0 - ;; - esac; - unset -v varSlice; - eval "$var"'+=("$pkg")'; - if ! [ -e "$pkg" ]; then - echo "build input $pkg does not exist" 1>&2; - exit 1; - fi; - function mapOffset () - { - local -r inputOffset="$1"; - local -n outputOffset="$2"; - if (( inputOffset <= 0 )); then - outputOffset=$((inputOffset + hostOffset)); - else - outputOffset=$((inputOffset - 1 + targetOffset)); - fi - }; - local relHostOffset; - for relHostOffset in "${allPlatOffsets[@]}"; - do - local files="${propagatedDepFilesVars[relHostOffset + 1]}"; - local hostOffsetNext; - mapOffset "$relHostOffset" hostOffsetNext; - (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue; - local relTargetOffset; - for relTargetOffset in "${allPlatOffsets[@]}"; - do - (( "$relHostOffset" <= "$relTargetOffset" )) || continue; - local fileRef="${files}[$relTargetOffset - $relHostOffset]"; - local file="${!fileRef}"; - unset -v fileRef; - local targetOffsetNext; - mapOffset "$relTargetOffset" targetOffsetNext; - (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue; - [[ -f "$pkg/nix-support/$file" ]] || continue; - local pkgNext; - read -r -d '' pkgNext < "$pkg/nix-support/$file" || true; - for pkgNext in $pkgNext; - do - findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext"; - done; - done; - done -} -fixLibtool () -{ - - local search_path; - for flag in $NIX_LDFLAGS; - do - case $flag in - -L*) - search_path+=" ${flag#-L}" - ;; - esac; - done; - sed -i "$1" -e "s^eval \(sys_lib_search_path=\).*^\1'${search_path:-}'^" -e 's^eval sys_lib_.+search_path=.*^^' -} -fixupPhase () -{ - - local output; - for output in $(getAllOutputNames); - do - if [ -e "${!output}" ]; then - chmod -R u+w "${!output}"; - fi; - done; - runHook preFixup; - local output; - for output in $(getAllOutputNames); - do - prefix="${!output}" runHook fixupOutput; - done; - recordPropagatedDependencies; - if [ -n "${setupHook:-}" ]; then - mkdir -p "${!outputDev}/nix-support"; - substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"; - fi; - if [ -n "${setupHooks:-}" ]; then - mkdir -p "${!outputDev}/nix-support"; - local hook; - for hook in ${setupHooks[@]}; - do - local content; - consumeEntire content < "$hook"; - substituteAllStream content "file '$hook'" >> "${!outputDev}/nix-support/setup-hook"; - unset -v content; - done; - unset -v hook; - fi; - if [ -n "${propagatedUserEnvPkgs:-}" ]; then - mkdir -p "${!outputBin}/nix-support"; - printWords $propagatedUserEnvPkgs > "${!outputBin}/nix-support/propagated-user-env-packages"; - fi; - runHook postFixup -} -genericBuild () -{ - - export GZIP_NO_TIMESTAMPS=1; - if [ -f "${buildCommandPath:-}" ]; then - source "$buildCommandPath"; - return; - fi; - if [ -n "${buildCommand:-}" ]; then - eval "$buildCommand"; - return; - fi; - if [ -z "${phases[*]:-}" ]; then - phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}"; - fi; - for curPhase in ${phases[*]}; - do - runPhase "$curPhase"; - done -} -getAllOutputNames () -{ - - if [ -n "$__structuredAttrs" ]; then - echo "${!outputs[*]}"; - else - echo "$outputs"; - fi -} -getHostRole () -{ - - getRole "$hostOffset" -} -getHostRoleEnvHook () -{ - - getRole "$depHostOffset" -} -getRole () -{ - - case $1 in - -1) - role_post='_FOR_BUILD' - ;; - 0) - role_post='' - ;; - 1) - role_post='_FOR_TARGET' - ;; - *) - echo "gettext-0.21.1: used as improper sort of dependency" 1>&2; - return 1 - ;; - esac -} -getTargetRole () -{ - - getRole "$targetOffset" -} -getTargetRoleEnvHook () -{ - - getRole "$depTargetOffset" -} -getTargetRoleWrapper () -{ - - case $targetOffset in - -1) - export NIX_@wrapperName@_TARGET_BUILD_@suffixSalt@=1 - ;; - 0) - export NIX_@wrapperName@_TARGET_HOST_@suffixSalt@=1 - ;; - 1) - export NIX_@wrapperName@_TARGET_TARGET_@suffixSalt@=1 - ;; - *) - echo "gettext-0.21.1: used as improper sort of dependency" 1>&2; - return 1 - ;; - esac -} -gettextDataDirsHook () -{ - - getHostRoleEnvHook; - if [ -d "$1/share/gettext" ]; then - addToSearchPath "GETTEXTDATADIRS${role_post}" "$1/share/gettext"; - fi -} -glibPreFixupPhase () -{ - - if [ -d "$prefix/share/glib-2.0/schemas" ]; then - mkdir -p "${!outputLib}/share/gsettings-schemas/$name/glib-2.0"; - mv "$prefix/share/glib-2.0/schemas" "${!outputLib}/share/gsettings-schemas/$name/glib-2.0/"; - fi; - addToSearchPath GSETTINGS_SCHEMAS_PATH "${!outputLib}/share/gsettings-schemas/$name" -} -glibPreInstallPhase () -{ - - makeFlagsArray+=("gsettingsschemadir=${!outputLib}/share/gsettings-schemas/$name/glib-2.0/schemas/") -} -installCheckPhase () -{ - - runHook preInstallCheck; - if [[ -z "${foundMakefile:-}" ]]; then - echo "no Makefile or custom installCheckPhase, doing nothing"; - else - if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then - echo "no installcheck target in ${makefile:-Makefile}, doing nothing"; - else - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray; - flagsArray+=(${installCheckTarget:-installcheck}); - echoCmd 'installcheck flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - fi; - fi; - runHook postInstallCheck -} -installPhase () -{ - - runHook preInstall; - if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then - echo "no Makefile or custom installPhase, doing nothing"; - runHook postInstall; - return; - else - foundMakefile=1; - fi; - if [ -n "$prefix" ]; then - mkdir -p "$prefix"; - fi; - local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); - _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray; - if [ -n "$__structuredAttrs" ]; then - flagsArray+=("${installTargets[@]:-install}"); - else - flagsArray+=(${installTargets:-install}); - fi; - echoCmd 'install flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - runHook postInstall -} -isELF () -{ - - local fn="$1"; - local fd; - local magic; - exec {fd}< "$fn"; - read -r -n 4 -u "$fd" magic; - exec {fd}>&-; - if [ "$magic" = 'ELF' ]; then - return 0; - else - return 1; - fi -} -isMachO () -{ - - local fn="$1"; - local fd; - local magic; - exec {fd}< "$fn"; - read -r -n 4 -u "$fd" magic; - exec {fd}>&-; - if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xcf") || "$magic" = $(echo -ne "\xcf\xfa\xed\xfe") ]]; then - return 0; - else - if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xce") || "$magic" = $(echo -ne "\xce\xfa\xed\xfe") ]]; then - return 0; - else - if [[ "$magic" = $(echo -ne "\xca\xfe\xba\xbe") || "$magic" = $(echo -ne "\xbe\xba\xfe\xca") ]]; then - return 0; - else - return 1; - fi; - fi; - fi -} -isScript () -{ - - local fn="$1"; - local fd; - local magic; - exec {fd}< "$fn"; - read -r -n 2 -u "$fd" magic; - exec {fd}>&-; - if [[ "$magic" =~ \#! ]]; then - return 0; - else - return 1; - fi -} -make_glib_find_gsettings_schemas () -{ - - for maybe_dir in "$1"/share/gsettings-schemas/*; - do - if [[ -d "$maybe_dir/glib-2.0/schemas" ]]; then - addToSearchPath GSETTINGS_SCHEMAS_PATH "$maybe_dir"; - fi; - done -} -mapOffset () -{ - - local -r inputOffset="$1"; - local -n outputOffset="$2"; - if (( inputOffset <= 0 )); then - outputOffset=$((inputOffset + hostOffset)); - else - outputOffset=$((inputOffset - 1 + targetOffset)); - fi -} -moveToOutput () -{ - - local patt="$1"; - local dstOut="$2"; - local output; - for output in $(getAllOutputNames); - do - if [ "${!output}" = "$dstOut" ]; then - continue; - fi; - local srcPath; - for srcPath in "${!output}"/$patt; - do - if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then - continue; - fi; - if [ "$dstOut" = REMOVE ]; then - echo "Removing $srcPath"; - rm -r "$srcPath"; - else - local dstPath="$dstOut${srcPath#${!output}}"; - echo "Moving $srcPath to $dstPath"; - if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then - rmdir "$srcPath" --ignore-fail-on-non-empty; - if [ -d "$srcPath" ]; then - mv -t "$dstPath" "$srcPath"/*; - rmdir "$srcPath"; - fi; - else - mkdir -p "$(readlink -m "$dstPath/..")"; - mv "$srcPath" "$dstPath"; - fi; - fi; - local srcParent="$(readlink -m "$srcPath/..")"; - if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then - echo "Removing empty $srcParent/ and (possibly) its parents"; - rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true; - fi; - done; - done -} -patchELF () -{ - - local dir="$1"; - [ -e "$dir" ] || return 0; - echo "shrinking RPATHs of ELF executables and libraries in $dir"; - local i; - while IFS= read -r -d '' i; do - if [[ "$i" =~ .build-id ]]; then - continue; - fi; - if ! isELF "$i"; then - continue; - fi; - echo "shrinking $i"; - patchelf --shrink-rpath "$i" || true; - done < <(find "$dir" -type f -print0) -} -patchPhase () -{ - - runHook prePatch; - local -a patchesArray; - if [ -n "$__structuredAttrs" ]; then - patchesArray=(${patches:+"${patches[@]}"}); - else - patchesArray=(${patches:-}); - fi; - for i in "${patchesArray[@]}"; - do - echo "applying patch $i"; - local uncompress=cat; - case "$i" in - *.gz) - uncompress="gzip -d" - ;; - *.bz2) - uncompress="bzip2 -d" - ;; - *.xz) - uncompress="xz -d" - ;; - *.lzma) - uncompress="lzma -d" - ;; - esac; - local -a flagsArray; - if [ -n "$__structuredAttrs" ]; then - flagsArray=("${patchFlags[@]:--p1}"); - else - flagsArray=(${patchFlags:--p1}); - fi; - $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}"; - done; - runHook postPatch -} -patchShebangs () -{ - - local pathName; - local update; - while [[ $# -gt 0 ]]; do - case "$1" in - --host) - pathName=HOST_PATH; - shift - ;; - --build) - pathName=PATH; - shift - ;; - --update) - update=true; - shift - ;; - --) - shift; - break - ;; - -* | --*) - echo "Unknown option $1 supplied to patchShebangs" 1>&2; - return 1 - ;; - *) - break - ;; - esac; - done; - echo "patching script interpreter paths in $@"; - local f; - local oldPath; - local newPath; - local arg0; - local args; - local oldInterpreterLine; - local newInterpreterLine; - if [[ $# -eq 0 ]]; then - echo "No arguments supplied to patchShebangs" 1>&2; - return 0; - fi; - local f; - while IFS= read -r -d '' f; do - isScript "$f" || continue; - read -r oldInterpreterLine < "$f"; - read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"; - if [[ -z "${pathName:-}" ]]; then - if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then - pathName=HOST_PATH; - else - pathName=PATH; - fi; - fi; - if [[ "$oldPath" == *"/bin/env" ]]; then - if [[ $arg0 == "-S" ]]; then - arg0=${args%% *}; - args=${args#* }; - newPath="$(PATH="${!pathName}" command -v "env" || true)"; - args="-S $(PATH="${!pathName}" command -v "$arg0" || true) $args"; - else - if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then - echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2; - exit 1; - else - newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"; - fi; - fi; - else - if [[ -z $oldPath ]]; then - oldPath="/bin/sh"; - fi; - newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)"; - args="$arg0 $args"; - fi; - newInterpreterLine="$newPath $args"; - newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}}; - if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then - if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then - echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""; - escapedInterpreterLine=${newInterpreterLine//\\/\\\\}; - timestamp=$(stat --printf "%y" "$f"); - sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"; - touch --date "$timestamp" "$f"; - fi; - fi; - done < <(find "$@" -type f -perm -0100 -print0) -} -patchShebangsAuto () -{ - - if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then - if [[ "$output" != out && "$output" = "$outputDev" ]]; then - patchShebangs --build "$prefix"; - else - patchShebangs --host "$prefix"; - fi; - fi -} -prependToVar () -{ - - local -n nameref="$1"; - local useArray type; - if [ -n "$__structuredAttrs" ]; then - useArray=true; - else - useArray=false; - fi; - if declare -p "$1" 2> /dev/null | grep -q '^'; then - type="$(declare -p "$1")"; - if [[ "$type" =~ "declare -A" ]]; then - echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; - return 1; - else - if [[ "$type" =~ "declare -a" ]]; then - useArray=true; - else - useArray=false; - fi; - fi; - fi; - shift; - if $useArray; then - nameref=("$@" ${nameref+"${nameref[@]}"}); - else - nameref="$* ${nameref-}"; - fi -} -printLines () -{ - - (( "$#" > 0 )) || return 0; - printf '%s\n' "$@" -} -printWords () -{ - - (( "$#" > 0 )) || return 0; - printf '%s ' "$@" -} -recordPropagatedDependencies () -{ - - declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated); - declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}"); - local propagatedInputsIndex; - for propagatedInputsIndex in "${!flatVars[@]}"; - do - local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]"; - local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}"; - [[ -n "${!propagatedInputsSlice}" ]] || continue; - mkdir -p "${!outputDev}/nix-support"; - printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile"; - done -} -runHook () -{ - - local hookName="$1"; - shift; - local hooksSlice="${hookName%Hook}Hooks[@]"; - local hook; - for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; - do - _eval "$hook" "$@"; - done; - return 0 -} -runOneHook () -{ - - local hookName="$1"; - shift; - local hooksSlice="${hookName%Hook}Hooks[@]"; - local hook ret=1; - for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"}; - do - if _eval "$hook" "$@"; then - ret=0; - break; - fi; - done; - return "$ret" -} -runPhase () -{ - - local curPhase="$*"; - if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then - return; - fi; - if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then - return; - fi; - if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then - return; - fi; - if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then - return; - fi; - if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then - return; - fi; - if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then - return; - fi; - if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then - return; - fi; - if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then - return; - fi; - if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then - return; - fi; - if [[ -n $NIX_LOG_FD ]]; then - echo "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" >&"$NIX_LOG_FD"; - fi; - showPhaseHeader "$curPhase"; - dumpVars; - local startTime=$(date +"%s"); - eval "${!curPhase:-$curPhase}"; - local endTime=$(date +"%s"); - showPhaseFooter "$curPhase" "$startTime" "$endTime"; - if [ "$curPhase" = unpackPhase ]; then - [ -n "${sourceRoot:-}" ] && chmod +x "${sourceRoot}"; - cd "${sourceRoot:-.}"; - fi -} -showPhaseFooter () -{ - - local phase="$1"; - local startTime="$2"; - local endTime="$3"; - local delta=$(( endTime - startTime )); - (( delta < 30 )) && return; - local H=$((delta/3600)); - local M=$((delta%3600/60)); - local S=$((delta%60)); - echo -n "$phase completed in "; - (( H > 0 )) && echo -n "$H hours "; - (( M > 0 )) && echo -n "$M minutes "; - echo "$S seconds" -} -showPhaseHeader () -{ - - local phase="$1"; - echo "Running phase: $phase" -} -stripDirs () -{ - - local cmd="$1"; - local ranlibCmd="$2"; - local paths="$3"; - local stripFlags="$4"; - local excludeFlags=(); - local pathsNew=; - [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1; - [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1; - local pattern; - if [ -n "${stripExclude:-}" ]; then - for pattern in "${stripExclude[@]}"; - do - excludeFlags+=(-a '!' '(' -name "$pattern" -o -wholename "$prefix/$pattern" ')'); - done; - fi; - local p; - for p in ${paths}; - do - if [ -e "$prefix/$p" ]; then - pathsNew="${pathsNew} $prefix/$p"; - fi; - done; - paths=${pathsNew}; - if [ -n "${paths}" ]; then - echo "stripping (with command $cmd and flags $stripFlags) in $paths"; - local striperr; - striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"; - find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -print0 | xargs -r -0 -n1 -- realpath -z | sort -u -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?; - [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 ); - rm "$striperr"; - find $paths -name '*.a' -type f -exec $ranlibCmd '{}' \; 2> /dev/null; - fi -} -stripHash () -{ - - local strippedName casematchOpt=0; - strippedName="$(basename -- "$1")"; - shopt -q nocasematch && casematchOpt=1; - shopt -u nocasematch; - if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then - echo "${strippedName:33}"; - else - echo "$strippedName"; - fi; - if (( casematchOpt )); then - shopt -s nocasematch; - fi -} -substitute () -{ - - local input="$1"; - local output="$2"; - shift 2; - if [ ! -f "$input" ]; then - echo "substitute(): ERROR: file '$input' does not exist" 1>&2; - return 1; - fi; - local content; - consumeEntire content < "$input"; - if [ -e "$output" ]; then - chmod +w "$output"; - fi; - substituteStream content "file '$input'" "$@" > "$output" -} -substituteAll () -{ - - local input="$1"; - local output="$2"; - local -a args=(); - _allFlags; - substitute "$input" "$output" "${args[@]}" -} -substituteAllInPlace () -{ - - local fileName="$1"; - shift; - substituteAll "$fileName" "$fileName" "$@" -} -substituteAllStream () -{ - - local -a args=(); - _allFlags; - substituteStream "$1" "$2" "${args[@]}" -} -substituteInPlace () -{ - - local -a fileNames=(); - for arg in "$@"; - do - if [[ "$arg" = "--"* ]]; then - break; - fi; - fileNames+=("$arg"); - shift; - done; - for file in "${fileNames[@]}"; - do - substitute "$file" "$file" "$@"; - done -} -substituteStream () -{ - - local var=$1; - local description=$2; - shift 2; - while (( "$#" )); do - case "$1" in - --replace) - pattern="$2"; - replacement="$3"; - shift 3; - local savedvar; - savedvar="${!var}"; - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; - if [ "$pattern" != "$replacement" ]; then - if [ "${!var}" == "$savedvar" ]; then - echo "substituteStream(): WARNING: pattern '$pattern' doesn't match anything in $description" 1>&2; - fi; - fi - ;; - --subst-var) - local varName="$2"; - shift 2; - if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then - echo "substituteStream(): ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; - return 1; - fi; - if [ -z ${!varName+x} ]; then - echo "substituteStream(): ERROR: variable \$$varName is unset" 1>&2; - return 1; - fi; - pattern="@$varName@"; - replacement="${!varName}"; - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' - ;; - --subst-var-by) - pattern="@$2@"; - replacement="$3"; - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; - shift 3 - ;; - *) - echo "substituteStream(): ERROR: Invalid command line argument: $1" 1>&2; - return 1 - ;; - esac; - done; - printf "%s" "${!var}" -} -sysconfigdataHook () -{ - - if [ "$1" = '/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6' ]; then - export _PYTHON_HOST_PLATFORM='linux-x86_64'; - export _PYTHON_SYSCONFIGDATA_NAME='_sysconfigdata__linux_x86_64-linux-gnu'; - fi -} -toPythonPath () -{ - - local paths="$1"; - local result=; - for i in $paths; - do - p="$i/lib/python3.11/site-packages"; - result="${result}${result:+:}$p"; - done; - echo $result -} -unpackFile () -{ - - curSrc="$1"; - echo "unpacking source archive $curSrc"; - if ! runOneHook unpackCmd "$curSrc"; then - echo "do not know how to unpack source archive $curSrc"; - exit 1; - fi -} -unpackPhase () -{ - - runHook preUnpack; - if [ -z "${srcs:-}" ]; then - if [ -z "${src:-}" ]; then - echo 'variable $src or $srcs should point to the source'; - exit 1; - fi; - srcs="$src"; - fi; - local -a srcsArray; - if [ -n "$__structuredAttrs" ]; then - srcsArray=("${srcs[@]}"); - else - srcsArray=($srcs); - fi; - local dirsBefore=""; - for i in *; - do - if [ -d "$i" ]; then - dirsBefore="$dirsBefore $i "; - fi; - done; - for i in "${srcsArray[@]}"; - do - unpackFile "$i"; - done; - : "${sourceRoot=}"; - if [ -n "${setSourceRoot:-}" ]; then - runOneHook setSourceRoot; - else - if [ -z "$sourceRoot" ]; then - for i in *; - do - if [ -d "$i" ]; then - case $dirsBefore in - *\ $i\ *) - - ;; - *) - if [ -n "$sourceRoot" ]; then - echo "unpacker produced multiple directories"; - exit 1; - fi; - sourceRoot="$i" - ;; - esac; - fi; - done; - fi; - fi; - if [ -z "$sourceRoot" ]; then - echo "unpacker appears to have produced no directories"; - exit 1; - fi; - echo "source root is $sourceRoot"; - if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then - chmod -R u+w -- "$sourceRoot"; - fi; - runHook postUnpack -} -updateAutotoolsGnuConfigScriptsPhase () -{ - - if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then - return; - fi; - for script in config.sub config.guess; - do - for f in $(find . -type f -name "$script"); - do - echo "Updating Autotools / GNU config script to a newer upstream version: $f"; - cp -f "/nix/store/y83pz60av31hpr11zlbvc7bb93bk5fkd-gnu-config-2023-09-19/$script" "$f"; - done; - done -} -updateSourceDateEpoch () -{ - - local path="$1"; - local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf '%T@ %p\0' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1)); - local time="${res[0]//\.[0-9]*/}"; - local newestFile="${res[1]}"; - if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then - echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile"; - export SOURCE_DATE_EPOCH="$time"; - local now="$(date +%s)"; - if [ "$time" -gt $((now - 60)) ]; then - echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic"; - fi; - fi -} -PATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}" -XDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}" -export NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)" -export TMP="$NIX_BUILD_TOP" -export TMPDIR="$NIX_BUILD_TOP" -export TEMP="$NIX_BUILD_TOP" -export TEMPDIR="$NIX_BUILD_TOP" -eval "$shellHook" diff --git a/home/dots/qtile/.envrc b/home/dots/qtile/.envrc deleted file mode 100644 index 3550a30..0000000 --- a/home/dots/qtile/.envrc +++ /dev/null @@ -1 +0,0 @@ -use flake diff --git a/home/dots/qtile/autostart.sh b/home/dots/qtile/autostart.sh deleted file mode 100755 index aa20016..0000000 --- a/home/dots/qtile/autostart.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -ckb-next -c -b & -mullvad connect & -xrdb -l ~/.Xresources & -wlr-randr --output HDMI-A-1 --transform 90 -wlr-randr --output DP-1 --pos 1080,450 --adaptive-sync enabled - -# for later.. -# gsettings set org.gnome.desktop.interface gtk-theme '${rice.gtk-theme.name}'";} -# gsettings set org.gnome.desktop.interface font-name '${rice.fonts.sans.name}'";} -# gsettings set org.gnome.desktop.interface icon-theme '${rice.icons.name}'";} - -dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE NIXOS_OZONE_WL -systemctl --user start qtile-session.target diff --git a/home/dots/qtile/config.py b/home/dots/qtile/config.py deleted file mode 100755 index 3d60b1b..0000000 --- a/home/dots/qtile/config.py +++ /dev/null @@ -1,305 +0,0 @@ -#!/usr/bin/env python3 - -from __future__ import annotations - -import importlib -import subprocess -import sys -import os -from typing import List - -from libqtile.log_utils import logger -from libqtile import bar, hook, layout, qtile, utils, widget -from libqtile.backend import base -from libqtile.lazy import lazy -from libqtile.config import Key, Match, Screen, Click, Drag, Group, ScratchPad, DropDown, Screen - -from lib import centre_float, go_to_group, send_to_next_screen - -# from smartfloat import SmartFloat - -# import qtile_extras.widget as extra_widgets - -assert qtile is not None - -from typing import Any -from libqtile.core.manager import Qtile - -from libqtile.backend.wayland import InputConfig - - -wl_input_rules = { - "type:keyboard": InputConfig(kb_options="caps:escape"), - "*": InputConfig(accel_profile="flat", pointer_accel=0.0), -} -mod = "mod4" - - -class Apps: - term = "kitty" - launcher = "fuzzel" - browser = "firefox" - fm = "thunar" - logout = "wlogout" - noti = "swaync-client -t" - ss = "slurp | grim -g - -t png /home/$(whoami)/screenshots/$(date +%F_%H-%m-%S).png" - screenrec = "kooha" - passmgr = "keepassxc" - music = "strawberry" - - -class OSD: - mute = "volumectl %" - vol_up = "volumectl -u up" - vol_down = "volumectl -u down" - next = "playerctl next" - prev = "playerctl previous" - stop = "playerctl stop" - play = "playerctl play-pause" - brightup = "lightctl up" - brightdown = "lightctl down" - - -keys = [ - Key([mod], "return", lazy.spawn(Apps.term)), - Key([mod], "d", lazy.spawn(Apps.launcher)), - Key([mod], "f", lazy.spawn(Apps.browser)), - Key([mod], "e", lazy.spawn(Apps.fm)), - Key([mod], "n", lazy.spawn(Apps.noti)), - Key([mod, "shift"], "s", lazy.spawn(Apps.ss, shell=True)), - Key([mod, "control", "shift"], "s", lazy.spawn(Apps.screenrec)), - Key([], "XF86AudioMute", lazy.spawn(OSD.mute)), - Key([], "XF86AudioRaiseVolume", lazy.spawn(OSD.vol_up)), - Key([], "XF86AudioLowerVolume", lazy.spawn(OSD.vol_down)), - Key([], "XF86AudioStop", lazy.spawn(OSD.stop)), - Key([], "XF86AudioPlay", lazy.spawn(OSD.play)), - Key([], "XF86AudioPrev", lazy.spawn(OSD.prev)), - Key([], "XF86AudioNext", lazy.spawn(OSD.next)), - Key([], "XF86MonBrightnessUp", lazy.spawn(OSD.brightup)), - Key([], "XF86MonBrightnessDown", lazy.spawn(OSD.brightdown)), - Key([mod, "shift"], "q", lazy.window.kill()), - Key([mod], "c", lazy.window.center()), - Key([mod], "s", lazy.layout.toggle_split()), - 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"), - 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"), - 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], "space", lazy.window.toggle_floating()), - Key([mod, "shift"], "space", lazy.window.toggle_fullscreen()), - Key([mod], "Tab", lazy.next_screen()), -] - - -keys.append( - Key([mod, "shift"], "Tab", lazy.function(send_to_next_screen())) -) - -groups = [] -land_groups = "123" -port_groups = "456" -# groups.extend([Group(str(i), screen_affinity=(i+1)%2) for i in range(1,7)]) -groups.extend([Group(i, screen_affinity=1) for i in land_groups]) -groups.extend([Group(i, screen_affinity=0) for i in port_groups]) - -for i in groups: - keys.extend( - [ - # mod1 + letter of group = switch to group - Key( - [mod], - i.name, - lazy.function(go_to_group(land_groups, port_groups, i.name)), - # lazy.group[i.name].toscreen(), - desc="Switch to group {}".format(i.name), - ), - # mod1 + shift + letter of group = move focused window to group - Key( - [mod, "shift"], - i.name, - lazy.window.togroup(i.name), - desc="move focused window to group {}".format(i.name), - ), - ] - ) - -groups.append( - ScratchPad( - "scratch", - [ - DropDown( - "term", - Apps.term, - width=2.0 / 3.0, - height=2.0 / 3.0, - x=1.0 / 6.0, - y=1.0 / 6.0, - ), - DropDown( - "pass", - Apps.passmgr, - width=1.0 / 2.0, - height=2.0 / 3.0, - x=1.0 / 4.0, - y=1.0 / 6.0, - ), - DropDown( - "music", - Apps.music, - width=2.0 / 3.0, - height=2.0 / 3.0, - x=1.0 / 6.0, - y=1.0 / 6.0, - ), - DropDown( - "logout", - Apps.logout, - width=2.0 / 3.0, - height=2.0 / 3.0, - x=1.0 / 6.0, - y=1.0 / 6.0, - ) - ], - ) -) - -keys.extend( - [ - Key([mod], "grave", lazy.group["scratch"].dropdown_toggle("term")), - Key([mod], "minus", lazy.group["scratch"].dropdown_toggle("pass")), - Key([mod], "equal", lazy.group["scratch"].dropdown_toggle("music")), - Key([mod, "shift"], "e", lazy.group["scratch"].dropdown_toggle("logout")), - ] -) - -layout_theme = dict( - margin=#GAPS, - border_width=#BORDERWIDTH, - border_focus=[ "#BORDERCOL", "#BORDERFOCUS", "#BORDERCOL", ], - border_normal=["#BORDERCOL", "#BORDERCOL", "#BORDERCOL", ], -) - -layouts = [ - layout.Bsp(fair=False, margin_on_single=#SINGLE_GAP, border_on_single=True, **layout_theme), - # layout.SmartFloat(**layout_theme), -] - -widget_defaults = dict( - font="#FONTFACE", - fontsize=#FONTSIZE, - background="#BGCOL", - foreground="#FGCOL", -) - -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() - ), -] - -screens = [ - Screen(), - Screen( - top=bar.Bar( - [ - widget.GroupBox(**widget_defaults), - widget.WindowTabs(**widget_defaults), - widget.Spacer(), - widget.CurrentLayout(**widget_defaults), - widget.Volume(**widget_defaults), - widget.Systray(**widget_defaults), - widget.Clock(**widget_defaults), - ], - 16, - ) - ) -] - -dgroups_key_binder = None -dgroups_app_rules: List[str] = [] -follow_mouse_focus = True -bring_front_click = False -cursor_warp = True -focus_on_window_activation = "smart" -auto_fullscreen = True -floats_kept_above = True - -floating_layout = layout.Floating( - float_rules=[ - *layout.Floating.default_float_rules, - ], - **layout_theme, -) - - -@hook.subscribe.startup -def autostart(): - home = os.path.expanduser("~/.config/qtile/autostart.sh") - subprocess.Popen([home]) - - -# window management hooks - -@hook.subscribe.client_new -def float_firefox(client): - wm_class = client.get_wm_class() - if wm_class and "firefox" in wm_class and client.name == "Library": - client.enable_floating() - - -# @hook.subscribe.client_new -# def fullscreen_wlogout(client): -# if client.name == "wlogout": -# client.enable_floating() -# client.bring_to_front() - - -@hook.subscribe.focus_change -def always_front(): - win = qtile.current_window - if win is not None and win.floating: - win.bring_to_front() - - -@hook.subscribe.float_change -def centre_floated(): - win = qtile.current_window - if ( - win is not None - and win.floating - and not win.maximized - and not win.wants_to_fullscreen - and not win.fullscreen - ): - qtile.function(centre_float(win, 1.0/6.0*5.0, 1.0/8.0*7.0)) - -# @hook.subscribe.client_new -# def round_and_transparent(client): -# logger.warning(client) -# logger.warning(type(client)) -# logger.warning(client.rounding) -# logger.warning(client.opacity) -# client.rounding = 8 -# client.opacity = 0.85 diff --git a/home/dots/qtile/flake.lock b/home/dots/qtile/flake.lock deleted file mode 100644 index 181ef41..0000000 --- a/home/dots/qtile/flake.lock +++ /dev/null @@ -1,78 +0,0 @@ -{ - "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1704290814, - "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1704842529, - "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable", - "utils": "utils" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/home/dots/qtile/flake.nix b/home/dots/qtile/flake.nix deleted file mode 100644 index 8021301..0000000 --- a/home/dots/qtile/flake.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - utils.url = "github:numtide/flake-utils"; - }; - - outputs = { - self, - nixpkgs, - nixpkgs-unstable, - utils, - ... - }: - utils.lib.eachDefaultSystem ( - system: let - stable = import nixpkgs {inherit system;}; - unstable = import nixpkgs-unstable {inherit system;}; - in { - devShell = with unstable; - with unstable.python3Packages; - mkShell { - buildInputs = [ - python-lsp-server - mypy - pylsp-mypy - black - pydantic - # coconut - # python3Packages.qtile-extras - python3Packages.qtile - ]; - }; - } - ); -} diff --git a/home/dots/qtile/lib.py b/home/dots/qtile/lib.py deleted file mode 100644 index 3335066..0000000 --- a/home/dots/qtile/lib.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 - - -from __future__ import annotations -from typing import Callable -from libqtile.log_utils import logger -from libqtile.core.manager import Qtile - -def centre_float(win, greater: float, lesser: float) -> Callable: - def _inner(qtile: Qtile) -> None: - win.bring_to_front() - info = qtile.current_screen.info() - width = info["width"] - height = info["height"] - if height > width: - width, height = (width*lesser, height*greater) - else: - width, height = (width*greater, height*lesser) - win.set_size_floating(int(width), int(height)) - win.center() - return _inner - - -def go_to_group(land_groups: str, port_groups: str, name: str) -> Callable: - def _inner(qtile: Qtile) -> None: - if len(qtile.screens) == 1: - qtile.groups_map[name].toscreen() - return - if name in land_groups: - qtile.focus_screen(1) - qtile.groups_map[name].toscreen() - elif name in port_groups: - qtile.focus_screen(0) - qtile.groups_map[name].toscreen() - - return _inner - - -def send_to_next_screen() -> Callable: - def _inner(qtile: Qtile) -> None: - win = qtile.current_window - if win is not None: - screen_to_send = (qtile.current_screen.index+1)%len(qtile.get_screens()) - win.toscreen(screen_to_send) - qtile.focus_screen(screen_to_send) - if ( - win.floating - and not win.maximized - and not win.wants_to_fullscreen - and not win.fullscreen - ): - qtile.function(centre_float(win, 1.0/6.0*5.0, 1.0/8.0*7.0)) - return _inner diff --git a/home/dots/river/init b/home/dots/river/init deleted file mode 100755 index e35e68e..0000000 --- a/home/dots/river/init +++ /dev/null @@ -1,166 +0,0 @@ -#!/bin/sh - -# This is the example configuration file for river. -# -# If you wish to edit this, you will probably want to copy it to -# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first. -# -# See the river(1), riverctl(1), and kile(1) man pages for complete -# documentation. - -# Note: the "Super" modifier is also known as Logo, GUI, Windows, Mod4, etc. - -# MY BINDS - -riverctl map normal Super Return spawn kitty -riverctl map normal Super D spawn fuzzel -riverctl map normal Super E spawn thunar -riverctl map normal Super F spawn firefox -riverctl map normal Super+Shift E spawn wlogout -riverctl map normal Super+Shift S spawn grim -g "$(slurp)" -t png -o ~/Pictures/$(date +%F_%H-%m-%S).png && notify-send "Screenshot taken." -riverctl map normal Super+Shift+Ctrl S spawn kooha - -# Super+Q to close the focused view -riverctl map normal Super+Shift Q close - -# Super+J and Super+K to focus the next/previous view in the layout stack -riverctl map normal Super J focus-view next -riverctl map normal Super K focus-view previous - -# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous -# view in the layout stack -riverctl map normal Super+Shift J swap next -riverctl map normal Super+Shift K swap previous - -# Super+Period and Super+Comma to focus the next/previous output -riverctl map normal Super Period focus-output next -riverctl map normal Super Comma focus-output previous - -# Super+Shift+{Period,Comma} to send the focused view to the next/previous output -riverctl map normal Super+Shift Period send-to-output next -riverctl map normal Super+Shift Comma send-to-output previous - -# Super+Return to bump the focused view to the top of the layout stack -riverctl map normal Super+Shift Return zoom - -# Super+H and Super+L to decrease/increase the main ratio of kile(1) -riverctl map normal Super H send-layout-cmd kile "main-ratio -0.05" -riverctl map normal Super L send-layout-cmd kile "main-ratio +0.05" - -# Super+Shift+H and Super+Shift+L to increment/decrement the main count of kile(1) -riverctl map normal Super+Shift H send-layout-cmd kile "main-count +1" -riverctl map normal Super+Shift L send-layout-cmd kile "main-count -1" - -# Super+Alt+{H,J,K,L} to move views -riverctl map normal Super+Alt H move left 100 -riverctl map normal Super+Alt J move down 100 -riverctl map normal Super+Alt K move up 100 -riverctl map normal Super+Alt L move right 100 - -# Super+Alt+Control+{H,J,K,L} to snap views to screen edges -riverctl map normal Super+Alt+Control H snap left -riverctl map normal Super+Alt+Control J snap down -riverctl map normal Super+Alt+Control K snap up -riverctl map normal Super+Alt+Control L snap right - -# Super+Alt+Shift+{H,J,K,L} to resize views -riverctl map normal Super+Alt+Shift H resize horizontal -100 -riverctl map normal Super+Alt+Shift J resize vertical 100 -riverctl map normal Super+Alt+Shift K resize vertical -100 -riverctl map normal Super+Alt+Shift L resize horizontal 100 - -# Super + Left Mouse Button to move views -riverctl map-pointer normal Super BTN_LEFT move-view - -# Super + Right Mouse Button to resize views -riverctl map-pointer normal Super BTN_RIGHT resize-view - -# Super + Middle Mouse Button to toggle float -riverctl map-pointer normal Super BTN_MIDDLE toggle-float - -for i in $(seq 1 9) -do - tags=$((1 << ($i - 1))) - - # Super+[1-9] to focus tag [0-8] - riverctl map normal Super $i set-focused-tags $tags - - # Super+Shift+[1-9] to tag focused view with tag [0-8] - riverctl map normal Super+Shift $i set-view-tags $tags - - # Super+Control+[1-9] to toggle focus of tag [0-8] - riverctl map normal Super+Control $i toggle-focused-tags $tags - - # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view - riverctl map normal Super+Shift+Control $i toggle-view-tags $tags -done - -# Super+0 to focus all tags -# Super+Shift+0 to tag focused view with all tags -all_tags=$(((1 << 32) - 1)) -riverctl map normal Super 0 set-focused-tags $all_tags -riverctl map normal Super+Shift 0 set-view-tags $all_tags - -# Super+Space to toggle float -riverctl map normal Super Space toggle-float - -# Super+F to toggle fullscreen -riverctl map normal Super+Shift Space toggle-fullscreen - -# Super+{Up,Right,Down,Left} to change layout orientation -riverctl map normal Super Up send-layout-cmd kile "main-location top" -riverctl map normal Super Right send-layout-cmd kile "main-location right" -riverctl map normal Super Down send-layout-cmd kile "main-location bottom" -riverctl map normal Super Left send-layout-cmd kile "main-location left" - -# Declare a passthrough mode. This mode has only a single mapping to return to -# normal mode. This makes it useful for testing a nested wayland compositor -riverctl declare-mode passthrough - -# Super+F11 to enter passthrough mode -riverctl map normal Super F11 enter-mode passthrough - -# Super+F11 to return to normal mode -riverctl map passthrough Super F11 enter-mode normal - -# Various media key mapping examples for both normal and locked mode which do -# not have a modifier -for mode in normal locked -do - # Eject the optical drive (well if you still have one that is) - riverctl map $mode None XF86Eject spawn 'eject -T' - - # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) - riverctl map $mode None XF86AudioRaiseVolume spawn 'swayosd --output-volume raise' - riverctl map $mode None XF86AudioLowerVolume spawn 'swayosd --output-volume lower' - riverctl map $mode None XF86AudioMute spawn 'swayosd --output-volume mute-toggle' - - # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) - riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause' - riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause' - riverctl map $mode None XF86AudioPrev spawn 'playerctl previous' - riverctl map $mode None XF86AudioNext spawn 'playerctl next' - - # Control screen backlight brightness with light (https://github.com/haikarainen/light) - riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5' - riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5' -done - -# Set background and border color -riverctl background-color 0x#BGCOLOUR -riverctl border-color-focused 0x#BORDERCOLOUR -riverctl border-color-unfocused 0x#UNFOCUSEDCOLOUR - -# Set keyboard repeat rate -riverctl set-repeat 50 300 - -# Make all views with an app-id that starts with "float" and title "foo" start floating. -# riverctl rule-add float -app-id 'float*' -title 'foo' - -# Make all views with app-id "bar" and any title use client-side decorations -# riverctl rule-add csd -app-id "bar" - -# Set the default layout generator to be kile and start it. -# River will send the process group of the init executable SIGTERM on exit. -riverctl default-layout kile -kile & diff --git a/home/dots/river/layout.kl b/home/dots/river/layout.kl deleted file mode 100644 index 199ee01..0000000 --- a/home/dots/river/layout.kl +++ /dev/null @@ -1,7 +0,0 @@ -const ver Vertical -const hor Horizontal - -const vsplit (ver | hor ([1 - 0.5] *hsplit)) -const hsplit (hor | ver ([1 - 0.5] *vsplit)) - -const default vsplit diff --git a/home/dots/swaync/config.json b/home/dots/swaync/config.json deleted file mode 100644 index 5ce7f30..0000000 --- a/home/dots/swaync/config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "$schema": "~/.config/swaync/configSchema.json", - - "positionX": "center", - "positionY": "bottom", - "control-center-positionX": "none", - "control-center-positionY": "top", - "control-center-margin-top": 8, - "control-center-margin-bottom": 8, - "control-center-margin-right": 8, - "control-center-margin-left": 8, - "control-center-width": 600, - "control-center-height": 400, - "fit-to-screen": false, - - "layer": "overlay", - "cssPriority": "user", - "notification-icon-size": 64, - "notification-body-image-height": 100, - "notification-body-image-width": 200, - "timeout": 6, - "timeout-low": 6, - "timeout-critical": 0, - "notification-window-width": 400, - "keyboard-shortcuts": true, - "image-visibility": "when-available", - "transition-time": 200, - "hide-on-clear": true, - "hide-on-action": true, - "script-fail-notify": true, - - "widgets": [ - "inhibitors", - "title", - "dnd", - "mpris", - "notifications" - ], - "widget-config": { - "inhibitors": { - "text": "Inhibitors", - "button-text": "Clear All", - "clear-all-button": true - }, - "title": { - "text": "Notifications", - "clear-all-button": false, - "button-text": "Clear All" - }, - "dnd": { - "text": "Do Not Disturb" - }, - "label": { - "max-lines": 5, - "text": "Label Text" - }, - "mpris": { - "image-size": 96, - "image-radius": 0 - } - } -} diff --git a/home/dots/swaync/configSchema.json b/home/dots/swaync/configSchema.json deleted file mode 100644 index 6308a47..0000000 --- a/home/dots/swaync/configSchema.json +++ /dev/null @@ -1,523 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "SwayNotificationCenter JSON schema", - "type": "object", - "additionalProperties": false, - "properties": { - "$schema": { - "type": "string", - "description": "Pointer to the schema against which this document should be validated." - }, - "positionX": { - "type": "string", - "description": "Horizontal position of control center and notification window", - "default": "right", - "enum": ["right", "left", "center"] - }, - "layer": { - "type": "string", - "description": "Layer of control center window", - "default": "top", - "enum": ["background", "bottom", "top", "overlay"] - }, - "cssPriority": { - "type": "string", - "description": "Which GTK priority to use when loading the default and user CSS files. Pick \"user\" to override XDG_CONFIG_HOME/gtk-3.0/gtk.css", - "default": "application", - "enum": ["application", "user"] - }, - "positionY": { - "type": "string", - "description": "Vertical position of control center and notification window", - "default": "top", - "enum": ["top", "bottom"] - }, - "control-center-positionX": { - "type": "string", - "description": "Optional: Horizontal position of the control center. Supersedes positionX if not set to `none`", - "default": "none", - "enum": ["right", "left", "center", "none"] - }, - "control-center-positionY": { - "type": "string", - "description": "Optional: Vertical position of the control center. Supersedes positionY if not set to `none`", - "default": "none", - "enum": ["top", "bottom", "none"] - }, - "control-center-margin-top": { - "type": "integer", - "description": "The margin (in pixels) at the top of the notification center. 0 to disable", - "default": 0 - }, - "control-center-margin-bottom": { - "type": "integer", - "description": "The margin (in pixels) at the bottom of the notification center. 0 to disable", - "default": 0 - }, - "control-center-margin-right": { - "type": "integer", - "description": "The margin (in pixels) at the right of the notification center. 0 to disable", - "default": 0 - }, - "control-center-margin-left": { - "type": "integer", - "description": "The margin (in pixels) at the left of the notification center. 0 to disable", - "default": 0 - }, - "notification-icon-size": { - "type": "integer", - "description": "The notification icon size (in pixels)", - "default": 64, - "minimum": 16 - }, - "notification-body-image-height": { - "type": "integer", - "description": "The notification body image height (in pixels)", - "default": 100, - "minimum": 100 - }, - "notification-body-image-width": { - "type": "integer", - "description": "The notification body image width (in pixels)", - "default": 200, - "minimum": 200 - }, - "timeout": { - "type": "integer", - "description": "The notification timeout for notifications with normal priority", - "default": 10 - }, - "timeout-low": { - "type": "integer", - "description": "The notification timeout for notifications with low priority", - "default": 5 - }, - "timeout-critical": { - "type": "integer", - "description": "The notification timeout for notifications with critical priority. 0 to disable", - "default": 0 - }, - "notification-window-width": { - "type": "integer", - "description": "Width of the notification in pixels", - "default": 500 - }, - "fit-to-screen": { - "type": "boolean", - "description": "If the control center should expand to both edges of the screen", - "default": true - }, - "control-center-height": { - "type": "integer", - "description": "Height of the control center in pixels. Ignored when 'fit-to-screen' is set to 'true'", - "default": 600, - "minimum": 300 - }, - "control-center-width": { - "type": "integer", - "description": "Width of the control center in pixels", - "default": 500, - "minimum": 300 - }, - "keyboard-shortcuts": { - "type": "boolean", - "description": "If control center should use keyboard shortcuts", - "default": true - }, - "image-visibility": { - "type": "string", - "description": "An explanation about the purpose of this instance.", - "default": "when-available", - "enum": ["always", "when-available", "never"] - }, - "transition-time": { - "type": "integer", - "description": "The notification animation duration. 0 to disable", - "default": 200 - }, - "hide-on-clear": { - "type": "boolean", - "description": "Hides the control center after pressing \"Clear All\"", - "default": false - }, - "hide-on-action": { - "type": "boolean", - "description": "Hides the control center when clicking on notification action", - "default": true - }, - "script-fail-notify": { - "type": "boolean", - "description": "Sends a notification if a script fails to run", - "default": true - }, - "scripts": { - "type": "object", - "description": "Which scripts to check and potentially run for every notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for exec) use regex. If all properties match the given notification, the script will be run. Only the first matching script will be run.", - "minProperties": 1, - "additionalProperties": false, - "patternProperties": { - "^.{1,}$": { - "type": "object", - "description": "Your script object.", - "required": ["exec"], - "minProperties": 2, - "additionalProperties": false, - "properties": { - "exec": { - "type": "string", - "description": "The script to run. Can also run regular shell commands." - }, - "app-name": { - "type": "string", - "description": "The app-name. Uses Regex." - }, - "desktop-entry": { - "type": "string", - "description": "The desktop-entry. Uses Regex." - }, - "summary": { - "type": "string", - "description": "The summary of the notification. Uses Regex." - }, - "body": { - "type": "string", - "description": "The body of the notification. Uses Regex." - }, - "urgency": { - "type": "string", - "description": "The urgency of the notification.", - "default": "Normal", - "enum": ["Low", "Normal", "Critical"] - }, - "category": { - "type": "string", - "description": "Which category the notification belongs to. Uses Regex." - }, - "run-on": { - "type": "string", - "description": "Whether to run the script on an action being activated, or when the notification is received.", - "enum": ["action", "receive"], - "default": "receive" - } - } - } - } - }, - "notification-visibility": { - "type": "object", - "description": "Set the visibility of each incoming notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for state) use regex. If all properties match the given notification, the notification will be follow the provided state. Only the first matching object will be used.", - "minProperties": 1, - "additionalProperties": false, - "patternProperties": { - "^.{1,}$": { - "type": "object", - "description": "Your script object.", - "required": ["state"], - "minProperties": 2, - "additionalProperties": false, - "properties": { - "state": { - "type": "string", - "description": "The notification visibility state.", - "default": "enabled", - "enum": ["ignored", "muted", "enabled", "transient"] - }, - "app-name": { - "type": "string", - "description": "The app-name. Uses Regex." - }, - "desktop-entry": { - "type": "string", - "description": "The desktop-entry. Uses Regex." - }, - "summary": { - "type": "string", - "description": "The summary of the notification. Uses Regex." - }, - "body": { - "type": "string", - "description": "The body of the notification. Uses Regex." - }, - "urgency": { - "type": "string", - "description": "The urgency of the notification.", - "default": "Normal", - "enum": ["Low", "Normal", "Critical"] - }, - "override-urgency": { - "type": "string", - "description": "The new urgency of the notification (optional)", - "default": "unset", - "enum": ["unset", "low", "normal", "critical"] - }, - "category": { - "type": "string", - "description": "Which category the notification belongs to. Uses Regex." - } - } - } - } - }, - "widgets": { - "type": "array", - "description": "Which order and which widgets to display. If the \"notifications\" widget isn't specified, it will be placed at the bottom.", - "default": ["inhibitors", "title", "dnd", "notifications"], - "items": { - "type": "string", - // Sadly can't use regex and enums at the same time. Fix in the future? - "pattern": "^[a-zA-Z0-9_-]{1,}(#[a-zA-Z0-9_-]{1,}){0,1}?$" - } - }, - "widget-config": { - "type": "object", - "description": "Configure specific widget properties.", - "additionalProperties": false, - "patternProperties": { - // New widgets go here - "^title(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - // References the widget structure from "widgets" below - "$ref": "#/widgets/title" - }, - "^dnd(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/dnd" - }, - "^label(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/label" - }, - "^mpris(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/mpris" - }, - "^buttons-grid(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/buttons-grid" - }, - "^menubar(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/menubar" - }, - "^volume(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/volume" - }, - "^backlight(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "$ref": "#/widgets/backlight" - }, - "^inhibitors(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - // References the widget structure from "widgets" below - "$ref": "#/widgets/inhibitors" - } - } - } - }, - "widgets": { - // New widgets go here - "title": { - "type": "object", - "description": "Control Center Title Widget", - "additionalProperties": false, - "properties": { - "text": { - "type": "string", - "description": "The title of the widget", - "default": "Notifications" - }, - "clear-all-button": { - "type": "boolean", - "description": "Wether to display a \"Clear All\" button", - "default": true - }, - "button-text": { - "type": "string", - "description": "\"Clear All\" button text", - "default": "Clear All" - } - } - }, - "dnd": { - "type": "object", - "description": "Control Center Do Not Disturb Widget", - "additionalProperties": false, - "properties": { - "text": { - "type": "string", - "description": "The title of the widget", - "default": "Do Not Disturb" - } - } - }, - "label": { - "type": "object", - "description": "A generic widget that allows the user to add custom text", - "additionalProperties": false, - "properties": { - "text": { - "type": "string", - "description": "The text content of the widget", - "default": "Label Text" - }, - "max-lines": { - "type": "integer", - "description": "The maximum lines", - "default": 5 - } - } - }, - "mpris": { - "type": "object", - "description": "A widget that displays multiple music players", - "additionalProperties": false, - "properties": { - "image-size": { - "type": "integer", - "description": "The size of the album art", - "default": 96 - }, - "image-radius": { - "type": "integer", - "description": "The border radius of the album art", - "default": 12 - } - } - }, - "buttons-grid": { - "type": "object", - "description": "A widget to add a grid of buttons that execute shell commands", - "additionalProperties": false, - "properties": { - "actions": { - "type": "array", - "description": "A list of actions containing a label and a command", - "items": { - "type": "object", - "properties": { - "label": { - "type": "string", - "description": "Text to be displayed in button", - "default": "label" - }, - "command": { - "type": "string", - "description": "Command to be executed on click", - "default": "" - } - } - } - } - } - }, - "menubar": { - "type": "object", - "description": "A bar that contains action-buttons and buttons to open a dropdown with action-buttons", - "additionalProperties": false, - "patternProperties": { - "^menu(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "type": "object", - "description": "A button that opens a dropdown with action-buttons", - "additionalProperties": false, - "properties": { - "label": { - "type": "string", - "description": "Text to be displayed in button", - "default": "Menu" - }, - "position": { - "type": "string", - "description": "Horizontal position of the button in the bar", - "default": "right", - "enum": ["right", "left"] - }, - "animation_type": { - "type": "string", - "default": "slide_down", - "description": "Animation type for menu", - "enum": ["slide_down", "slide_up", "none"] - }, - "animation_duration":{ - "type": "integer", - "default": 250, - "description": "Duration of animation in milliseconds" - }, - "actions": { - "$ref" : "#/widgets/buttons-grid/properties/actions" - } - } - }, - "^buttons(#[a-zA-Z0-9_-]{1,}){0,1}?$": { - "type": "object", - "description": "A list of action-buttons to be displayed in the topbar", - "additionalProperties": false, - "properties": { - "position": { - "type": "string", - "description": "Horizontal position of the button in the bar", - "default": "right", - "enum": ["right", "left"] - }, - "actions": { - "$ref" : "#/widgets/buttons-grid/properties/actions" - } - } - } - } - }, - "volume": { - "type": "object", - "description": "Slider to control pulse volume", - "additionalProperties": false, - "properties": { - "label": { - "type": "string", - "description": "Text displayed in front of the volume slider", - "default": "Volume" - } - } - }, - "backlight": { - "type": "object", - "description": "Slider to control monitor brightness", - "additionalProperties": false, - "properties": { - "label": { - "type": "string", - "description": "Text displayed in front of the backlight slider", - "default": "Brightness" - }, - "device": { - "type": "string", - "description": "Name of monitor (find possible devices using `ls /sys/class/backlight` or `ls /sys/class/leds`)", - "default": "intel_backlight" - }, - "subsystem": { - "type": "string", - "description": "Kernel subsystem for brightness control", - "default": "backlight", - "enum": ["backlight", "leds"] - }, - "min": { - "type": "integer", - "default": 0, - "description": "Lowest possible value for brightness" - } - } - }, - "inhibitors": { - "type": "object", - "description": "Control Center Inhibitors Widget", - "additionalProperties": false, - "properties": { - "text": { - "type": "string", - "description": "The title of the widget", - "default": "Inhibitors" - }, - "clear-all-button": { - "type": "boolean", - "description": "Wether to display a \"Clear All\" button", - "default": true - }, - "button-text": { - "type": "string", - "description": "\"Clear All\" button text", - "default": "Clear All" - } - } - } - } -} diff --git a/home/dots/swaync/style.css b/home/dots/swaync/style.css deleted file mode 100644 index 53761e2..0000000 --- a/home/dots/swaync/style.css +++ /dev/null @@ -1,348 +0,0 @@ -/* - * vim: ft=less - */ - -@define-color cc-bg #PANELBG; - -@define-color noti-border-color #COLBORDER; -@define-color noti-bg #NOTIBGNORM; -@define-color noti-bg-hover #NOTIBGHOVER; -@define-color noti-bg-focus #NOTIBGFOCUS; -@define-color noti-close-bg #NOTIBGCLOSE; -@define-color noti-close-bg-hover #NOTIBGHVERCLOSE; - -@define-color bg-selected #BGSELECTED; - -* { - font-family: "#FONT", sans-serif; -} - -.notification-row { - transition: all 200ms ease; - outline: none; - margin-bottom: 4px; - border-radius: #ROUNDINGpx; -} - -.control-center .notification-row:focus, -.control-center .notification-row:hover { - opacity: 1; - background: transparent; -} - -.notification-row:focus .notification, -.notification-row:hover .notification { - // box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.5); - // box-shadow: 0px 0px 0px 3px @bg-selected; -} - -.control-center .notification { - box-shadow: none; -} - -.control-center .notification-row { - opacity: 0.5; -} - -.notification { - transition: all 200ms ease; - border-radius: #ROUNDINGpx; - margin: 6px 6px; - // box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.5); - padding: 0; -} - -/* Uncomment to enable specific urgency colors -.low { - background: yellow; - padding: 6px; - border-radius: 24px; -} - -.normal { - background: green; - padding: 6px; - border-radius: 24px; -} - -.critical { - background: red; - padding: 6px; - border-radius: 24px; -} -*/ - -.notification-content { - background: transparent; - padding: 6px; - border-radius: #ROUNDINGpx; -} - -.close-button { - background: @noti-close-bg; - color: white; - text-shadow: none; - padding: 0; - border-radius: 100%; - margin-top: 10px; - margin-right: 10px; - box-shadow: none; - border: none; - min-width: 24px; - min-height: 24px; -} - -.close-button:hover { - box-shadow: none; - background: @noti-close-bg-hover; - transition: all 0.15s ease-in-out; - border: none; -} - -.notification-default-action, -.notification-action { - padding: 4px; - margin: 0; - box-shadow: none; - background: @noti-bg; - border: #BORDERpx solid @noti-border-color; - color: white; - transition: all 200ms ease; -} - -.notification-default-action:hover, -.notification-action:hover { - -gtk-icon-effect: none; - background: @noti-bg-hover; -} - -.notification-default-action { - border-radius: #ROUNDINGpx; -} - -/* When alternative actions are visible */ -.notification-default-action:not(:only-child) { - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; -} - -.notification-action { - border-radius: #ROUNDINGpx; - border-top: none; - border-right: none; -} - -/* add bottom border radius to eliminate clipping */ -.notification-action:first-child { - border-bottom-left-radius: #ROUNDINGpx; -} - -.notification-action:last-child { - border-bottom-right-radius: #ROUNDINGpx; - border-right: #BORDERpx solid @noti-border-color; -} - -.image { -} - -.body-image { - margin-top: 6px; - background-color: white; - border-radius: #ROUNDINGpx; -} - -.summary { - font-size: 16px; - font-weight: bold; - background: transparent; - color: white; - text-shadow: none; -} - -.time { - font-size: 16px; - font-weight: bold; - background: transparent; - color: white; - text-shadow: none; - margin-right: 18px; -} - -.body { - font-size: 15px; - font-weight: normal; - background: transparent; - color: white; - text-shadow: none; -} - -.control-center { - background: @cc-bg; - border-radius: #ROUNDINGpx; - background-clip: border-box; - padding: 4px; - // box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7), - // 0 2px 6px 2px rgba(0, 0, 0, 0.3); -} - -.control-center-list { - background: transparent; -} - -.control-center-list-placeholder { - opacity: 0.5; -} - -.floating-notifications { - background: transparent; -} - -/* Window behind control center and on all other monitors */ -.blank-window { - background: transparent; -} - -/*** Widgets ***/ - -/* Title widget */ -.widget-title { - margin: 8px; - font-size: 1.3rem; -} -.widget-title > button { - font-size: initial; - color: white; - text-shadow: none; - background: @noti-bg; - border: #BORDERpx solid @noti-border-color; - box-shadow: none; - border-radius: #ROUNDINGpx; -} -.widget-title > button:hover { - background: @noti-bg-hover; -} - -/* DND widget */ -.widget-dnd { - margin: 8px; - font-size: 1.1rem; -} -.widget-dnd > switch { - font-size: initial; - border-radius: #ROUNDINGpx; - background: @noti-bg; - border: #BORDERpx solid @noti-border-color; - box-shadow: none; -} -.widget-dnd > switch:checked { - background: @bg-selected; -} -.widget-dnd > switch slider { - background: @noti-bg-hover; - border-radius: #ROUNDINGpx; -} - -/* Label widget */ -.widget-label { - margin: 8px; -} -.widget-label > label { - font-size: 1.1rem; -} - -/* Mpris widget */ -.widget-mpris { - /* The parent to all players */ -} -.widget-mpris-player { - padding: 8px; - margin: 8px; - background-color: @noti-bg; - border-radius: #ROUNDINGpx; -} -.widget-mpris-title { - font-weight: bold; - font-size: 1.25rem; -} -.widget-mpris-subtitle { - font-size: 1.1rem; -} - -/* Buttons widget */ -.widget-buttons-grid { - padding: 8px; - margin: 8px; - border-radius: #ROUNDINGpx; - background-color: @noti-bg; -} - -.widget-buttons-grid>flowbox>flowboxchild>button{ - background: @noti-bg; - border-radius: #ROUNDINGpx; -} - -.widget-buttons-grid>flowbox>flowboxchild>button:hover { - background: @noti-bg-hover; -} - -/* Menubar widget */ -.widget-menubar>box>.menu-button-bar>button { - border: none; - background: transparent; -} - -/* .AnyName { Name defined in config after # - background-color: @noti-bg; - padding: 8px; - margin: 8px; - border-radius: 24px; -} - -.AnyName>button { - background: transparent; - border: none; -} - -.AnyName>button:hover { - background-color: @noti-bg-hover; -} */ - -.topbar-buttons>button { /* Name defined in config after # */ - border: none; - background: transparent; -} - -/* Volume widget */ - -.widget-volume { - background-color: @noti-bg; - padding: 8px; - margin: 8px; - border-radius: #ROUNDINGpx; -} - -/* Backlight widget */ -.widget-backlight { - background-color: @noti-bg; - padding: 8px; - margin: 8px; - border-radius: #ROUNDINGpx; -} - -/* Title widget */ -.widget-inhibitors { - margin: 8px; - font-size: 1.5rem; -} -.widget-inhibitors > button { - font-size: initial; - color: white; - text-shadow: none; - background: @noti-bg; - border: #BORDERpx solid @noti-border-color; - box-shadow: none; - border-radius: #ROUNDINGpx; -} -.widget-inhibitors > button:hover { - background: @noti-bg-hover; -} diff --git a/home/dots/xonshrc b/home/dots/xonshrc deleted file mode 100644 index f04ab3a..0000000 --- a/home/dots/xonshrc +++ /dev/null @@ -1,83 +0,0 @@ -# nix fix -import sys -import os.path -if os.path.exists(f"{$HOME}/.nix-profile") and not __xonsh__.env.get("NIX_PATH"): - $NIX_REMOTE="daemon" - $NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/" + $USER - $NIX_PROFILES="/nix/var/nix/profiles/default " + $HOME + "/.nix-profile" - $NIX_SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" - $NIX_PATH="nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels" - $PATH += [f"{$HOME}/.nix-profile/bin", "/nix/var/nix/profiles/default/bin"] - - -new_paths = [#NEWPATHS] -# new_paths = new_paths + list(map(lambda s: str(s.resolve()), p"~/.local/lib/".glob("python*/site-packages"))) -for p in new_paths: - if p not in sys.path: - sys.path.append(p) - $PYTHONPATH.append(p) - -# prompt -execx($(/run/current-system/sw/bin/starship init xonsh --print-full-init)) - -# zjump -execx($(zoxide init xonsh), 'exec', __xonsh__.ctx, filename='zoxide') - -# envs -$AUTO_CONTINUE = True -$AUTO_CD = True -$DOTGLOB = True -$GLOB_SORTED = True -$INDENT = ' ' -$AUTO_SUGGEST = True -$AUTO_SUGGEST_IN_COMPLETIONS = True -$VI_MODE = True -$XONSH_AUTOPAIR = True -$XONSH_COPY_ON_DELETE = True -$ALIAS_COMPLETIONS_OPTIONS_BY_DEFAULT = True -$CASE_SENSITIVE_COMPLETIONS = False -$COMPLETIONS_BRACKETS = True -$COMPLETION_IN_THREAD = True - -# aliases -def la_alias(dir=""): - exa -lha --icons --group-directories-first --color=always @(dir) | do_culr - -def l_alias(dir=""): - exa -lh --icons --group-directories-first --color=always @(dir) | do_culr - -def p_alias(opts=""): - ps ww @(opts) | do_culr - -def mnt_alias(): - mount | column -t | do_culr -def fresh_alias(): - clear - echo - ~/.nix/header.sh - -aliases["fresh"] = fresh_alias -aliases["icat"] = [ "kitty", "+kitten", "icat" ] -aliases["chmox"] = [ "chmod", "+x" ] -aliases["gs"] = [ "git", "status" ] -aliases["gcl"] = [ "git", "clone" ] -aliases["ga"] = [ "git", "add" ] -aliases["gcb"] = [ "git", "checkout", "-b" ] -aliases["gco"] = [ "git", "checkout" ] -aliases["gl"] = [ "git", "pull" ] -aliases["gp"] = [ "git", "push" ] -aliases["gd"] = [ "git", "diff" ] -aliases["gcam"] = [ "git", "commit", "-am" ] -aliases["gcm"] = [ "git", "commit", "-m" ] -aliases["gr"] = [ "git", "restore" ] -aliases["gm"] = [ "git", "merge" ] -aliases["p"] = p_alias -aliases["l"] = l_alias -aliases["la"] = la_alias -aliases["mnt"] = mnt_alias -aliases["zz"] = [ "z", "$(xplr)" ] -aliases["do_culr"] = [ "culr", "-t", "80", "-o", "roygbiv-split" ] -# alias kaboom='printf "type any input if you wish to update\n\npress enter to continue\n"; read upgrade; if [ -n "$upgrade" ]; then echo upgrading..; sudo nix-channel --update; else echo no upgrade!; fi; sudo nixos-rebuild switch -j9 && rm ~/.gtkrc-2.0; home-manager switch && sudo nix-collect-garbage && nix-store --optimise' - -# greet -fresh diff --git a/home/dots/xonshrc.py b/home/dots/xonshrc.py deleted file mode 100644 index 6853c79..0000000 --- a/home/dots/xonshrc.py +++ /dev/null @@ -1,63 +0,0 @@ -# nix fix -import os.path -if os.path.exists(f"{$HOME}/.nix-profile") and not __xonsh__.env.get("NIX_PATH"): - $NIX_REMOTE="daemon" - $NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/" + $USER - $NIX_PROFILES="/nix/var/nix/profiles/default " + $HOME + "/.nix-profile" - $NIX_SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" - $NIX_PATH="nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels" - $PATH += [f"{$HOME}/.nix-profile/bin", "/nix/var/nix/profiles/default/bin"] - -# prompt -execx($(/run/current-system/sw/bin/starship init xonsh --print-full-init)) - -# envs -$AUTO_CONTINUE = True -$AUTO_CD = True -$DOTGLOB = True -$GLOB_SORTED = True -$INDENT = ' ' -$AUTO_SUGGEST = True -$AUTO_SUGGEST_IN_COMPLETIONS = True -$VI_MODE = True -$XONSH_AUTOPAIR = True -$XONSH_COPY_ON_DELETE = True -$ALIAS_COMPLETIONS_OPTIONS_BY_DEFAULT = True -$CASE_SENSITIVE_COMPLETIONS = False -$COMPLETIONS_BRACKETS = True -$COMPLETION_IN_THREAD = True - -# aliases -def la_culr(dir=""): - exa -lha --icons --group-directories-first --color=always @(dir) | culr -t 80 -o roygbiv-split - -def ls_culr(dir=""): - exa -lh --icons --group-directories-first --color=always @(dir) | culr -t 80 -o roygbiv-split - -def ps_culr(opts=""): - ps ww @(opts) | culr -t 80 -o roygbiv-split - -aliases["fresh"] = [ "clear;", "echo;", "~/.nix/header.sh" ] -aliases["icat"] = [ "kitty", "+kitten", "icat" ] -aliases["chmox"] = [ "chmod", "+x" ] -aliases["gs"] = [ "git", "status" ] -aliases["gcl"] = [ "git", "clone" ] -aliases["ga"] = [ "git", "add" ] -aliases["gcb"] = [ "git", "checkout", "-b" ] -aliases["gco"] = [ "git", "checkout" ] -aliases["gl"] = [ "git", "pull" ] -aliases["gp"] = [ "git", "push" ] -aliases["gd"] = [ "git", "diff" ] -aliases["gcam"] = [ "git", "commit", "-am" ] -aliases["gcm"] = [ "git", "commit", "-m" ] -aliases["gr"] = [ "git", "restore" ] -aliases["gm"] = [ "git", "merge" ] -aliases["l"] = [ "ls_culr" ] -aliases["la"] = [ "la_culr" ] -aliases["p"] = [ "ps_culr" ] -aliases["mnt"] = [ "mount", "|", "column", "-t", "|", "culr", "-t", "80", "-o", "roygbiv-split" ] -aliases["zz"] = [ "z", "$(xplr)" ] -# alias kaboom='printf "type any input if you wish to update\n\npress enter to continue\n"; read upgrade; if [ -n "$upgrade" ]; then echo upgrading..; sudo nix-channel --update; else echo no upgrade!; fi; sudo nixos-rebuild switch -j9 && rm ~/.gtkrc-2.0; home-manager switch && sudo nix-collect-garbage && nix-store --optimise' - -# greet -fresh diff --git a/home/icons/ChatGPT.png b/home/icons/ChatGPT.png deleted file mode 100644 index 5cb496d..0000000 Binary files a/home/icons/ChatGPT.png and /dev/null differ diff --git a/home/programs/eww/README.md b/home/programs/eww/README.md deleted file mode 100644 index fb27f74..0000000 --- a/home/programs/eww/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# Eww configuration - -This configuration aims to provide a fully working shell replacement for -compositors/window managers. Features constantly get added and existing ones -get improved. - -## 🗃️ Components - -The same daemon runs multiple windows which interact with each other: - -### bar - -![bar](https://user-images.githubusercontent.com/36706276/216402839-0f8ec9b0-dc4b-4cb8-9834-db59b61db97f.png) - -### music window - -![music](https://user-images.githubusercontent.com/36706276/192146077-f8da4691-9a0c-487f-9805-3fd4d55551e9.gif) - -### calendar - -![calendar](https://user-images.githubusercontent.com/36706276/204923748-f5c7db3a-5000-40cf-ba41-cd2d5f14146a.png) - -### system info - -![system](https://user-images.githubusercontent.com/36706276/216403137-a3231c60-976a-4e5d-85c0-899679ab0a92.png) - -## ❔ Usage - -### Home Manager - -If you use Home Manager, installing is as simple as adding my flake to your -inputs, passing `inputs` to `extraSpecialArgs` and importing the relevant -module: -```nix -{inputs, ...}: { - imports = [inputs.fufexan.homeManagerModules.eww-hyprland]; - - programs.eww-hyprland = { - enable = true; - - # default package - package = pkgs.eww-wayland; - - # if you want to change colors - colors = builtins.readFile ./macchiato.scss; - - # set to true to reload on change - autoReload = false; - }; -} -``` - -Make sure to also add the fonts listed below. - -### Other distros - -To quickly install this config, grab all the files in this directory and put -them in `~/.config/eww`. Then run `eww daemon` and `eww open bar`. Enjoy! - -Dependencies: -- Icon fonts: `material-symbols-outline` (any variation can be used as long as you change the `font-family` property of `.icon`) -- Text font: [Jost](https://fonts.google.com/specimen/Jost) -- Script deps: everything in `default.nix`'s `dependencies` list. - -## 🎨 Theme - -The theme colors can be changed in `css/_colors.scss`. Currently the theme used -is [Catppuccin Mocha](https://github.com/catppuccin/catppuccin). diff --git a/home/programs/eww/css/_calendar.scss b/home/programs/eww/css/_calendar.scss deleted file mode 100644 index 6e5a1e1..0000000 --- a/home/programs/eww/css/_calendar.scss +++ /dev/null @@ -1,31 +0,0 @@ -.calendar-win { - @include window; - background-color: $bg; - color: $fg; - padding: .2em; -} - -calendar { - padding: 5px; - - :selected { - color: $magenta; - } - - .header { - color: $black; - } - - .highlight { - color: $red; - font-weight: bold; - } - - .button { - color: $blue; - } - - :indeterminate { - color: $green; - } -} diff --git a/home/programs/eww/css/_colors.scss b/home/programs/eww/css/_colors.scss deleted file mode 100644 index f899781..0000000 --- a/home/programs/eww/css/_colors.scss +++ /dev/null @@ -1,35 +0,0 @@ -$rosewater: #f5e0dc; -$flamingo: #f2cdcd; -$pink: #f5c2e7; -$mauve: #cba6f7; -$red: #f38ba8; -$maroon: #eba0ac; -$peach: #fab387; -$yellow: #f9e2af; -$green: #a6e3a1; -$teal: #94e2d5; -$sky: #89dceb; -$sapphire: #74c7ec; -$blue: #89b4fa; -$lavender: #b4befe; - -$text: #cdd6f4; -$subtext1: #bac2de; -$subtext0: #a6adc8; -$overlay2: #9399b2; -$overlay1: #7f849c; -$overlay0: #6c7086; - -$surface2: #585b70; -$surface1: #45475a; -$surface0: #313244; - -$base: #1e1e2e; -$mantle: #181825; -$crust: #11111b; - -$fg: $text; -$bg: rgba(30, 30, 46, 0.6); -$bg1: rgba(49, 50, 68, 0.6); -$border: #28283d; -$shadow: $crust; diff --git a/home/programs/eww/css/_music.scss b/home/programs/eww/css/_music.scss deleted file mode 100644 index b3d0ee4..0000000 --- a/home/programs/eww/css/_music.scss +++ /dev/null @@ -1,66 +0,0 @@ -.song-cover-art { - @include rounding; - background-position: center; - background-size: cover; - margin: 4px 5px 4px 0; - min-height: 24px; - min-width: 24px; -} - -.music-window { - @include window; - background-color: $bg; - border: 1px solid $border; - color: $fg; -} - -.music-cover-art { - background-position: center; - background-size: cover; - border-radius: 8px; - margin: 1em; - min-height: 170px; - min-width: 170px; -} - -.music-box { - margin: 1rem 1rem 1rem 0; -} - -.music-title { - font-size: 1.1rem; - font-weight: bold; -} - -.music-artist { - color: $white_a; -} - -.music-button label { - color: $white_a; - font-size: 2rem; -} - -.music-time { - color: $white_a; - margin: 0 1rem; -} - -.music-bar scale { - highlight { - background-image: linear-gradient(to right, $cyan, $blue_a); - border-radius: 24px; - } - - trough { - background-color: $bg1; - border-radius: 24px; - margin-top: 0; - min-height: 10px; - min-width: 170px; - } -} - -.playctl { - color: $yellow; -} diff --git a/home/programs/eww/css/_osd.scss b/home/programs/eww/css/_osd.scss deleted file mode 100644 index ab605a2..0000000 --- a/home/programs/eww/css/_osd.scss +++ /dev/null @@ -1,36 +0,0 @@ -.osd-part { - @include window; - background: $bg; - margin: 0 .5rem .5rem; - - label { - color: $text; - font-size: 2rem; - margin: 0 .1rem 0 .2rem; - } - - scale { - margin: -.2rem 0; - } - - trough { - @include rounding; - background-color: $bg1; - margin: 1rem 0 .5rem; - min-height: 10rem; - min-width: .7rem; - - highlight { - @include rounding; - min-width: 0; - } - } -} - -.osd-volume highlight { - background-image: linear-gradient(to top, $cyan, $blue_a); -} - -.osd-brightness highlight { - background-image: linear-gradient(to top, $yellow, $yellow_a); -} diff --git a/home/programs/eww/css/_sidebar.scss b/home/programs/eww/css/_sidebar.scss deleted file mode 100644 index 58af83f..0000000 --- a/home/programs/eww/css/_sidebar.scss +++ /dev/null @@ -1,127 +0,0 @@ -.system-menu-box { - @include window; - background-color: $bg; - color: $text; -} - -.separator { - font-size: 1rem; -} - -.top-row { - margin: 1rem 1.5rem 0; - - .time { font-size: 2rem; } - - .date-box { - margin: 0 1rem; - - label { font-size: 1.1rem; } - - .date { - background: unset; - margin: 0 .5rem 0 0; - padding: 0; - } - } -} - -.system-row { - margin: .5rem .7rem; - - .airplane-box button { - padding: 1rem 3rem; - } - - label { - font-size: 1rem; - margin: 0 .1rem; - } -} - -.element { - @include rounding; - background-color: $black; - margin: .3rem; - - button { - @include rounding; - padding: 1rem; - - label { - font-size: 1.5rem; - } - - &:hover { - background-color: $cyan_a; - } - } -} - -.sliders { - @include rounding; - background-color: $black; - margin: .5rem 1rem; - padding: .6rem 1rem; - - scale { - margin-right: -1rem; - min-width: 21.5rem; - - trough { margin-right: 0; } - } - - box { margin: .2rem 0; } - label { font-size: 1.2rem; } -} - -.volume-slider-box, -.brightness-slider-box { - trough { background-color: $base; } -} - -.volume-bar highlight { - @include rounding; - background-image: linear-gradient(to right, $cyan, $blue_a); -} - -.brightness-slider-box scale highlight { - @include rounding; - background-image: linear-gradient(to right, $yellow, $yellow_a); -} - -.bottom-row { - margin: .5rem 1rem; - - .battery-icon { font-size: 2rem; } - .battery-wattage { color: $magenta; } - - .battery-status { - color: $green; - margin: 0 .5rem; - } - - button { - background-color: $black; - border-radius: 50%; - margin-bottom: .1rem; - padding: 0 .5rem; - - label { font-size: 1.5rem; } - &:hover { background-color: $black_a; } - } -} - -.bt-connected { - background-color: $blue; - color: $red; - - button:hover { background-color: rgba(0, 0, 0, .1); } -} - -.wifi-connected { - background-color: $magenta; - color: $red; - - button:hover { background-color: rgba(0, 0, 0, .1); } -} diff --git a/home/programs/eww/css/_system.scss b/home/programs/eww/css/_system.scss deleted file mode 100644 index b59736a..0000000 --- a/home/programs/eww/css/_system.scss +++ /dev/null @@ -1,80 +0,0 @@ -* { - transition: 1s; -} - -.membar { - color: $yellow; -} - -.cpubar { - color: $blue; -} - -.batbar { - color: $green; -} - -.membar, -.cpubar, -.batbar { - background-color: $bg1; -} - -.iconmem { - color: $yellow; -} - -.iconcpu { - color: $blue; -} - -.icon-text { - font-size: 3rem; - padding: .7rem; -} - -.sys-text-sub { - color: $text; -} - -.sys-text-mem, -.sys-text-cpu { - font-size: 1rem; - font-weight: bold; -} - -.sys-icon-mem, -.sys-icon-cpu { - font-size: 1.5rem; - margin: 1.5rem; -} - -.system-info-box { - @include rounding; - background-color: $black; - margin: .5rem 1rem; - padding: .5rem; -} - -.sys-mem, -.sys-cpu { - background-color: $bg; -} - -.sys-icon-mem, -.sys-text-mem, -.sys-mem { - color: $yellow; -} - -.sys-icon-cpu, -.sys-text-cpu, -.sys-cpu { - color: $blue; -} - -.sys-box { - margin: .3em; - - box { margin-left: 1rem; } -} diff --git a/home/programs/eww/css/_volume.scss b/home/programs/eww/css/_volume.scss deleted file mode 100644 index 1f340f6..0000000 --- a/home/programs/eww/css/_volume.scss +++ /dev/null @@ -1,5 +0,0 @@ -.vol-icon { color: $green; } -.volbar highlight { - background-image: linear-gradient(to right, $cyan, $blue_a); - border-radius: 10px; -} diff --git a/home/programs/eww/default.nix b/home/programs/eww/default.nix deleted file mode 100644 index 23c5383..0000000 --- a/home/programs/eww/default.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - dependencies = with pkgs; [ - cfg.package - bash - bc - coreutils - dbus - findutils - gawk - gnome.gnome-control-center - gnused - gojq - imagemagick - jaq - light - networkmanager - playerctl - procps - pulseaudio - ripgrep - socat - udev - upower - util-linux - wget - wireplumber - wlogout - swaynotificationcenter - ]; - - reload_script = pkgs.writeShellScript "reload_eww" '' - windows=$(eww windows | rg '\*' | tr -d '*') - - systemctl --user restart eww.service - - echo $windows | while read -r w; do - eww open $w - done - ''; - - cfg = config.programs.eww-custom; -in { - options.programs.eww-custom = { - enable = lib.mkEnableOption "eww config"; - - package = lib.mkOption { - type = with lib.types; nullOr package; - default = pkgs.eww-wayland; - defaultText = lib.literalExpression "pkgs.eww-wayland"; - description = "Eww package to use."; - }; - - autoReload = lib.mkOption { - type = lib.types.bool; - default = true; - defaultText = lib.literalExpression "false"; - description = "Whether to restart the eww daemon and windows on change."; - }; - - colors = lib.mkOption { - type = with lib.types; nullOr lines; - default = null; - defaultText = lib.literalExpression "null"; - description = '' - SCSS file with colors defined in the same arbitrary and stupid way as Cringepuccin colors are, - to be used by eww. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - home.packages = [cfg.package]; - - # remove nix files - xdg.configFile."eww" = { - source = lib.cleanSourceWith { - filter = name: _type: let - baseName = baseNameOf (toString name); - in - !(lib.hasSuffix ".nix" baseName) && !(baseName == "_colors.scss"); - src = lib.cleanSource ./.; - }; - - # links each file individually, which lets us insert the colors file separately - recursive = true; - - onChange = - if cfg.autoReload - then reload_script.outPath - else ""; - }; - - # colors file - xdg.configFile."eww/css/_colors.scss".text = - if cfg.colors != null - then cfg.colors - else (builtins.readFile ./css/_colors.scss); - - systemd.user.services.eww = { - Unit = { - Description = "Eww Daemon"; - # not yet implemented - # PartOf = ["tray.target"]; - PartOf = ["graphical-session.target"]; - }; - Service = { - Environment = "PATH=/run/wrappers/bin:${lib.makeBinPath dependencies}"; - ExecStart = "${cfg.package}/bin/eww daemon --no-daemonize"; - Restart = "on-failure"; - }; - Install.WantedBy = ["graphical-session.target"]; - }; - }; -} diff --git a/home/programs/eww/eww.scss b/home/programs/eww/eww.scss deleted file mode 100644 index d037427..0000000 --- a/home/programs/eww/eww.scss +++ /dev/null @@ -1,94 +0,0 @@ -@import 'css/colors'; - -@mixin rounding { - border-radius: 16px; -} - -@mixin window { - border: 1px solid $border; - box-shadow: 0 2px 3px $shadow; - margin: 5px 5px 0px; - @include rounding; -} - -* { - all: unset; - font-family: "Inria Sans", Roboto, sans-serif; - transition: 200ms ease; -} - -@import 'css/calendar'; -@import 'css/music'; -@import 'css/osd'; -@import 'css/sidebar'; -@import 'css/system'; -@import 'css/volume'; - -.bar { - color: $fg; - label { - font-size: 1rem; - } -} - -.vis { - background-color: $bg; - border-radius: 0px; - padding: 0px 0px; - margin-top: 0px; - margin-bottom: 0px; - border: 0px; - // 3px solid $outline; -} - -.invis { - background-color: rgba(0, 0, 0, 0); -} - -tooltip { - background: $bg; - border: 1px solid $border; - border-radius: 8px; - - label { - font-size: 1rem; - } -} - -.icon, -.icon label { font-family: Material Symbols Outlined; } - -.module { margin: 0 5px; } - -.hour { - padding-left: 5px; -} - -.minute { - padding-right: .7rem; -} - -.date { - background: $bg; - color: $yellow; - - label { - font-size: 1.2rem; - } -} - -.bright-icon { color: $yellow_a; } -.module-bt { font-size: 1.2rem; } - -scale trough { - background-color: $bg; - border-radius: 24px; - margin: 0 1rem; - min-height: 10px; - min-width: 70px; -} - -.workspaces { - margin-left: 10px; - button { transition: color 2s ease; } -} diff --git a/home/programs/eww/eww.yuck b/home/programs/eww/eww.yuck deleted file mode 100644 index f12a100..0000000 --- a/home/programs/eww/eww.yuck +++ /dev/null @@ -1,56 +0,0 @@ -(include "./modules/clock.yuck") -(include "./modules/music.yuck") -(include "./modules/net.yuck") -(include "./modules/sys.yuck") -(include "./modules/variables.yuck") -(include "./modules/volume.yuck") -(include "./modules/workspaces.yuck") -(include "./modules/current_win.yuck") - -(include "./windows/calendar.yuck") -(include "./windows/music.yuck") -(include "./windows/osd.yuck") -(include "./windows/system-menu.yuck") - -(defwidget left [] - (box - :space-evenly false - :halign "start" - :class "vis" - (workspaces))) - -(defwidget right [] - (box - :space-evenly false - :halign "end" - :class "vis bar" - (music-module) - (volume-module) - (net) - (sys) - (clock_module))) - -(defwidget center [] - (box - :space-evenly false - :halign "center" - :class "vis bar" - (current-win-module))) - -(defwidget bar-box [] - (centerbox - :class "vis bar" - (left) - (center) - (right))) - -(defwindow bar - :monitor 0 - :geometry (geometry :x "0%" - :y "0%" - :width "100%" - :height "14px" - :anchor "top center") - :stacking "fg" - :exclusive true - (bar-box)) diff --git a/home/programs/eww/modules/bluetooth.yuck b/home/programs/eww/modules/bluetooth.yuck deleted file mode 100644 index 5b023b8..0000000 --- a/home/programs/eww/modules/bluetooth.yuck +++ /dev/null @@ -1,8 +0,0 @@ -(defwidget bluetooth [] - (button - :class "module-bt module icon" - :onclick "blueberry" - :onrightclick "scripts/bluetooth toggle" - :tooltip "${bluetooth.text} ${bluetooth.battery}" - :style "color: ${bluetooth.color};" - {bluetooth.icon})) diff --git a/home/programs/eww/modules/bright.yuck b/home/programs/eww/modules/bright.yuck deleted file mode 100644 index 27b1b5f..0000000 --- a/home/programs/eww/modules/bright.yuck +++ /dev/null @@ -1,9 +0,0 @@ -(defwidget bright [] - (box - :class "module" - (eventbox - :onscroll "echo {} | sed -e 's/up/-U 1/g' -e 's/down/-A 1/g' | xargs light" - (label - :text {brightness.icon} - :class "bright-icon icon" - :tooltip "brightness ${round(brightness.percent, 0)}%")))) diff --git a/home/programs/eww/modules/clock.yuck b/home/programs/eww/modules/clock.yuck deleted file mode 100644 index 4b13d9e..0000000 --- a/home/programs/eww/modules/clock.yuck +++ /dev/null @@ -1,24 +0,0 @@ -(defvar date_rev false) - -(defwidget clock_module [] - (eventbox - :onhover "${EWW_CMD} update date_rev=true" - :onhoverlost "${EWW_CMD} update date_rev=false" - (overlay - :class "module" - (box - :space-evenly false - (label - :text {time.hour} - :class "hour") - (label - :text ":") - (label - :text {time.minute} - :class "minute")) - (revealer - :reveal date_rev - (button - :class "date" - :onclick "${EWW_CMD} open --toggle calendar" - {time.date}))))) diff --git a/home/programs/eww/modules/current_win.yuck b/home/programs/eww/modules/current_win.yuck deleted file mode 100644 index de858af..0000000 --- a/home/programs/eww/modules/current_win.yuck +++ /dev/null @@ -1,8 +0,0 @@ -(defwidget current-win-module [] - (box - (button - :class "module" - "${current_win.title}"" - ) - ) -) diff --git a/home/programs/eww/modules/music.yuck b/home/programs/eww/modules/music.yuck deleted file mode 100644 index 0b7ae88..0000000 --- a/home/programs/eww/modules/music.yuck +++ /dev/null @@ -1,28 +0,0 @@ -(defwidget music-module [] - (eventbox - :onhover "${EWW_CMD} update music_reveal=true" - :onhoverlost "${EWW_CMD} update music_reveal=false" - (box - :class "module" - :space-evenly false - (box - :class "song-cover-art" - :style "background-image: url(\"${music.cover}\");") - (button - :class "module" - :onclick "${EWW_CMD} open --toggle music" - {music.status == "Stopped" || music.status == "" ? "" : - "${music.artist} - ${music.title}"}) - (box - :class "icon" - {music.static == "Stopped" || music.status == "" ? "" : music.status == "Playing" ? "" : "" }) - (revealer - :class "playctl" - :transition "slideright" - :reveal music_reveal - :duration "350ms" - (box - :class "icon" - (button :class "song-button" :onclick "playerctl previous" "") - (button :class "song-button" :onclick "playerctl play-pause" {music.status == "Playing" ? "" : ""}) - (button :class "song-button" :onclick "playerctl next" "")))))) diff --git a/home/programs/eww/modules/net.yuck b/home/programs/eww/modules/net.yuck deleted file mode 100644 index 3bfb4f8..0000000 --- a/home/programs/eww/modules/net.yuck +++ /dev/null @@ -1,7 +0,0 @@ -(defwidget net [] - (button - :class "module icon" - :onclick "gnome-control-center &" - :tooltip {net.essid} - :style "color: ${net.color};" - {net.icon})) diff --git a/home/programs/eww/modules/sys.yuck b/home/programs/eww/modules/sys.yuck deleted file mode 100644 index d5403a5..0000000 --- a/home/programs/eww/modules/sys.yuck +++ /dev/null @@ -1,32 +0,0 @@ -(defwidget sys [] - (box - :class "module" - :space-evenly false - :spacing 5 - (circular-progress - :value "${EWW_CPU.avg}" - :class "cpubar" - :thickness 3 - (button - :tooltip "using ${round(EWW_CPU.avg,0)}% cpu" - :onclick "${EWW_CMD} open --toggle system-menu" - (label :class "icon-text" :text ""))) - - (circular-progress - :value {memory.percent} - :class "membar" - :thickness 3 - (button - :tooltip "using ${round(memory.percent,0)}% ram" - :onclick "${EWW_CMD} open --toggle system-menu" - (label :class "icon-text" :text ""))) - - (circular-progress - :value "${EWW_BATTERY["BAT0"].capacity}" - :class "batbar" - :style "color: ${battery.color};" - :thickness 3 - (button - :tooltip "battery on ${EWW_BATTERY["BAT0"].capacity}%" - :onclick "${EWW_CMD} open --toggle system-menu" - (label :class "icon-text" :text ""))))) diff --git a/home/programs/eww/modules/variables.yuck b/home/programs/eww/modules/variables.yuck deleted file mode 100644 index 6af2136..0000000 --- a/home/programs/eww/modules/variables.yuck +++ /dev/null @@ -1,21 +0,0 @@ -(defvar bright_reveal false) -(defvar bt_rev false) -(defvar music_reveal false) -(defvar net_rev false) -(defvar time_rev false) -(defvar vol_reveal false) -(defvar osd-brightness false) -(defvar osd-volume false) - -(defpoll time :interval "5s" `date +'{"date": "%d/%m", "hour": "%H", "minute": "%M", "day": "%A"}'`) - -(deflisten airplane "scripts/airplane") -(deflisten battery "scripts/battery") -(deflisten bluetooth "scripts/bluetooth") -(deflisten brightness "scripts/brightness") -(deflisten memory "scripts/memory") -(deflisten music "scripts/music") -(deflisten net "scripts/net") -(deflisten volume "scripts/volume") -(deflisten workspace "scripts/workspaces") -(deflisten current_win "scripts/current_win") diff --git a/home/programs/eww/modules/volume.yuck b/home/programs/eww/modules/volume.yuck deleted file mode 100644 index c4dceee..0000000 --- a/home/programs/eww/modules/volume.yuck +++ /dev/null @@ -1,11 +0,0 @@ -(defwidget volume-module [] - (box - :class "module icon" - (eventbox - :onscroll "echo {} | sed -e 's/up/-/g' -e 's/down/+/g' | xargs -I% wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.005%" - :onclick "pavucontrol &" - :onrightclick "scripts/volume mute SINK" - (label - :class "vol-icon" - :tooltip "volume ${volume.percent}%" - :text {volume.icon})))) diff --git a/home/programs/eww/modules/workspaces.yuck b/home/programs/eww/modules/workspaces.yuck deleted file mode 100644 index f8d0ac1..0000000 --- a/home/programs/eww/modules/workspaces.yuck +++ /dev/null @@ -1,13 +0,0 @@ -(defwidget workspaces [] - (eventbox - :onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace" - (box - :class "module workspaces" - :spacing 5 - (for ws in workspace - (button - :onclick "hyprctl dispatch workspace ${ws.number}" - :class "ws icon" - :style "color: ${ws.color};" - ; :tooltip {ws.tooltip} - "●"))))) diff --git a/home/programs/eww/scripts/airplane b/home/programs/eww/scripts/airplane deleted file mode 100644 index 61db360..0000000 --- a/home/programs/eww/scripts/airplane +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -icon() { - if [ "$STATUS" = "no" ]; then - echo "" - else - echo "" - fi -} - -toggle() { - if [ "$STATUS" = "no" ]; then - rfkill block all - notify-send --urgency=normal -i airplane-mode-symbolic "Airplane Mode" "Airplane mode has been turned on!" - else - rfkill unblock all - notify-send --urgency=normal -i airplane-mode-disabled-symbolic "Airplane Mode" "Airplane mode has been turned off!" - fi -} - -if [ "$1" = "toggle" ]; then - toggle -else - while true; do - STATUS="$(rfkill list | sed -n 2p | awk '{print $3}')" - icon - sleep 3; - done -fi diff --git a/home/programs/eww/scripts/battery b/home/programs/eww/scripts/battery deleted file mode 100644 index ad383d2..0000000 --- a/home/programs/eww/scripts/battery +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -icons=("" "" "" "" "" "" "" "") -num_icons=$(bc <<< "100 / ${#icons[@]}") - - -geticon() { - level=$(awk -v n="$CAPACITY" -v c="$num_icons" 'BEGIN{print int(n/c-1)}') - if [[ "$level" -lt 0 ]]; then - level=0 - fi - echo "${icons[$level]}" -} - -status() { - if [ "$STATE" = "Charging" ]; then - echo -n "charging" - - if [ "$RATE" -gt 0 ]; then - echo ", $(gettime) left" - else - echo "" - fi - elif [ "$STATE" = "Discharging" ]; then - echo "$(gettime)h left" - else - echo "fully charged" - fi -} - -color() { - if [ "$CAPACITY" -le 20 ]; then - echo '#f38ba8' - else - echo '#a6e3a1' - fi -} - -wattage() { - microwatts=1000000 - echo "$(bc -l <<< "scale=1; $RATE / $microwatts") W" -} - -gettime() { - FULL=$(cat /sys/class/power_supply/BAT0/energy_full) - NOW=$(cat /sys/class/power_supply/BAT0/energy_now) - - if [ "$RATE" -gt 0 ]; then - if [ "$STATE" = "Discharging" ]; then - EX="$NOW / $RATE" - else - EX="($FULL - $NOW) / $RATE" - fi - date -u -d@"$(bc -l <<< "$EX * 3600")" +%H:%M - fi -} - -while true; do - RATE=$(cat /sys/class/power_supply/BAT0/power_now) - CAPACITY=$(cat /sys/class/power_supply/BAT0/capacity) - STATE=$(cat /sys/class/power_supply/BAT0/status) - - echo '{ "icon": "'"$(geticon)"'", "percent": '"$CAPACITY"', "wattage": "'"$(wattage)"'", "status": "'"$(status)"'", "color": "'"$(color)"'" }' - sleep 3 -done \ No newline at end of file diff --git a/home/programs/eww/scripts/bluetooth b/home/programs/eww/scripts/bluetooth deleted file mode 100644 index 63ce547..0000000 --- a/home/programs/eww/scripts/bluetooth +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -toggle() { - status=$(rfkill -J | jaq -r '.rfkilldevices[] | select(.type == "bluetooth") | .soft' | head -1) - - if [ "$status" = "unblocked" ]; then - rfkill block bluetooth - else - rfkill unblock bluetooth - fi -} - -if [ "$1" = "toggle" ]; then - toggle -else - while true; do - powered=$(bluetoothctl show | rg Powered | cut -f 2- -d ' ') - status=$(bluetoothctl info) - name=$(echo "$status" | rg Name | cut -f 2- -d ' ') - mac=$(echo "$status" | head -1 | awk '{print $2}' | tr ':' '_') - - if [[ "$(echo "$status" | rg Percentage)" != "" ]]; then - battery="$(upower -i /org/freedesktop/UPower/devices/headset_dev_"$mac" | rg percentage | awk '{print $2}' | cut -f 1 -d '%')%" - else - battery="" - fi - - if [ "$powered" = "yes" ]; then - if [ "$status" != "Missing device address argument" ]; then - text="$name" - icon="" - color="#89b4fa" - class="bt-connected" - else - icon="" - text="Disconnected" - color="#45475a" - class="" - fi - else - icon="" - text="Bluetooth off" - color="#45475a" - class="" - fi - - echo '{ "icon": "'"$icon"'", "battery": "'"$battery"'", "text": "'"$text"'", "color": "'"$color"'", "class": "'"$class"'" }' - - sleep 3 - done -fi diff --git a/home/programs/eww/scripts/brightness b/home/programs/eww/scripts/brightness deleted file mode 100644 index 5ca2dd1..0000000 --- a/home/programs/eww/scripts/brightness +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash - -icons=("" "" "") -if [ ! "$XDG_CACHE_HOME" ]; then - XDG_CACHE_HOME="/home/mihai/.local/cache" -fi -date="$XDG_CACHE_HOME/eww/osd_brightness.date" - -osd() { - if [ ! -f "$date" ]; then - mkdir -p "$XDG_CACHE_HOME/eww" - fi - date +%s > "$date" -} - -osd_handler() { - lock=0 - rundate=0 - if [ ! -f "$date" ]; then - mkdir -p "$XDG_CACHE_HOME/eww" - echo 0 > "$date" - fi - - while true; do - # get dates - rundate=$(cat "$date") - currentdate=$(date +%s) - - # handle showing - if [ "$rundate" = "$currentdate" ] && [ "$lock" -eq 0 ]; then - eww open osd - eww update osd-brightness=true - lock=1 - elif [ "$((currentdate - rundate))" = "2" ] && [ "$lock" -eq 1 ]; then - eww update osd-brightness=false - lock=0 - if [ "$(eww get osd-brightness)" = "false" ] && [ "$(eww get osd-volume)" = "false" ]; then - eww close osd - fi - fi - - sleep 0.1 - done - - eww close osd -} - -if [ "$1" = "osd" ]; then - osd -else - osd_handler & - # initial - icon=${icons[$(awk -v n="$(light)" 'BEGIN{print int(n/34)}')]} - echo '{ "percent": '"$(light)"', "icon": "'"$icon"'" }' - - udevadm monitor | rg --line-buffered "backlight" | while read -r _; do - icon="${icons[$(awk -v n="$(light)" 'BEGIN{print int(n/34)}')]}" - - echo '{ "percent": '"$(light)"', "icon": "'"$icon"'" }' - done -fi diff --git a/home/programs/eww/scripts/current_win b/home/programs/eww/scripts/current_win deleted file mode 100644 index cdf50e8..0000000 --- a/home/programs/eww/scripts/current_win +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -limit=128 -swaymsg -m -t subscribe '[ "window" ]' | while read line; do - title=$(printf $line | gojq -r ."container.name" | cut -c -$limit) - echo '{ "title": "'$title'" }' -done \ No newline at end of file diff --git a/home/programs/eww/scripts/memory b/home/programs/eww/scripts/memory deleted file mode 100644 index 0ae499b..0000000 --- a/home/programs/eww/scripts/memory +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -while true; do - # human-readable - freeH=$(free -h --si | rg "Mem:") - # non-human-readable - freeN=$(free --mega | rg "Mem:") - - total="$(echo "$freeH" | awk '{ print $2 }')" - used="$(echo "$freeH" | awk '{ print $3 }')" - t="$(echo "$freeN" | awk '{ print $2 }')" - u="$(echo "$freeN" | awk '{ print $3 }')" - - free=$(printf '%.1fG' "$(bc -l <<< "($t - $u) / 1000")") - perc=$(printf '%.1f' "$(free -m | rg Mem | awk '{print ($3/$2)*100}')") - - echo '{ "total": "'"$total"'", "used": "'"$used"'", "free": "'"$free"'", "percent": '"$perc"' }' - - sleep 3 -done diff --git a/home/programs/eww/scripts/music b/home/programs/eww/scripts/music deleted file mode 100644 index 4f907de..0000000 --- a/home/programs/eww/scripts/music +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env bash - -get_status() { - s=$1 - if [ "$s" = "Playing" ]; then - echo "" - else - echo "" - fi -} - -get_length_sec() { - len=$1 - if [ -z "$len" ]; then - echo 0 - else - bc <<<"$len / 1000000" - fi -} - -get_length_time() { - len=$1 - if [ -n "$len" ]; then - len=$(bc <<<"$len / 1000000 + 1") - date -d@"$len" +%M:%S - else - echo "" - fi -} - -get_position() { - pos=$1 - len=$2 - if [ -n "$pos" ]; then - bc -l <<<"$pos / $len * 100" - else - echo 0 - fi -} - -get_position_time() { - pos=$1 - len=$2 - if [ -n "$pos" ]; then - date -d@"$(bc <<<"$pos / 1000000")" +%M:%S - else - echo "" - fi -} - -get_cover() { - mkdir -p "$XDG_CACHE_HOME/eww_covers" - cd "$XDG_CACHE_HOME/eww_covers" || exit - - IMGPATH="$XDG_CACHE_HOME/eww_covers/cover_art.png" - - COVER_URL="$1" - - if [[ "$COVER_URL" = https* ]]; then - if [ ! -e "$XDG_CACHE_HOME/eww_covers/$(basename "$COVER_URL")" ]; then - wget -N "$COVER_URL" -o /dev/null - fi - - rm "$IMGPATH" - ln -s "$(basename "$COVER_URL")" "$IMGPATH" - - IMG="${IMGPATH}" - elif [ "$COVER_URL" = "" ]; then - IMG="" - else - IMG="$COVER_URL" - fi - - echo "$IMG" -} - -sanitize() { - echo "$1" | sed 's/"/\"/g' -} - -prevCover='' - -playerctl -F metadata -f '{{title}}\{{artist}}\{{status}}\{{position}}\{{mpris:length}}\{{mpris:artUrl}}' 2>/dev/null | while IFS="$(printf '\')" read -r title artist status position len cover; do - if [[ "$cover" != "$prevCover" ]]; then - COVER=$(get_cover "$cover") - - if [ "$COVER" != "" ]; then - cols=$(convert "$COVER" -colors 2 -format "%c" histogram:info: | awk '{print $3}') - color1=$(echo "$cols" | head -1) - color1=$(printf "rgba(%d, %d, %d, 0.6)" ${color1:1:2} ${color1:3:2} ${color1:5:2}) - color2=$(echo "$cols" | tail -1) - else - color1="#1e1e2e" - color2="#28283d" - fi - fi - - - jaq --null-input -r -c \ - --arg artist "$(sanitize "${artist:0:32}")" \ - --arg title "$(sanitize "${title:0:32}")" \ - --arg status "$status" \ - --arg pos "$(get_position "$position" "$len")" \ - --arg pos_time "$(get_position_time "$position" "$len")" \ - --arg length "$(get_length_time "$len")" \ - --arg cover "$COVER" \ - --arg color1 "$color1" \ - --arg color2 "$color2" \ - '{"artist": $artist, "title": $title, "status": $status, "position": $pos, "position_time": $pos_time, "length": $length, "cover": $cover, "color1": $color1, "color2": $color2}' - - prevCover=$cover -done diff --git a/home/programs/eww/scripts/net b/home/programs/eww/scripts/net deleted file mode 100644 index a84b9b9..0000000 --- a/home/programs/eww/scripts/net +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -toggle() { - status=$(rfkill -J | jaq -r '.rfkilldevices[] | select(.type == "wlan") | .soft' | head -1) - - if [ "$status" = "unblocked" ]; then - rfkill block wlan - else - rfkill unblock wlan - fi -} - -if [ "$1" = "toggle" ]; then - toggle -else - while true; do - status=$(nmcli -f state g| tail -1) - wifistatus=$(nmcli -t -f in-use,ssid,signal dev wifi | rg '\*' | sed 's/\"/\\"/g') - signal=$(echo "$wifistatus" | awk -F: '{print $3}') - essid=$(echo "$wifistatus" | awk -F: '{print $2}') - - icons=("" "" "" "" "") - - if [ "$status" = "disconnected" ] ; then - icon="" - color="#988ba2" - class="" - else - level=$(awk -v n="$signal" 'BEGIN{print int((n-1)/20)}') - if [ "$level" -gt 4 ]; then - level=4 - fi - - icon=${icons[$level]} - color="#cba6f7" - class="wifi-connected" - fi - - echo '{ "essid": "'"$essid"'", "icon": "'"$icon"'", "color": "'"$color"'", "class": "'"$class"'" }' - - sleep 3 - done -fi diff --git a/home/programs/eww/scripts/volume b/home/programs/eww/scripts/volume deleted file mode 100644 index 7e9b11d..0000000 --- a/home/programs/eww/scripts/volume +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash - -volicons=("" "" "") -if [ ! "$XDG_CACHE_HOME" ]; then - XDG_CACHE_HOME="/home/mihai/.local/cache" -fi -date="$XDG_CACHE_HOME/eww/osd_vol.date" - -vol() { - wpctl get-volume @DEFAULT_AUDIO_"$1"@ | awk '{print int($2*100)}' -} -ismuted() { - wpctl get-volume @DEFAULT_AUDIO_"$1"@ | rg -i muted - echo $? -} -setvol() { - wpctl set-volume @DEFAULT_AUDIO_"$1"@ "$(awk -v n="$2" 'BEGIN{print (n / 100)}')" -} -setmute() { - wpctl set-mute @DEFAULT_AUDIO_"$1"@ toggle -} - -osd() { - if [ ! -f "$date" ]; then - mkdir -p "$XDG_CACHE_HOME/eww" - fi - date +%s > "$date" -} - -osd_handler() { - lock=0 - rundate=0 - if [ ! -f "$date" ]; then - mkdir -p "$XDG_CACHE_HOME/eww" - echo 0 > "$date" - fi - - while true; do - # get dates - rundate=$(cat "$date") - currentdate=$(date +%s) - - # handle showing - if [ "$rundate" = "$currentdate" ] && [ "$lock" -eq 0 ]; then - eww open osd - eww update osd-volume=true - lock=1 - elif [ "$((currentdate - rundate))" = "2" ] && [ "$lock" -eq 1 ]; then - eww update osd-volume=false - lock=0 - if [ "$(eww get osd-volume)" = "false" ] && [ "$(eww get osd-brightness)" = "false" ]; then - eww close osd - fi - fi - - sleep 0.1 - done - - eww close osd -} - -if [ "$1" = "mute" ]; then - if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then - echo "Can only mute SINK or SOURCE"; exit 1 - fi - setmute "$2" -elif [ "$1" = "setvol" ]; then - if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then - echo "Can only set volume for SINK or SOURCE"; exit 1 - elif [ "$3" -lt 1 ] || [ "$3" -gt 100 ]; then - echo "Volume must be between 1 and 100"; exit 1 - fi - setvol "$2" "$3" -elif [ "$1" = "osd" ]; then - osd -else - # initial values - lvl=$(awk -v n="$(vol "SINK")" 'BEGIN{print int(n/34)}') - ismuted=$(ismuted "SINK") - - if [ "$ismuted" = 1 ]; then - icon="${volicons[$lvl]}" - else - icon="" - fi - echo '{ "icon": "'"$icon"'", "percent": "'"$(vol "SINK")"'", "microphone": "'"$(vol "SOURCE")"'" }' - - osd_handler & - - # event loop - pactl subscribe | rg --line-buffered "change" | while read -r _; do - lvl=$(awk -v n="$(vol "SINK")" 'BEGIN{print int(n/34)}') - ismuted=$(ismuted "SINK") - - if [ "$ismuted" = 1 ]; then - icon="${volicons[$lvl]}" - else - icon="" - fi - echo '{ "icon": "'"$icon"'", "percent": "'"$(vol "SINK")"'", "microphone": "'"$(vol "SOURCE")"'" }' - done -fi diff --git a/home/programs/eww/scripts/workspaces b/home/programs/eww/scripts/workspaces deleted file mode 100644 index 53b5886..0000000 --- a/home/programs/eww/scripts/workspaces +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash - -# define colors -# red peach green blue -colors=("#f38ba8" "#fab387" "#a6e3a1" "#89b4fa") -# pink yellow teal lavender -dimmed=("#f5c2e7" "#f9e2af" "#94e2d5" "#b4befe") -empty="#313244" - -# get initial focused workspace -# whatever -# focusedws=$(swaymsg -t get_workspaces -r | ) - -declare -A o=([1]=0 [2]=0 [3]=0 [4]=0) - -# set color for each workspace -status() { - if [ "${o[$1]}" -eq 1 ]; then - if [ "$focusedws" -eq "$1" ]; then - echo -n "#ffd292" - # echo -n "${colors[$mon]}" - else - # echo -n "${dimmed[$mon]}" - echo -n "#da827a" - fi - else - # echo -n "$empty" - echo -n "#202e2f" - fi -} - -# generate the json for eww -generate() { - echo -n '[' - - for i in {1..4}; do - echo -n ''"$([ "$i" -eq 1 ] || echo ,)" '{ "number": "'"$i"'", "color": "'"$(status "$i")"'" }' - done - - echo ']' -} - -# generate initial widget -generate - -# main loop -swaymsg -m -t subscribe '[ "workspace" ]' | jq -r '.change+" "+.current.name' | while read -r line; do - case ${line%' '*} in - "focus") - focusedws=${line#*' '} - ;; - "init") - workspace_event "${line#*' '}" 1 - ;; - "empty") - workspace_event "${line#*' '}" 0 - ;; - esac - generate -done diff --git a/home/programs/eww/windows/calendar.yuck b/home/programs/eww/windows/calendar.yuck deleted file mode 100644 index 403d732..0000000 --- a/home/programs/eww/windows/calendar.yuck +++ /dev/null @@ -1,14 +0,0 @@ -(defwidget calendar-win [] - (box - :class "calendar-win" - (calendar))) - -(defwindow calendar - :monitor 0 - :geometry (geometry - :x "0%" - :y "0%" - :anchor "top right" - :width "0px" - :height "0px") - (calendar-win)) diff --git a/home/programs/eww/windows/music.yuck b/home/programs/eww/windows/music.yuck deleted file mode 100644 index 4e7d5e7..0000000 --- a/home/programs/eww/windows/music.yuck +++ /dev/null @@ -1,55 +0,0 @@ -(defwidget music [] - (box - :class "music-window" - :space-evenly false - :style "background-color: ${music.color1}; border: 1px solid ${music.color2};" - (box - :class "music-cover-art" - :style "background-image: url(\"${music.cover}\");") - (box - :orientation "v" - :class "music-box" - (label - :class "music-title" - :wrap true - :text {music.title}) - (label - :class "music-artist" - :wrap true - :text {music.artist}) - (centerbox - :halign "center" - :class "music-button-box icon" - (button :class "music-button" :onclick "playerctl previous" "") - (button :class "music-button" :onclick "playerctl play-pause" {music.status}) - (button :class "music-button" :onclick "playerctl next" "")) - (box - :orientation "v" - (box - (label - :xalign 0 - :class "music-time" - :text {music.position_time}) - (label - :xalign 1 - :class "music-time" - :text {music.length})) - (box - :class "music-bar" - (scale - ; doesn't work, looking for other ways - ; :style "background: linear-gradient(to right, ${music.color1}, ${music.color2});" - :onchange "playerctl position `bc <<< \"{} * $(playerctl metadata mpris:length) / 1000000 / 100\"`" - :value {music.position})))))) - -(defwindow music - :stacking "fg" - :focusable false - :monitor 0 - :geometry (geometry - :x "0%" - :y "0%" - :width "0%" - :height "0%" - :anchor "top center") - (music)) diff --git a/home/programs/eww/windows/osd.yuck b/home/programs/eww/windows/osd.yuck deleted file mode 100644 index 138bc06..0000000 --- a/home/programs/eww/windows/osd.yuck +++ /dev/null @@ -1,43 +0,0 @@ -(defwidget osd-part [icon value class] - (box - :class "osd-part osd-${class}" - :orientation "v" - :space-evenly false - (scale - :flipped true - :orientation "v" - :value value) - (label - :text icon))) - -(defwidget osd [] - (box - :class "osd-container" - :space-evenly false - (revealer - :reveal {osd-brightness} - :transition "slideright" - (osd-part - :class "brightness" - :icon {brightness.icon} - :value {brightness.percent})) - (revealer - :reveal {osd-volume} - :transition "slideright" - (osd-part - :class "volume" - :icon {volume.icon} - :value {volume.percent}))) -) - -(defwindow osd - :stacking "fg" - :focusable false - :monitor 0 - :geometry (geometry - :x "1%" - :y "0%" - :width "0%" - :height "0%" - :anchor "center left") - (osd)) diff --git a/home/programs/eww/windows/system-menu.yuck b/home/programs/eww/windows/system-menu.yuck deleted file mode 100644 index 888b178..0000000 --- a/home/programs/eww/windows/system-menu.yuck +++ /dev/null @@ -1,204 +0,0 @@ -(defwidget system-menu [] - (box - :class "system-menu-box" - :space-evenly false - :orientation "v" - (box - :class "top-row" - :space-evenly false - (label - :class "time" - :text "${time.hour}:${time.minute}") - (box - :class "date-box" - :space-evenly false - (label - :class "date" - :text {time.date}) - (label - :class "day" - :text {time.day}))) - - (centerbox - :class "system-row" - (box - :class "wifi-box" - :space-evenly false - :orientation "v" - (box - :class "element icon ${net.class}" - :space-evenly false - (button - :class "wifi-button" - :onclick "scripts/net toggle" - {net.icon}) - (label - :class "separator" - :text "│") - (button - :class "wifi-arrow-btn" - :onclick "eww close system-menu && gnome-control-center &" - "")) - (label - :text {net.essid} - :xalign 0.5 - :limit-width 15)) - - (box - :class "bluetooth-box" - :space-evenly false - :orientation "v" - (box - :class "element icon ${bluetooth.class}" - :space-evenly false - (button - :class "bluetooth-button" - :onclick "scripts/bluetooth toggle" - {bluetooth.icon}) - (label - :class "separator" - :text "│") - (button - :class "bluetooth-arrow-btn" - :onclick "eww close system-menu && blueberry" - "")) - (label - :text {bluetooth.text} - :xalign 0.5 - :tooltip "${bluetooth.text} ${bluetooth.battery}" - :limit-width 15)) - - (box - :class "airplane-box" - :space-evenly false - :orientation "v" - (box - :class "element" - (button - :class "airplane-button" - :onclick "scripts/airplane toggle" - airplane)) - (label - :text "Airplane Mode" - :xalign 0.5 - :limit-width 16))) - - (box - :class "sliders" - :orientation "v" - (box - :class "volume-slider-box" - :space-evenly false - (button - :class "volume-icon icon" - :onclick "scripts/volume mute SINK" - {volume.icon}) - (scale - :class "volume-bar" - :value {volume.percent} - :tooltip "volume on ${volume.percent}%" - :onchange "scripts/volume setvol SINK {}")) - (box - :class "brightness-slider-box" - :space-evenly false - (button - :class "brightness-slider-icon icon" - {brightness.icon}) - (scale - :class "brightness-slider" - :value {brightness.percent} - :marks true - :onchange "light -S {}"))) - - (box - :class "system-info-box" - - ; cpu - (box - :class "sys-box" - :space-evenly false - :halign "start" - (circular-progress - :value "${EWW_CPU.avg}" - :class "sys-cpu" - :thickness 3 - (label - :text "" - :class "sys-icon-cpu icon")) - (box - :orientation "v" - :vexpand false - (label - :text "cpu" - :halign "start" - :class "sys-text-cpu") - (label - :text "${round(EWW_CPU.avg,2)}%" - :halign "start" - :class "sys-text-sub") - (label - :text "${EWW_CPU.cores[0].freq} MHz" - :halign "start" - :class "sys-text-sub"))) - - ; memory - (box - :class "sys-box" - :space-evenly false - :halign "end" - (circular-progress - :value {memory.percent} - :class "sys-mem" - :thickness 3 - (label - :text "" - :class "sys-icon-mem icon")) - (box - :orientation "v" - (label - :text "memory" - :halign "start" - :class "sys-text-mem") - (label - :text "${memory.used} | ${memory.total}" - :halign "start" - :class "sys-text-sub")))) - - (centerbox - :class "bottom-row" - (box - :class "battery-box" - :space-evenly false - :halign "start" - (label - :class "battery-icon icon" - :style "color: ${battery.color}" - :text {battery.icon}) - (label - :text {EWW_BATTERY["BAT0"].capacity}) - (label - :class "battery-status" - :text {battery.status}) - (label - :class "battery-wattage" - :text {battery.wattage})) - (label) - (box - :space-evenly false - :halign "end" - (button - :halign "end" - :class "power-button icon" - :onclick "wlogout -p layer-shell &" - ""))))) - -(defwindow system-menu - :stacking "fg" - :monitor 0 - :geometry (geometry - :x "0" - :y "0" - :width "0%" - :height "0%" - :anchor "right top") - (system-menu)) diff --git a/home/programs/firefox.nix b/home/programs/firefox.nix index f6d2879..f33a32b 100644 --- a/home/programs/firefox.nix +++ b/home/programs/firefox.nix @@ -49,7 +49,6 @@ in { "keepassxc-browser@keepassxc.org" = officialAddon "keepassxc-browser"; "vimium-c@gdh1995.cn" = officialAddon "vimium-c"; "{b86e4813-687a-43e6-ab65-0bde4ab75758}" = officialAddon "localcdn-fork-of-decentraleyes"; - "plasma-browser-integration@kde.org" = officialAddon "plasma-integration"; }; Preferences = { diff --git a/home/programs/fuzzel.nix b/home/programs/fuzzel.nix deleted file mode 100644 index aa97168..0000000 --- a/home/programs/fuzzel.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; - palette-shex = pkgs.lib.nix-rice.palette.toRGBShortHex pkgs.rice.palette; -in { - config.home.packages = [pkgs.fuzzel]; - config.programs.fuzzel = with pkgs.rice; { - enable = true; - settings = { - main = { - dpi-aware = "no"; - font = with fonts.sans; lib.strings.concatStrings [name ":size=" (builtins.toString (size + 2))]; - icon-theme = icons.name; - terminal = "kitty"; - }; - dmenu = { - exit-immediately-if-empty = "yes"; - }; - border = with borders; { - width = thickness; - radius = rounding; - }; - colors = { - background = lib.strings.concatStrings [palette-hex.util.bg "A0"]; - text = lib.strings.concatStrings [palette-hex.util.fg "FF"]; - selection = lib.strings.concatStrings [palette-hex.bright.yellow "FF"]; - selection-text = lib.strings.concatStrings [palette-hex.util.bg "FF"]; - selection-match = lib.strings.concatStrings [palette-hex.normal.green "FF"]; - match = lib.strings.concatStrings [palette-hex.bright.green "FF"]; - border = lib.strings.concatStrings [palette-hex.bright.yellow "FF"]; - }; - }; - }; -} diff --git a/home/programs/ironbar.nix b/home/programs/ironbar.nix deleted file mode 100644 index c7cfb20..0000000 --- a/home/programs/ironbar.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ - config, - lib, - pkgs, - inputs, - ... -}: { - config.imports = - config.imports - ++ [ - inputs.ironbar.homeManagerModules.default - ]; - config.programs.ironbar = with pkgs.rice; { - # enable = true; - config = { - anchor_to_edges = true; - position = "top"; - height = 8; - icon_theme = icons.name; - - start = [ - { - type = "workspaces"; - all_monitors = true; - } - { - type = "sys_info"; - interval.memory = 30; - interval.cpu = 1; - format = [ - " {cpu_percent}%" - " {memory_used} / {memory_total} GB" - ]; - } - ]; - center = [ - { - type = "focused"; - icon_size = 8; - } - ]; - end = [ - { - type = "music"; - player_type = "mpris"; - - on_click_middle = "playerctl play-pause"; - on_scroll_up = "playerctl volume +5"; - on_scroll_down = "playerctl volume -5"; - } - {type = "clock";} - ]; - }; - style = with palette-hex; (builtins.replaceStrings - [ - "#BG" - "#DARKBG" - "#BORDER" - "#ACTIVEBORDER" - "#TEXT" - "#URGENT" - "#FONT" - "#SZFONT" - ] - [ - util.bg - normal.black - normal.black - normal.black - util.fg - normal.red - fonts.sans.name - "10" # (builtins.toString fonts.sans.size) - ] - (builtins.readFile dots/ironbar.css)); - }; -} diff --git a/home/programs/ollama.nix b/home/programs/ollama.nix deleted file mode 100644 index dbe12a3..0000000 --- a/home/programs/ollama.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - config.programs.firefox.webapps = { - "OpenWebUI" = { - url = "http://127.0.0.1:3021"; - id = 6; - extraSettings = config.programs.firefox.profiles.default.settings; - name = "OpenWebUI Client"; - hidden = true; - }; - }; - - config.systemd.user.services = { - open-webui = { - Unit.Description = "OpenWebUI"; - Service = let - docker = lib.getExe pkgs.docker; - in { - Type = "exec"; - ExecStartPre = "-${docker} create -e PORT=3021 --network host --gpus all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama"; - ExecStart = "${docker} start open-webui"; - ExecStop = "${docker} stop open-webui"; - }; - }; - }; - - config.xdg.desktopEntries = { - open-webui = { - name = "Ollama OpenWebUI"; - type = "Application"; - icon = ../icons/openwebui.png; - exec = "${let - notify-send = "${lib.getExe' pkgs.libnotify "notify-send"} -a \"Ollama OpenWebUI\""; - systemctl = "${lib.getExe' pkgs.systemd "systemctl"}"; - dex = "${lib.getExe pkgs.dex}"; - curl = "${lib.getExe pkgs.curl}"; - in - pkgs.writeShellScript "ollama" - '' - ${notify-send} "Launching backend.." "Please be patient." - ${systemctl} --user start open-webui - attempts=0 - success=false - - while [[ $attempts -lt $((20*9)) ]]; do - if [[ $(${curl} http://127.0.0.1:3021) ]]; then - ${notify-send} "Backend up." "Launching client.." - success=true - break - else - attempts=$((attempts+1)) - if [[ $(($attempts % 20)) -eq 0 ]]; then - ${notify-send} "Launching backend.." "Still launching.. ($((attempts/2))s)" - fi - fi - sleep 0.5 - done - - if [[ ! $success ]]; then - ${notify-send} "Failure" "Failed to launch backend!" - ${systemctl} --user kill open-webui - exit 1 - fi - - sleep 0.5 # give it a little time - ${dex} -w ~/.nix-profile/share/applications/OpenWebUI.desktop - - ${notify-send} "Goodbye" "Shutting down." - ${systemctl} --user stop open-webui - exit 0 - ''}"; - }; - }; -} diff --git a/home/programs/plasma.nix b/home/programs/plasma.nix deleted file mode 100644 index 8a5221e..0000000 --- a/home/programs/plasma.nix +++ /dev/null @@ -1,1016 +0,0 @@ -{ - programs.plasma = { - enable = true; - shortcuts = { - "ActivityManager"."switch-to-activity-8e94f782-b970-49f5-80e1-19c9cf6c8a88" = [ ]; - "KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L"; - "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K"; - "firefox.desktop"."_launch" = "Meta+F"; - "firefox.desktop"."new-private-window" = [ ]; - "firefox.desktop"."new-window" = [ ]; - "firefox.desktop"."profile-manager-window" = [ ]; - "kaccess"."Toggle Screen Reader On and Off" = [ ]; - "kcm_touchpad"."Disable Touchpad" = "Touchpad Off"; - "kcm_touchpad"."Enable Touchpad" = "Touchpad On"; - "kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"]; - "kded5"."Show System Activity" = [ ]; - "kded5"."display" = ["Display" "Meta+P"]; - "khotkeys"."{d03619b6-9b3c-48cc-9d9c-a2aadb485550}" = [ ]; - "kitty.desktop"."_launch" = "Meta+Return"; - "kmix"."decrease_microphone_volume" = "Microphone Volume Down"; - "kmix"."decrease_volume" = "Volume Down"; - "kmix"."decrease_volume_small" = "Shift+Volume Down"; - "kmix"."increase_microphone_volume" = "Microphone Volume Up"; - "kmix"."increase_volume" = "Volume Up"; - "kmix"."increase_volume_small" = "Shift+Volume Up"; - "kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute"]; - "kmix"."mute" = "Volume Mute"; - "ksmserver"."Halt Without Confirmation" = [ ]; - "ksmserver"."Lock Session" = "Screensaver"; - "ksmserver"."Log Out" = ["Meta+Shift+E" "Ctrl+Alt+Del"]; - "ksmserver"."Log Out Without Confirmation" = [ ]; - "ksmserver"."Reboot" = [ ]; - "ksmserver"."Reboot Without Confirmation" = [ ]; - "ksmserver"."Shut Down" = [ ]; - "kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A"; - "kwin"."Cycle Overview" = [ ]; - "kwin"."Cycle Overview Opposite" = [ ]; - "kwin"."Decrease Opacity" = [ ]; - "kwin"."Edit Tiles" = "Meta+T"; - "kwin"."Expose" = "Ctrl+F9"; - "kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C)"]; - "kwin"."ExposeClass" = "Ctrl+F7"; - "kwin"."ExposeClassCurrentDesktop" = [ ]; - "kwin"."Grid View" = "Meta+G"; - "kwin"."Increase Opacity" = [ ]; - "kwin"."Kill Window" = "Meta+Ctrl+Esc"; - "kwin"."Move Tablet to Next Output" = [ ]; - "kwin"."MoveMouseToCenter" = "Meta+F6"; - "kwin"."MoveMouseToFocus" = "Meta+F5"; - "kwin"."MoveZoomDown" = [ ]; - "kwin"."MoveZoomLeft" = [ ]; - "kwin"."MoveZoomRight" = [ ]; - "kwin"."MoveZoomUp" = [ ]; - "kwin"."Overview" = "Meta+W"; - "kwin"."PoloniumCycleLayouts" = [ ]; - "kwin"."PoloniumEngineBTree" = [ ]; - "kwin"."PoloniumEngineHalf" = [ ]; - "kwin"."PoloniumEngineKWin" = [ ]; - "kwin"."PoloniumEngineMonocle" = [ ]; - "kwin"."PoloniumEngineThreeColumn" = [ ]; - "kwin"."PoloniumFocusAbove" = [ ]; - "kwin"."PoloniumFocusBelow" = [ ]; - "kwin"."PoloniumFocusLeft" = [ ]; - "kwin"."PoloniumFocusRight" = [ ]; - "kwin"."PoloniumInsertAbove" = "Meta+Shift+K"; - "kwin"."PoloniumInsertBelow" = "Meta+Shift+J"; - "kwin"."PoloniumInsertLeft" = "Meta+Shift+H"; - "kwin"."PoloniumInsertRight" = "Meta+Shift+L"; - "kwin"."PoloniumOpenSettings" = [ ]; - "kwin"."PoloniumRebuildLayout" = "Meta+Ctrl+Space"; - "kwin"."PoloniumResizeTileDown" = [ ]; - "kwin"."PoloniumResizeTileLeft" = [ ]; - "kwin"."PoloniumResizeTileRight" = [ ]; - "kwin"."PoloniumResizeTileUp" = [ ]; - "kwin"."PoloniumRetileWindow" = "Meta+Space"; - "kwin"."PoloniumShowSettings" = "Meta+/"; - "kwin"."PoloniumSwapAbove" = [ ]; - "kwin"."PoloniumSwapBelow" = [ ]; - "kwin"."PoloniumSwapLeft" = [ ]; - "kwin"."PoloniumSwapRight" = [ ]; - "kwin"."Setup Window Shortcut" = [ ]; - "kwin"."Show Desktop" = [ ]; - "kwin"."ShowDesktopGrid" = "Meta+F8"; - "kwin"."Suspend Compositing" = "Alt+Shift+F12"; - "kwin"."Switch One Desktop Down" = [ ]; - "kwin"."Switch One Desktop Up" = [ ]; - "kwin"."Switch One Desktop to the Left" = [ ]; - "kwin"."Switch One Desktop to the Right" = [ ]; - "kwin"."Switch Window Down" = "Meta+J"; - "kwin"."Switch Window Left" = "Meta+H"; - "kwin"."Switch Window Right" = "Meta+L"; - "kwin"."Switch Window Up" = "Meta+K"; - "kwin"."Switch to Desktop 1" = "Meta+1"; - "kwin"."Switch to Desktop 10" = [ ]; - "kwin"."Switch to Desktop 11" = [ ]; - "kwin"."Switch to Desktop 12" = [ ]; - "kwin"."Switch to Desktop 13" = [ ]; - "kwin"."Switch to Desktop 14" = [ ]; - "kwin"."Switch to Desktop 15" = [ ]; - "kwin"."Switch to Desktop 16" = [ ]; - "kwin"."Switch to Desktop 17" = [ ]; - "kwin"."Switch to Desktop 18" = [ ]; - "kwin"."Switch to Desktop 19" = [ ]; - "kwin"."Switch to Desktop 2" = "Meta+2"; - "kwin"."Switch to Desktop 20" = [ ]; - "kwin"."Switch to Desktop 3" = "Meta+3"; - "kwin"."Switch to Desktop 4" = "Meta+4"; - "kwin"."Switch to Desktop 5" = [ ]; - "kwin"."Switch to Desktop 6" = [ ]; - "kwin"."Switch to Desktop 7" = [ ]; - "kwin"."Switch to Desktop 8" = [ ]; - "kwin"."Switch to Desktop 9" = [ ]; - "kwin"."Switch to Next Desktop" = [ ]; - "kwin"."Switch to Next Screen" = [ ]; - "kwin"."Switch to Previous Desktop" = [ ]; - "kwin"."Switch to Previous Screen" = [ ]; - "kwin"."Switch to Screen 0" = [ ]; - "kwin"."Switch to Screen 1" = [ ]; - "kwin"."Switch to Screen 2" = [ ]; - "kwin"."Switch to Screen 3" = [ ]; - "kwin"."Switch to Screen 4" = [ ]; - "kwin"."Switch to Screen 5" = [ ]; - "kwin"."Switch to Screen 6" = [ ]; - "kwin"."Switch to Screen 7" = [ ]; - "kwin"."Switch to Screen Above" = [ ]; - "kwin"."Switch to Screen Below" = [ ]; - "kwin"."Switch to Screen to the Left" = [ ]; - "kwin"."Switch to Screen to the Right" = [ ]; - "kwin"."Toggle" = [ ]; - "kwin"."Toggle Night Color" = [ ]; - "kwin"."Toggle Window Raise/Lower" = [ ]; - "kwin"."Walk Through Desktop List" = [ ]; - "kwin"."Walk Through Desktop List (Reverse)" = [ ]; - "kwin"."Walk Through Desktops" = [ ]; - "kwin"."Walk Through Desktops (Reverse)" = [ ]; - "kwin"."Walk Through Windows" = "Alt+Tab"; - "kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Backtab"; - "kwin"."Walk Through Windows Alternative" = [ ]; - "kwin"."Walk Through Windows Alternative (Reverse)" = [ ]; - "kwin"."Walk Through Windows of Current Application" = "Alt+`"; - "kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~"; - "kwin"."Walk Through Windows of Current Application Alternative" = [ ]; - "kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = [ ]; - "kwin"."Window Above Other Windows" = [ ]; - "kwin"."Window Below Other Windows" = [ ]; - "kwin"."Window Close" = ["Alt+F4" "Meta+Shift+Q"]; - "kwin"."Window Fullscreen" = [ ]; - "kwin"."Window Grow Horizontal" = [ ]; - "kwin"."Window Grow Vertical" = [ ]; - "kwin"."Window Lower" = [ ]; - "kwin"."Window Maximize" = "Meta+PgUp"; - "kwin"."Window Maximize Horizontal" = [ ]; - "kwin"."Window Maximize Vertical" = [ ]; - "kwin"."Window Minimize" = "Meta+PgDown"; - "kwin"."Window Move" = [ ]; - "kwin"."Window Move Center" = "Meta+C"; - "kwin"."Window No Border" = [ ]; - "kwin"."Window On All Desktops" = [ ]; - "kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down"; - "kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up"; - "kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left"; - "kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right"; - "kwin"."Window One Screen Down" = [ ]; - "kwin"."Window One Screen Up" = [ ]; - "kwin"."Window One Screen to the Left" = [ ]; - "kwin"."Window One Screen to the Right" = [ ]; - "kwin"."Window Operations Menu" = "Alt+F3"; - "kwin"."Window Pack Down" = [ ]; - "kwin"."Window Pack Left" = [ ]; - "kwin"."Window Pack Right" = [ ]; - "kwin"."Window Pack Up" = [ ]; - "kwin"."Window Quick Tile Bottom" = "Meta+Down"; - "kwin"."Window Quick Tile Bottom Left" = [ ]; - "kwin"."Window Quick Tile Bottom Right" = [ ]; - "kwin"."Window Quick Tile Left" = "Meta+Left"; - "kwin"."Window Quick Tile Right" = "Meta+Right"; - "kwin"."Window Quick Tile Top" = "Meta+Up"; - "kwin"."Window Quick Tile Top Left" = [ ]; - "kwin"."Window Quick Tile Top Right" = [ ]; - "kwin"."Window Raise" = [ ]; - "kwin"."Window Resize" = [ ]; - "kwin"."Window Shade" = [ ]; - "kwin"."Window Shrink Horizontal" = [ ]; - "kwin"."Window Shrink Vertical" = [ ]; - "kwin"."Window to Desktop 1" = "Meta+!"; - "kwin"."Window to Desktop 10" = [ ]; - "kwin"."Window to Desktop 11" = [ ]; - "kwin"."Window to Desktop 12" = [ ]; - "kwin"."Window to Desktop 13" = [ ]; - "kwin"."Window to Desktop 14" = [ ]; - "kwin"."Window to Desktop 15" = [ ]; - "kwin"."Window to Desktop 16" = [ ]; - "kwin"."Window to Desktop 17" = [ ]; - "kwin"."Window to Desktop 18" = [ ]; - "kwin"."Window to Desktop 19" = [ ]; - "kwin"."Window to Desktop 2" = "Meta+@"; - "kwin"."Window to Desktop 20" = [ ]; - "kwin"."Window to Desktop 3" = "Meta+#"; - "kwin"."Window to Desktop 4" = "Meta+$"; - "kwin"."Window to Desktop 5" = [ ]; - "kwin"."Window to Desktop 6" = [ ]; - "kwin"."Window to Desktop 7" = [ ]; - "kwin"."Window to Desktop 8" = [ ]; - "kwin"."Window to Desktop 9" = [ ]; - "kwin"."Window to Next Desktop" = [ ]; - "kwin"."Window to Next Screen" = "Meta+Shift+Tab"; - "kwin"."Window to Previous Desktop" = [ ]; - "kwin"."Window to Previous Screen" = [ ]; - "kwin"."Window to Screen 0" = [ ]; - "kwin"."Window to Screen 1" = [ ]; - "kwin"."Window to Screen 2" = [ ]; - "kwin"."Window to Screen 3" = [ ]; - "kwin"."Window to Screen 4" = [ ]; - "kwin"."Window to Screen 5" = [ ]; - "kwin"."Window to Screen 6" = [ ]; - "kwin"."Window to Screen 7" = [ ]; - "kwin"."view_actual_size" = "Meta+0"; - "kwin"."view_zoom_in" = "Meta++"; - "kwin"."view_zoom_out" = [ ]; - "mediacontrol"."mediavolumedown" = [ ]; - "mediacontrol"."mediavolumeup" = [ ]; - "mediacontrol"."nextmedia" = "Media Next"; - "mediacontrol"."pausemedia" = "Media Pause"; - "mediacontrol"."playmedia" = [ ]; - "mediacontrol"."playpausemedia" = "Media Play"; - "mediacontrol"."previousmedia" = "Media Previous"; - "mediacontrol"."stopmedia" = "Media Stop"; - "org.kde.dolphin.desktop"."_launch" = "Meta+E"; - "org.kde.krunner.desktop"."RunClipboard" = "Alt+Shift+F2"; - "org.kde.krunner.desktop"."_launch" = ["Meta+D" "Alt+Space"]; - "org.kde.plasma.emojier.desktop"."_launch" = ["Meta+." "Meta+Ctrl+Alt+Shift+Space"]; - "org.kde.spectacle.desktop"."ActiveWindowScreenShot" = "Meta+Print"; - "org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = [ ]; - "org.kde.spectacle.desktop"."FullScreenScreenShot" = "Shift+Print"; - "org.kde.spectacle.desktop"."OpenWithoutScreenshot" = [ ]; - "org.kde.spectacle.desktop"."RectangularRegionScreenShot" = "Meta+Shift+S"; - "org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = "Meta+Ctrl+Print"; - "org.kde.spectacle.desktop"."_launch" = [ ]; - "org.keepassxc.KeePassXC.desktop"."_launch" = "Meta+-"; - "org.strawberrymusicplayer.strawberry.desktop"."Next" = [ ]; - "org.strawberrymusicplayer.strawberry.desktop"."Play-Pause" = [ ]; - "org.strawberrymusicplayer.strawberry.desktop"."Previous" = [ ]; - "org.strawberrymusicplayer.strawberry.desktop"."Stop" = [ ]; - "org.strawberrymusicplayer.strawberry.desktop"."StopAfterCurrent" = [ ]; - "org.strawberrymusicplayer.strawberry.desktop"."_launch" = "Meta+="; - "org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down"; - "org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down"; - "org_kde_powerdevil"."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down"; - "org_kde_powerdevil"."Hibernate" = "Hibernate"; - "org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up"; - "org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up"; - "org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up"; - "org_kde_powerdevil"."PowerDown" = "Power Down"; - "org_kde_powerdevil"."PowerOff" = "Power Off"; - "org_kde_powerdevil"."Sleep" = "Sleep"; - "org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off"; - "org_kde_powerdevil"."Turn Off Screen" = [ ]; - "org_kde_powerdevil"."powerProfile" = [ ]; - "plasmashell"."activate task manager entry 1" = [ ]; - "plasmashell"."activate task manager entry 10" = [ ]; - "plasmashell"."activate task manager entry 2" = [ ]; - "plasmashell"."activate task manager entry 3" = [ ]; - "plasmashell"."activate task manager entry 4" = [ ]; - "plasmashell"."activate task manager entry 5" = [ ]; - "plasmashell"."activate task manager entry 6" = [ ]; - "plasmashell"."activate task manager entry 7" = [ ]; - "plasmashell"."activate task manager entry 8" = [ ]; - "plasmashell"."activate task manager entry 9" = [ ]; - "plasmashell"."clear-history" = [ ]; - "plasmashell"."clipboard_action" = "Meta+Ctrl+X"; - "plasmashell"."cycle-panels" = "Meta+Alt+P"; - "plasmashell"."cycleNextAction" = [ ]; - "plasmashell"."cyclePrevAction" = [ ]; - "plasmashell"."edit_clipboard" = [ ]; - "plasmashell"."manage activities" = [ ]; - "plasmashell"."next activity" = [ ]; - "plasmashell"."previous activity" = [ ]; - "plasmashell"."repeat_action" = "Meta+Ctrl+R"; - "plasmashell"."show dashboard" = "Ctrl+F12"; - "plasmashell"."show-barcode" = [ ]; - "plasmashell"."show-on-mouse-pos" = "Meta+V"; - "plasmashell"."stop current activity" = "Meta+S"; - "plasmashell"."switch to next activity" = [ ]; - "plasmashell"."switch to previous activity" = [ ]; - "plasmashell"."toggle do not disturb" = [ ]; - "systemsettings.desktop"."_launch" = "Tools"; - "systemsettings.desktop"."kcm-kscreen" = [ ]; - "systemsettings.desktop"."kcm-lookandfeel" = [ ]; - "systemsettings.desktop"."kcm-users" = [ ]; - "systemsettings.desktop"."powerdevilprofilesconfig" = [ ]; - "systemsettings.desktop"."screenlocker" = [ ]; - }; - configFile = { - "baloofilerc"."Basic Settings"."Indexing-Enabled".value = false; - "baloofilerc"."General"."dbVersion".value = 2; - "baloofilerc"."General"."exclude filters".value = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.venv,venv,core-dumps,lost+found"; - "baloofilerc"."General"."exclude filters version".value = 8; - "dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize".value = false; - "dolphinrc"."KFileDialog Settings"."Places Icons Static Size".value = 22; - "kactivitymanagerdrc"."activities"."8e94f782-b970-49f5-80e1-19c9cf6c8a88".value = "Default"; - "kactivitymanagerdrc"."main"."currentActivity".value = "8e94f782-b970-49f5-80e1-19c9cf6c8a88"; - "kcminputrc"."Keyboard"."NumLock".value = 0; - "kcminputrc"."Libinput/6940/7005/ckb2: CORSAIR IRONCLAW RGB Gaming Mouse vM"."PointerAcceleration".value = 0.0; - "kcminputrc"."Libinput/6940/7005/ckb2: CORSAIR IRONCLAW RGB Gaming Mouse vM"."PointerAccelerationProfile".value = 1; - "kcminputrc"."Mouse"."X11LibInputXAccelProfileFlat".value = true; - "kcminputrc"."Mouse"."cursorTheme".value = "breeze_cursors"; - "kcminputrc"."Tmp"."update_info".value = "delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize"; - "kded5rc"."Module-appmenu"."autoload".value = true; - "kded5rc"."Module-baloosearchmodule"."autoload".value = true; - "kded5rc"."Module-browserintegrationreminder"."autoload".value = true; - "kded5rc"."Module-colorcorrectlocationupdater"."autoload".value = true; - "kded5rc"."Module-colord"."autoload".value = true; - "kded5rc"."Module-device_automounter"."autoload".value = false; - "kded5rc"."Module-freespacenotifier"."autoload".value = true; - "kded5rc"."Module-gtkconfig"."autoload".value = true; - "kded5rc"."Module-inotify"."autoload".value = true; - "kded5rc"."Module-kded_touchpad"."autoload".value = false; - "kded5rc"."Module-keyboard"."autoload".value = true; - "kded5rc"."Module-khotkeys"."autoload".value = true; - "kded5rc"."Module-kscreen"."autoload".value = true; - "kded5rc"."Module-ksysguard"."autoload".value = true; - "kded5rc"."Module-ktimezoned"."autoload".value = true; - "kded5rc"."Module-networkmanagement"."autoload".value = true; - "kded5rc"."Module-networkstatus"."autoload".value = true; - "kded5rc"."Module-plasma_accentcolor_service"."autoload".value = true; - "kded5rc"."Module-printmanager"."autoload".value = true; - "kded5rc"."Module-proxyscout"."autoload".value = true; - "kded5rc"."Module-remotenotifier"."autoload".value = true; - "kded5rc"."Module-smbwatcher"."autoload".value = true; - "kded5rc"."Module-statusnotifierwatcher"."autoload".value = true; - "kded5rc"."PlasmaBrowserIntegration"."shownCount".value = 3; - "kdeglobals"."DirSelect Dialog"."DirSelectDialog Size".value = "634,678"; - "kdeglobals"."General"."AllowKDEAppsToRememberWindowPositions".value = true; - "kdeglobals"."General"."XftHintStyle".value = "hintslight"; - "kdeglobals"."General"."XftSubPixel".value = "none"; - "kdeglobals"."General"."fixed".value = "Fira Code,9,-1,5,50,0,0,0,0,0"; - "kdeglobals"."General"."font".value = "Inria Sans,10,-1,5,50,0,0,0,0,0"; - "kdeglobals"."General"."menuFont".value = "Inria Sans,10,-1,5,50,0,0,0,0,0"; - "kdeglobals"."General"."smallestReadableFont".value = "Inria Sans,8,-1,5,50,0,0,0,0,0"; - "kdeglobals"."General"."toolBarFont".value = "Inria Sans,10,-1,5,50,0,0,0,0,0"; - "kdeglobals"."KDE"."AnimationDurationFactor".value = 2; - "kdeglobals"."KDE"."SingleClick".value = false; - "kdeglobals"."KDE"."widgetStyle".value = "kvantum"; - "kdeglobals"."KFileDialog Settings"."Allow Expansion".value = false; - "kdeglobals"."KFileDialog Settings"."Automatically select filename extension".value = true; - "kdeglobals"."KFileDialog Settings"."Breadcrumb Navigation".value = true; - "kdeglobals"."KFileDialog Settings"."Decoration position".value = 2; - "kdeglobals"."KFileDialog Settings"."LocationCombo Completionmode".value = 5; - "kdeglobals"."KFileDialog Settings"."PathCombo Completionmode".value = 5; - "kdeglobals"."KFileDialog Settings"."Show Bookmarks".value = false; - "kdeglobals"."KFileDialog Settings"."Show Full Path".value = false; - "kdeglobals"."KFileDialog Settings"."Show Inline Previews".value = true; - "kdeglobals"."KFileDialog Settings"."Show Preview".value = false; - "kdeglobals"."KFileDialog Settings"."Show Speedbar".value = true; - "kdeglobals"."KFileDialog Settings"."Show hidden files".value = false; - "kdeglobals"."KFileDialog Settings"."Sort by".value = "Name"; - "kdeglobals"."KFileDialog Settings"."Sort directories first".value = true; - "kdeglobals"."KFileDialog Settings"."Sort hidden files last".value = false; - "kdeglobals"."KFileDialog Settings"."Sort reversed".value = false; - "kdeglobals"."KFileDialog Settings"."Speedbar Width".value = 130; - "kdeglobals"."KFileDialog Settings"."View Style".value = "DetailTree"; - "kdeglobals"."Shortcuts"."FullScreen".value = "Meta+Shift+Space; Ctrl+Shift+F"; - "kdeglobals"."WM"."activeBackground".value = "61,61,62"; - "kdeglobals"."WM"."activeBlend".value = "61,61,62"; - "kdeglobals"."WM"."activeFont".value = "Inria Sans,10,-1,5,50,0,0,0,0,0"; - "kdeglobals"."WM"."activeForeground".value = "255,255,255"; - "kdeglobals"."WM"."inactiveBackground".value = "61,61,62"; - "kdeglobals"."WM"."inactiveBlend".value = "61,61,62"; - "kdeglobals"."WM"."inactiveForeground".value = "155,155,155"; - "kglobalshortcutsrc"."ActivityManager"."_k_friendly_name".value = "Activity Manager"; - "kglobalshortcutsrc"."KDE Keyboard Layout Switcher"."_k_friendly_name".value = "Keyboard Layout Switcher"; - "kglobalshortcutsrc"."firefox.desktop"."_k_friendly_name".value = "Firefox"; - "kglobalshortcutsrc"."kaccess"."_k_friendly_name".value = "Accessibility"; - "kglobalshortcutsrc"."kcm_touchpad"."_k_friendly_name".value = "Touchpad"; - "kglobalshortcutsrc"."kded5"."_k_friendly_name".value = "KDE Daemon"; - "kglobalshortcutsrc"."khotkeys"."_k_friendly_name".value = "Custom Shortcuts Service"; - "kglobalshortcutsrc"."kitty.desktop"."_k_friendly_name".value = "kitty"; - "kglobalshortcutsrc"."kmix"."_k_friendly_name".value = "Audio Volume"; - "kglobalshortcutsrc"."ksmserver"."_k_friendly_name".value = "Session Management"; - "kglobalshortcutsrc"."kwin"."_k_friendly_name".value = "KWin"; - "kglobalshortcutsrc"."mediacontrol"."_k_friendly_name".value = "Media Controller"; - "kglobalshortcutsrc"."org.kde.dolphin.desktop"."_k_friendly_name".value = "Dolphin"; - "kglobalshortcutsrc"."org.kde.krunner.desktop"."_k_friendly_name".value = "KRunner"; - "kglobalshortcutsrc"."org.kde.plasma.emojier.desktop"."_k_friendly_name".value = "Emoji Selector"; - "kglobalshortcutsrc"."org.kde.spectacle.desktop"."_k_friendly_name".value = "Spectacle"; - "kglobalshortcutsrc"."org.keepassxc.KeePassXC.desktop"."_k_friendly_name".value = "KeePassXC"; - "kglobalshortcutsrc"."org.strawberrymusicplayer.strawberry.desktop"."_k_friendly_name".value = "Strawberry"; - "kglobalshortcutsrc"."org_kde_powerdevil"."_k_friendly_name".value = "Power Management"; - "kglobalshortcutsrc"."plasmashell"."_k_friendly_name".value = "Plasma"; - "kglobalshortcutsrc"."systemsettings.desktop"."_k_friendly_name".value = "System Settings"; - "khotkeysrc"."Data"."DataCount".value = 3; - "khotkeysrc"."Data_1"."Comment".value = "KMenuEdit Global Shortcuts"; - "khotkeysrc"."Data_1"."DataCount".value = 1; - "khotkeysrc"."Data_1"."Enabled".value = true; - "khotkeysrc"."Data_1"."Name".value = "KMenuEdit"; - "khotkeysrc"."Data_1"."SystemGroup".value = 1; - "khotkeysrc"."Data_1"."Type".value = "ACTION_DATA_GROUP"; - "khotkeysrc"."Data_1Conditions"."Comment".value = ""; - "khotkeysrc"."Data_1Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_1_1"."Comment".value = "Comment"; - "khotkeysrc"."Data_1_1"."Enabled".value = true; - "khotkeysrc"."Data_1_1"."Name".value = "Search"; - "khotkeysrc"."Data_1_1"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_1_1Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_1_1Actions0"."CommandURL".value = "http://google.com"; - "khotkeysrc"."Data_1_1Actions0"."Type".value = "COMMAND_URL"; - "khotkeysrc"."Data_1_1Conditions"."Comment".value = ""; - "khotkeysrc"."Data_1_1Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_1_1Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_1_1Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_1_1Triggers0"."Key".value = ""; - "khotkeysrc"."Data_1_1Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_1_1Triggers0"."Uuid".value = "{d03619b6-9b3c-48cc-9d9c-a2aadb485550}"; - "khotkeysrc"."Data_2"."Comment".value = "This group contains various examples demonstrating most of the features of KHotkeys. (Note that this group and all its actions are disabled by default.)"; - "khotkeysrc"."Data_2"."DataCount".value = 8; - "khotkeysrc"."Data_2"."Enabled".value = false; - "khotkeysrc"."Data_2"."ImportId".value = "kde32b1"; - "khotkeysrc"."Data_2"."Name".value = "Examples"; - "khotkeysrc"."Data_2"."SystemGroup".value = 0; - "khotkeysrc"."Data_2"."Type".value = "ACTION_DATA_GROUP"; - "khotkeysrc"."Data_2Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_1"."Comment".value = "After pressing Ctrl+Alt+I, the KSIRC window will be activated, if it exists. Simple."; - "khotkeysrc"."Data_2_1"."Enabled".value = false; - "khotkeysrc"."Data_2_1"."Name".value = "Activate KSIRC Window"; - "khotkeysrc"."Data_2_1"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_1Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_1Actions0"."Type".value = "ACTIVATE_WINDOW"; - "khotkeysrc"."Data_2_1Actions0Window"."Comment".value = "KSIRC window"; - "khotkeysrc"."Data_2_1Actions0Window"."WindowsCount".value = 1; - "khotkeysrc"."Data_2_1Actions0Window0"."Class".value = "ksirc"; - "khotkeysrc"."Data_2_1Actions0Window0"."ClassType".value = 1; - "khotkeysrc"."Data_2_1Actions0Window0"."Comment".value = "KSIRC"; - "khotkeysrc"."Data_2_1Actions0Window0"."Role".value = ""; - "khotkeysrc"."Data_2_1Actions0Window0"."RoleType".value = 0; - "khotkeysrc"."Data_2_1Actions0Window0"."Title".value = ""; - "khotkeysrc"."Data_2_1Actions0Window0"."TitleType".value = 0; - "khotkeysrc"."Data_2_1Actions0Window0"."Type".value = "SIMPLE"; - "khotkeysrc"."Data_2_1Actions0Window0"."WindowTypes".value = 33; - "khotkeysrc"."Data_2_1Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_1Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_1Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_2_1Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_1Triggers0"."Key".value = "Ctrl+Alt+I"; - "khotkeysrc"."Data_2_1Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_1Triggers0"."Uuid".value = "{6350a691-0904-4df9-afb3-93313737d803}"; - "khotkeysrc"."Data_2_2"."Comment".value = "After pressing Alt+Ctrl+H the input of 'Hello' will be simulated, as if you typed it. This is especially useful if you have call to frequently type a word (for instance, 'unsigned'). Every keypress in the input is separated by a colon ':'. Note that the keypresses literally mean keypresses, so you have to write what you would press on the keyboard. In the table below, the left column shows the input and the right column shows what to type.\n\n\"enter\" (i.e. new line) Enter or Return\na (i.e. small a) A\nA (i.e. capital a) Shift+A\n: (colon) Shift+;\n' ' (space) Space"; - "khotkeysrc"."Data_2_2"."Enabled".value = false; - "khotkeysrc"."Data_2_2"."Name".value = "Type 'Hello'"; - "khotkeysrc"."Data_2_2"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_2Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_2Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_2_2Actions0"."Input".value = "Shift+H:E:L:L:O\n"; - "khotkeysrc"."Data_2_2Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_2Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_2Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_2Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_2_2Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_2Triggers0"."Key".value = "Ctrl+Alt+H"; - "khotkeysrc"."Data_2_2Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_2Triggers0"."Uuid".value = "{aad8ec3b-f44c-497b-b167-0b75d13c0d31}"; - "khotkeysrc"."Data_2_3"."Comment".value = "This action runs Konsole, after pressing Ctrl+Alt+T."; - "khotkeysrc"."Data_2_3"."Enabled".value = false; - "khotkeysrc"."Data_2_3"."Name".value = "Run Konsole"; - "khotkeysrc"."Data_2_3"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_3Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_3Actions0"."CommandURL".value = "konsole"; - "khotkeysrc"."Data_2_3Actions0"."Type".value = "COMMAND_URL"; - "khotkeysrc"."Data_2_3Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_3Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_3Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_2_3Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_3Triggers0"."Key".value = "Ctrl+Alt+T"; - "khotkeysrc"."Data_2_3Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_3Triggers0"."Uuid".value = "{1874dfeb-0e88-42ad-91a3-7c61ed0d98e9}"; - "khotkeysrc"."Data_2_4"."Comment".value = "Read the comment on the \"Type 'Hello'\" action first.\n\nQt Designer uses Ctrl+F4 for closing windows. In KDE, however, Ctrl+F4 is the shortcut for going to virtual desktop 4, so this shortcut does not work in Qt Designer. Further, Qt Designer does not use KDE's standard Ctrl+W for closing the window.\n\nThis problem can be solved by remapping Ctrl+W to Ctrl+F4 when the active window is Qt Designer. When Qt Designer is active, every time Ctrl+W is pressed, Ctrl+F4 will be sent to Qt Designer instead. In other applications, the effect of Ctrl+W is unchanged.\n\nWe now need to specify three things: A new shortcut trigger on 'Ctrl+W', a new keyboard input action sending Ctrl+F4, and a new condition that the active window is Qt Designer.\nQt Designer seems to always have title 'Qt Designer by Trolltech', so the condition will check for the active window having that title."; - "khotkeysrc"."Data_2_4"."Enabled".value = false; - "khotkeysrc"."Data_2_4"."Name".value = "Remap Ctrl+W to Ctrl+F4 in Qt Designer"; - "khotkeysrc"."Data_2_4"."Type".value = "GENERIC_ACTION_DATA"; - "khotkeysrc"."Data_2_4Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_4Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_2_4Actions0"."Input".value = "Ctrl+F4"; - "khotkeysrc"."Data_2_4Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_4Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_4Conditions"."ConditionsCount".value = 1; - "khotkeysrc"."Data_2_4Conditions0"."Type".value = "ACTIVE_WINDOW"; - "khotkeysrc"."Data_2_4Conditions0Window"."Comment".value = "Qt Designer"; - "khotkeysrc"."Data_2_4Conditions0Window"."WindowsCount".value = 1; - "khotkeysrc"."Data_2_4Conditions0Window0"."Class".value = ""; - "khotkeysrc"."Data_2_4Conditions0Window0"."ClassType".value = 0; - "khotkeysrc"."Data_2_4Conditions0Window0"."Comment".value = ""; - "khotkeysrc"."Data_2_4Conditions0Window0"."Role".value = ""; - "khotkeysrc"."Data_2_4Conditions0Window0"."RoleType".value = 0; - "khotkeysrc"."Data_2_4Conditions0Window0"."Title".value = "Qt Designer by Trolltech"; - "khotkeysrc"."Data_2_4Conditions0Window0"."TitleType".value = 2; - "khotkeysrc"."Data_2_4Conditions0Window0"."Type".value = "SIMPLE"; - "khotkeysrc"."Data_2_4Conditions0Window0"."WindowTypes".value = 33; - "khotkeysrc"."Data_2_4Triggers"."Comment".value = ""; - "khotkeysrc"."Data_2_4Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_4Triggers0"."Key".value = "Ctrl+W"; - "khotkeysrc"."Data_2_4Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_4Triggers0"."Uuid".value = "{5507a2a2-2bee-486b-841f-84b7f5f00345}"; - "khotkeysrc"."Data_2_5"."Comment".value = "By pressing Alt+Ctrl+W a D-Bus call will be performed that will show the minicli. You can use any kind of D-Bus call, just like using the command line 'qdbus' tool."; - "khotkeysrc"."Data_2_5"."Enabled".value = false; - "khotkeysrc"."Data_2_5"."Name".value = "Perform D-Bus call 'qdbus org.kde.krunner /App display'"; - "khotkeysrc"."Data_2_5"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_5Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_5Actions0"."Arguments".value = ""; - "khotkeysrc"."Data_2_5Actions0"."Call".value = "popupExecuteCommand"; - "khotkeysrc"."Data_2_5Actions0"."RemoteApp".value = "org.kde.krunner"; - "khotkeysrc"."Data_2_5Actions0"."RemoteObj".value = "/App"; - "khotkeysrc"."Data_2_5Actions0"."Type".value = "DBUS"; - "khotkeysrc"."Data_2_5Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_5Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_5Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_2_5Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_5Triggers0"."Key".value = "Ctrl+Alt+W"; - "khotkeysrc"."Data_2_5Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_5Triggers0"."Uuid".value = "{67fbaa84-75e1-41d4-becd-fd858397edf4}"; - "khotkeysrc"."Data_2_6"."Comment".value = "Read the comment on the \"Type 'Hello'\" action first.\n\nJust like the \"Type 'Hello'\" action, this one simulates keyboard input, specifically, after pressing Ctrl+Alt+B, it sends B to XMMS (B in XMMS jumps to the next song). The 'Send to specific window' checkbox is checked and a window with its class containing 'XMMS_Player' is specified; this will make the input always be sent to this window. This way, you can control XMMS even if, for instance, it is on a different virtual desktop.\n\n(Run 'xprop' and click on the XMMS window and search for WM_CLASS to see 'XMMS_Player')."; - "khotkeysrc"."Data_2_6"."Enabled".value = false; - "khotkeysrc"."Data_2_6"."Name".value = "Next in XMMS"; - "khotkeysrc"."Data_2_6"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_6Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_6Actions0"."DestinationWindow".value = 1; - "khotkeysrc"."Data_2_6Actions0"."Input".value = "B"; - "khotkeysrc"."Data_2_6Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_6Actions0DestinationWindow"."Comment".value = "XMMS window"; - "khotkeysrc"."Data_2_6Actions0DestinationWindow"."WindowsCount".value = 1; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Class".value = "XMMS_Player"; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."ClassType".value = 1; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Comment".value = "XMMS Player window"; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Role".value = ""; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."RoleType".value = 0; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Title".value = ""; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."TitleType".value = 0; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Type".value = "SIMPLE"; - "khotkeysrc"."Data_2_6Actions0DestinationWindow0"."WindowTypes".value = 33; - "khotkeysrc"."Data_2_6Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_6Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_6Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_2_6Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_6Triggers0"."Key".value = "Ctrl+Alt+B"; - "khotkeysrc"."Data_2_6Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_6Triggers0"."Uuid".value = "{5d0dbf6a-45e3-47db-98b8-f090030dd850}"; - "khotkeysrc"."Data_2_7"."Comment".value = "Konqueror in KDE3.1 has tabs, and now you can also have gestures.\n\nJust press the middle mouse button and start drawing one of the gestures, and after you are finished, release the mouse button. If you only need to paste the selection, it still works, just click the middle mouse button. (You can change the mouse button to use in the global settings).\n\nRight now, there are the following gestures available:\nmove right and back left - Forward (Alt+Right)\nmove left and back right - Back (Alt+Left)\nmove up and back down - Up (Alt+Up)\ncircle counterclockwise - Reload (F5)\n\nThe gesture shapes can be entered by performing them in the configuration dialog. You can also look at your numeric pad to help you: gestures are recognized like a 3x3 grid of fields, numbered 1 to 9.\n\nNote that you must perform exactly the gesture to trigger the action. Because of this, it is possible to enter more gestures for the action. You should try to avoid complicated gestures where you change the direction of mouse movement more than once. For instance, 45654 or 74123 are simple to perform, but 1236987 may be already quite difficult.\n\nThe conditions for all gestures are defined in this group. All these gestures are active only if the active window is Konqueror (class contains 'konqueror')."; - "khotkeysrc"."Data_2_7"."DataCount".value = 4; - "khotkeysrc"."Data_2_7"."Enabled".value = false; - "khotkeysrc"."Data_2_7"."Name".value = "Konqi Gestures"; - "khotkeysrc"."Data_2_7"."SystemGroup".value = 0; - "khotkeysrc"."Data_2_7"."Type".value = "ACTION_DATA_GROUP"; - "khotkeysrc"."Data_2_7Conditions"."Comment".value = "Konqueror window"; - "khotkeysrc"."Data_2_7Conditions"."ConditionsCount".value = 1; - "khotkeysrc"."Data_2_7Conditions0"."Type".value = "ACTIVE_WINDOW"; - "khotkeysrc"."Data_2_7Conditions0Window"."Comment".value = "Konqueror"; - "khotkeysrc"."Data_2_7Conditions0Window"."WindowsCount".value = 1; - "khotkeysrc"."Data_2_7Conditions0Window0"."Class".value = "konqueror"; - "khotkeysrc"."Data_2_7Conditions0Window0"."ClassType".value = 1; - "khotkeysrc"."Data_2_7Conditions0Window0"."Comment".value = "Konqueror"; - "khotkeysrc"."Data_2_7Conditions0Window0"."Role".value = ""; - "khotkeysrc"."Data_2_7Conditions0Window0"."RoleType".value = 0; - "khotkeysrc"."Data_2_7Conditions0Window0"."Title".value = ""; - "khotkeysrc"."Data_2_7Conditions0Window0"."TitleType".value = 0; - "khotkeysrc"."Data_2_7Conditions0Window0"."Type".value = "SIMPLE"; - "khotkeysrc"."Data_2_7Conditions0Window0"."WindowTypes".value = 33; - "khotkeysrc"."Data_2_7_1"."Comment".value = ""; - "khotkeysrc"."Data_2_7_1"."Enabled".value = false; - "khotkeysrc"."Data_2_7_1"."Name".value = "Back"; - "khotkeysrc"."Data_2_7_1"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_7_1Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_7_1Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_2_7_1Actions0"."Input".value = "Alt+Left"; - "khotkeysrc"."Data_2_7_1Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_7_1Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_7_1Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_7_1Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_2_7_1Triggers"."TriggersCount".value = 3; - "khotkeysrc"."Data_2_7_1Triggers0"."GesturePointData".value = "0,0.0625,1,1,0.5,0.0625,0.0625,1,0.875,0.5,0.125,0.0625,1,0.75,0.5,0.1875,0.0625,1,0.625,0.5,0.25,0.0625,1,0.5,0.5,0.3125,0.0625,1,0.375,0.5,0.375,0.0625,1,0.25,0.5,0.4375,0.0625,1,0.125,0.5,0.5,0.0625,0,0,0.5,0.5625,0.0625,0,0.125,0.5,0.625,0.0625,0,0.25,0.5,0.6875,0.0625,0,0.375,0.5,0.75,0.0625,0,0.5,0.5,0.8125,0.0625,0,0.625,0.5,0.875,0.0625,0,0.75,0.5,0.9375,0.0625,0,0.875,0.5,1,0,0,1,0.5"; - "khotkeysrc"."Data_2_7_1Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_1Triggers1"."GesturePointData".value = "0,0.0833333,1,0.5,0.5,0.0833333,0.0833333,1,0.375,0.5,0.166667,0.0833333,1,0.25,0.5,0.25,0.0833333,1,0.125,0.5,0.333333,0.0833333,0,0,0.5,0.416667,0.0833333,0,0.125,0.5,0.5,0.0833333,0,0.25,0.5,0.583333,0.0833333,0,0.375,0.5,0.666667,0.0833333,0,0.5,0.5,0.75,0.0833333,0,0.625,0.5,0.833333,0.0833333,0,0.75,0.5,0.916667,0.0833333,0,0.875,0.5,1,0,0,1,0.5"; - "khotkeysrc"."Data_2_7_1Triggers1"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_1Triggers2"."GesturePointData".value = "0,0.0833333,1,1,0.5,0.0833333,0.0833333,1,0.875,0.5,0.166667,0.0833333,1,0.75,0.5,0.25,0.0833333,1,0.625,0.5,0.333333,0.0833333,1,0.5,0.5,0.416667,0.0833333,1,0.375,0.5,0.5,0.0833333,1,0.25,0.5,0.583333,0.0833333,1,0.125,0.5,0.666667,0.0833333,0,0,0.5,0.75,0.0833333,0,0.125,0.5,0.833333,0.0833333,0,0.25,0.5,0.916667,0.0833333,0,0.375,0.5,1,0,0,0.5,0.5"; - "khotkeysrc"."Data_2_7_1Triggers2"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_2"."Comment".value = ""; - "khotkeysrc"."Data_2_7_2"."Enabled".value = false; - "khotkeysrc"."Data_2_7_2"."Name".value = "Forward"; - "khotkeysrc"."Data_2_7_2"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_7_2Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_7_2Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_2_7_2Actions0"."Input".value = "Alt+Right"; - "khotkeysrc"."Data_2_7_2Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_7_2Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_7_2Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_7_2Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_2_7_2Triggers"."TriggersCount".value = 3; - "khotkeysrc"."Data_2_7_2Triggers0"."GesturePointData".value = "0,0.0625,0,0,0.5,0.0625,0.0625,0,0.125,0.5,0.125,0.0625,0,0.25,0.5,0.1875,0.0625,0,0.375,0.5,0.25,0.0625,0,0.5,0.5,0.3125,0.0625,0,0.625,0.5,0.375,0.0625,0,0.75,0.5,0.4375,0.0625,0,0.875,0.5,0.5,0.0625,1,1,0.5,0.5625,0.0625,1,0.875,0.5,0.625,0.0625,1,0.75,0.5,0.6875,0.0625,1,0.625,0.5,0.75,0.0625,1,0.5,0.5,0.8125,0.0625,1,0.375,0.5,0.875,0.0625,1,0.25,0.5,0.9375,0.0625,1,0.125,0.5,1,0,0,0,0.5"; - "khotkeysrc"."Data_2_7_2Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_2Triggers1"."GesturePointData".value = "0,0.0833333,0,0.5,0.5,0.0833333,0.0833333,0,0.625,0.5,0.166667,0.0833333,0,0.75,0.5,0.25,0.0833333,0,0.875,0.5,0.333333,0.0833333,1,1,0.5,0.416667,0.0833333,1,0.875,0.5,0.5,0.0833333,1,0.75,0.5,0.583333,0.0833333,1,0.625,0.5,0.666667,0.0833333,1,0.5,0.5,0.75,0.0833333,1,0.375,0.5,0.833333,0.0833333,1,0.25,0.5,0.916667,0.0833333,1,0.125,0.5,1,0,0,0,0.5"; - "khotkeysrc"."Data_2_7_2Triggers1"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_2Triggers2"."GesturePointData".value = "0,0.0833333,0,0,0.5,0.0833333,0.0833333,0,0.125,0.5,0.166667,0.0833333,0,0.25,0.5,0.25,0.0833333,0,0.375,0.5,0.333333,0.0833333,0,0.5,0.5,0.416667,0.0833333,0,0.625,0.5,0.5,0.0833333,0,0.75,0.5,0.583333,0.0833333,0,0.875,0.5,0.666667,0.0833333,1,1,0.5,0.75,0.0833333,1,0.875,0.5,0.833333,0.0833333,1,0.75,0.5,0.916667,0.0833333,1,0.625,0.5,1,0,0,0.5,0.5"; - "khotkeysrc"."Data_2_7_2Triggers2"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_3"."Comment".value = ""; - "khotkeysrc"."Data_2_7_3"."Enabled".value = false; - "khotkeysrc"."Data_2_7_3"."Name".value = "Up"; - "khotkeysrc"."Data_2_7_3"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_7_3Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_7_3Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_2_7_3Actions0"."Input".value = "Alt+Up"; - "khotkeysrc"."Data_2_7_3Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_7_3Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_7_3Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_7_3Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_2_7_3Triggers"."TriggersCount".value = 3; - "khotkeysrc"."Data_2_7_3Triggers0"."GesturePointData".value = "0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1"; - "khotkeysrc"."Data_2_7_3Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_3Triggers1"."GesturePointData".value = "0,0.0833333,-0.5,0.5,1,0.0833333,0.0833333,-0.5,0.5,0.875,0.166667,0.0833333,-0.5,0.5,0.75,0.25,0.0833333,-0.5,0.5,0.625,0.333333,0.0833333,-0.5,0.5,0.5,0.416667,0.0833333,-0.5,0.5,0.375,0.5,0.0833333,-0.5,0.5,0.25,0.583333,0.0833333,-0.5,0.5,0.125,0.666667,0.0833333,0.5,0.5,0,0.75,0.0833333,0.5,0.5,0.125,0.833333,0.0833333,0.5,0.5,0.25,0.916667,0.0833333,0.5,0.5,0.375,1,0,0,0.5,0.5"; - "khotkeysrc"."Data_2_7_3Triggers1"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_3Triggers2"."GesturePointData".value = "0,0.0833333,-0.5,0.5,0.5,0.0833333,0.0833333,-0.5,0.5,0.375,0.166667,0.0833333,-0.5,0.5,0.25,0.25,0.0833333,-0.5,0.5,0.125,0.333333,0.0833333,0.5,0.5,0,0.416667,0.0833333,0.5,0.5,0.125,0.5,0.0833333,0.5,0.5,0.25,0.583333,0.0833333,0.5,0.5,0.375,0.666667,0.0833333,0.5,0.5,0.5,0.75,0.0833333,0.5,0.5,0.625,0.833333,0.0833333,0.5,0.5,0.75,0.916667,0.0833333,0.5,0.5,0.875,1,0,0,0.5,1"; - "khotkeysrc"."Data_2_7_3Triggers2"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_4"."Comment".value = ""; - "khotkeysrc"."Data_2_7_4"."Enabled".value = false; - "khotkeysrc"."Data_2_7_4"."Name".value = "Reload"; - "khotkeysrc"."Data_2_7_4"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_7_4Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_7_4Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_2_7_4Actions0"."Input".value = "F5"; - "khotkeysrc"."Data_2_7_4Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_2_7_4Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_7_4Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_7_4Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_2_7_4Triggers"."TriggersCount".value = 3; - "khotkeysrc"."Data_2_7_4Triggers0"."GesturePointData".value = "0,0.03125,0,0,1,0.03125,0.03125,0,0.125,1,0.0625,0.03125,0,0.25,1,0.09375,0.03125,0,0.375,1,0.125,0.03125,0,0.5,1,0.15625,0.03125,0,0.625,1,0.1875,0.03125,0,0.75,1,0.21875,0.03125,0,0.875,1,0.25,0.03125,-0.5,1,1,0.28125,0.03125,-0.5,1,0.875,0.3125,0.03125,-0.5,1,0.75,0.34375,0.03125,-0.5,1,0.625,0.375,0.03125,-0.5,1,0.5,0.40625,0.03125,-0.5,1,0.375,0.4375,0.03125,-0.5,1,0.25,0.46875,0.03125,-0.5,1,0.125,0.5,0.03125,1,1,0,0.53125,0.03125,1,0.875,0,0.5625,0.03125,1,0.75,0,0.59375,0.03125,1,0.625,0,0.625,0.03125,1,0.5,0,0.65625,0.03125,1,0.375,0,0.6875,0.03125,1,0.25,0,0.71875,0.03125,1,0.125,0,0.75,0.03125,0.5,0,0,0.78125,0.03125,0.5,0,0.125,0.8125,0.03125,0.5,0,0.25,0.84375,0.03125,0.5,0,0.375,0.875,0.03125,0.5,0,0.5,0.90625,0.03125,0.5,0,0.625,0.9375,0.03125,0.5,0,0.75,0.96875,0.03125,0.5,0,0.875,1,0,0,0,1"; - "khotkeysrc"."Data_2_7_4Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_4Triggers1"."GesturePointData".value = "0,0.0277778,0,0,1,0.0277778,0.0277778,0,0.125,1,0.0555556,0.0277778,0,0.25,1,0.0833333,0.0277778,0,0.375,1,0.111111,0.0277778,0,0.5,1,0.138889,0.0277778,0,0.625,1,0.166667,0.0277778,0,0.75,1,0.194444,0.0277778,0,0.875,1,0.222222,0.0277778,-0.5,1,1,0.25,0.0277778,-0.5,1,0.875,0.277778,0.0277778,-0.5,1,0.75,0.305556,0.0277778,-0.5,1,0.625,0.333333,0.0277778,-0.5,1,0.5,0.361111,0.0277778,-0.5,1,0.375,0.388889,0.0277778,-0.5,1,0.25,0.416667,0.0277778,-0.5,1,0.125,0.444444,0.0277778,1,1,0,0.472222,0.0277778,1,0.875,0,0.5,0.0277778,1,0.75,0,0.527778,0.0277778,1,0.625,0,0.555556,0.0277778,1,0.5,0,0.583333,0.0277778,1,0.375,0,0.611111,0.0277778,1,0.25,0,0.638889,0.0277778,1,0.125,0,0.666667,0.0277778,0.5,0,0,0.694444,0.0277778,0.5,0,0.125,0.722222,0.0277778,0.5,0,0.25,0.75,0.0277778,0.5,0,0.375,0.777778,0.0277778,0.5,0,0.5,0.805556,0.0277778,0.5,0,0.625,0.833333,0.0277778,0.5,0,0.75,0.861111,0.0277778,0.5,0,0.875,0.888889,0.0277778,0,0,1,0.916667,0.0277778,0,0.125,1,0.944444,0.0277778,0,0.25,1,0.972222,0.0277778,0,0.375,1,1,0,0,0.5,1"; - "khotkeysrc"."Data_2_7_4Triggers1"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_7_4Triggers2"."GesturePointData".value = "0,0.0277778,0.5,0,0.5,0.0277778,0.0277778,0.5,0,0.625,0.0555556,0.0277778,0.5,0,0.75,0.0833333,0.0277778,0.5,0,0.875,0.111111,0.0277778,0,0,1,0.138889,0.0277778,0,0.125,1,0.166667,0.0277778,0,0.25,1,0.194444,0.0277778,0,0.375,1,0.222222,0.0277778,0,0.5,1,0.25,0.0277778,0,0.625,1,0.277778,0.0277778,0,0.75,1,0.305556,0.0277778,0,0.875,1,0.333333,0.0277778,-0.5,1,1,0.361111,0.0277778,-0.5,1,0.875,0.388889,0.0277778,-0.5,1,0.75,0.416667,0.0277778,-0.5,1,0.625,0.444444,0.0277778,-0.5,1,0.5,0.472222,0.0277778,-0.5,1,0.375,0.5,0.0277778,-0.5,1,0.25,0.527778,0.0277778,-0.5,1,0.125,0.555556,0.0277778,1,1,0,0.583333,0.0277778,1,0.875,0,0.611111,0.0277778,1,0.75,0,0.638889,0.0277778,1,0.625,0,0.666667,0.0277778,1,0.5,0,0.694444,0.0277778,1,0.375,0,0.722222,0.0277778,1,0.25,0,0.75,0.0277778,1,0.125,0,0.777778,0.0277778,0.5,0,0,0.805556,0.0277778,0.5,0,0.125,0.833333,0.0277778,0.5,0,0.25,0.861111,0.0277778,0.5,0,0.375,0.888889,0.0277778,0.5,0,0.5,0.916667,0.0277778,0.5,0,0.625,0.944444,0.0277778,0.5,0,0.75,0.972222,0.0277778,0.5,0,0.875,1,0,0,0,1"; - "khotkeysrc"."Data_2_7_4Triggers2"."Type".value = "GESTURE"; - "khotkeysrc"."Data_2_8"."Comment".value = "After pressing Win+E (Tux+E) a WWW browser will be launched, and it will open http://www.kde.org . You may run all kind of commands you can run in minicli (Alt+F2)."; - "khotkeysrc"."Data_2_8"."Enabled".value = false; - "khotkeysrc"."Data_2_8"."Name".value = "Go to KDE Website"; - "khotkeysrc"."Data_2_8"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_2_8Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_2_8Actions0"."CommandURL".value = "http://www.kde.org"; - "khotkeysrc"."Data_2_8Actions0"."Type".value = "COMMAND_URL"; - "khotkeysrc"."Data_2_8Conditions"."Comment".value = ""; - "khotkeysrc"."Data_2_8Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_2_8Triggers"."Comment".value = "Simple_action"; - "khotkeysrc"."Data_2_8Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_2_8Triggers0"."Key".value = "Meta+E"; - "khotkeysrc"."Data_2_8Triggers0"."Type".value = "SHORTCUT"; - "khotkeysrc"."Data_2_8Triggers0"."Uuid".value = "{a3b07561-9d00-48cb-8006-96b57ad71a6d}"; - "khotkeysrc"."Data_3"."Comment".value = "Basic Konqueror gestures."; - "khotkeysrc"."Data_3"."DataCount".value = 14; - "khotkeysrc"."Data_3"."Enabled".value = true; - "khotkeysrc"."Data_3"."ImportId".value = "konqueror_gestures_kde321"; - "khotkeysrc"."Data_3"."Name".value = "Konqueror Gestures"; - "khotkeysrc"."Data_3"."SystemGroup".value = 0; - "khotkeysrc"."Data_3"."Type".value = "ACTION_DATA_GROUP"; - "khotkeysrc"."Data_3Conditions"."Comment".value = "Konqueror window"; - "khotkeysrc"."Data_3Conditions"."ConditionsCount".value = 1; - "khotkeysrc"."Data_3Conditions0"."Type".value = "ACTIVE_WINDOW"; - "khotkeysrc"."Data_3Conditions0Window"."Comment".value = "Konqueror"; - "khotkeysrc"."Data_3Conditions0Window"."WindowsCount".value = 1; - "khotkeysrc"."Data_3Conditions0Window0"."Class".value = "^konquerors"; - "khotkeysrc"."Data_3Conditions0Window0"."ClassType".value = 3; - "khotkeysrc"."Data_3Conditions0Window0"."Comment".value = "Konqueror"; - "khotkeysrc"."Data_3Conditions0Window0"."Role".value = "konqueror-mainwindow#1"; - "khotkeysrc"."Data_3Conditions0Window0"."RoleType".value = 0; - "khotkeysrc"."Data_3Conditions0Window0"."Title".value = "file:/ - Konqueror"; - "khotkeysrc"."Data_3Conditions0Window0"."TitleType".value = 0; - "khotkeysrc"."Data_3Conditions0Window0"."Type".value = "SIMPLE"; - "khotkeysrc"."Data_3Conditions0Window0"."WindowTypes".value = 1; - "khotkeysrc"."Data_3_1"."Comment".value = "Press, move left, release."; - "khotkeysrc"."Data_3_1"."Enabled".value = true; - "khotkeysrc"."Data_3_1"."Name".value = "Back"; - "khotkeysrc"."Data_3_1"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_10"."Comment".value = "Opera-style: Press, move up, release.\nNOTE: Conflicts with 'New Tab', and as such is disabled by default."; - "khotkeysrc"."Data_3_10"."Enabled".value = false; - "khotkeysrc"."Data_3_10"."Name".value = "Stop Loading"; - "khotkeysrc"."Data_3_10"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_10Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_10Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_10Actions0"."Input".value = "Escape\n"; - "khotkeysrc"."Data_3_10Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_10Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_10Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_10Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_10Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_10Triggers0"."GesturePointData".value = "0,0.125,-0.5,0.5,1,0.125,0.125,-0.5,0.5,0.875,0.25,0.125,-0.5,0.5,0.75,0.375,0.125,-0.5,0.5,0.625,0.5,0.125,-0.5,0.5,0.5,0.625,0.125,-0.5,0.5,0.375,0.75,0.125,-0.5,0.5,0.25,0.875,0.125,-0.5,0.5,0.125,1,0,0,0.5,0"; - "khotkeysrc"."Data_3_10Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_11"."Comment".value = "Going up in URL/directory structure.\nMozilla-style: Press, move up, move left, move up, release."; - "khotkeysrc"."Data_3_11"."Enabled".value = true; - "khotkeysrc"."Data_3_11"."Name".value = "Up"; - "khotkeysrc"."Data_3_11"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_11Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_11Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_11Actions0"."Input".value = "Alt+Up"; - "khotkeysrc"."Data_3_11Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_11Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_11Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_11Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_11Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_11Triggers0"."GesturePointData".value = "0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,1,1,0.5,0.3125,0.0625,1,0.875,0.5,0.375,0.0625,1,0.75,0.5,0.4375,0.0625,1,0.625,0.5,0.5,0.0625,1,0.5,0.5,0.5625,0.0625,1,0.375,0.5,0.625,0.0625,1,0.25,0.5,0.6875,0.0625,1,0.125,0.5,0.75,0.0625,-0.5,0,0.5,0.8125,0.0625,-0.5,0,0.375,0.875,0.0625,-0.5,0,0.25,0.9375,0.0625,-0.5,0,0.125,1,0,0,0,0"; - "khotkeysrc"."Data_3_11Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_12"."Comment".value = "Going up in URL/directory structure.\nOpera-style: Press, move up, move left, move up, release.\nNOTE: Conflicts with \"Activate Previous Tab\", and as such is disabled by default."; - "khotkeysrc"."Data_3_12"."Enabled".value = false; - "khotkeysrc"."Data_3_12"."Name".value = "Up #2"; - "khotkeysrc"."Data_3_12"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_12Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_12Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_12Actions0"."Input".value = "Alt+Up\n"; - "khotkeysrc"."Data_3_12Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_12Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_12Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_12Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_12Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_12Triggers0"."GesturePointData".value = "0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,-0.5,1,0.5,0.3125,0.0625,-0.5,1,0.375,0.375,0.0625,-0.5,1,0.25,0.4375,0.0625,-0.5,1,0.125,0.5,0.0625,1,1,0,0.5625,0.0625,1,0.875,0,0.625,0.0625,1,0.75,0,0.6875,0.0625,1,0.625,0,0.75,0.0625,1,0.5,0,0.8125,0.0625,1,0.375,0,0.875,0.0625,1,0.25,0,0.9375,0.0625,1,0.125,0,1,0,0,0,0"; - "khotkeysrc"."Data_3_12Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_13"."Comment".value = "Press, move up, move right, release."; - "khotkeysrc"."Data_3_13"."Enabled".value = true; - "khotkeysrc"."Data_3_13"."Name".value = "Activate Next Tab"; - "khotkeysrc"."Data_3_13"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_13Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_13Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_13Actions0"."Input".value = "Ctrl+.\n"; - "khotkeysrc"."Data_3_13Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_13Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_13Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_13Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_13Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_13Triggers0"."GesturePointData".value = "0,0.0625,-0.5,0,1,0.0625,0.0625,-0.5,0,0.875,0.125,0.0625,-0.5,0,0.75,0.1875,0.0625,-0.5,0,0.625,0.25,0.0625,-0.5,0,0.5,0.3125,0.0625,-0.5,0,0.375,0.375,0.0625,-0.5,0,0.25,0.4375,0.0625,-0.5,0,0.125,0.5,0.0625,0,0,0,0.5625,0.0625,0,0.125,0,0.625,0.0625,0,0.25,0,0.6875,0.0625,0,0.375,0,0.75,0.0625,0,0.5,0,0.8125,0.0625,0,0.625,0,0.875,0.0625,0,0.75,0,0.9375,0.0625,0,0.875,0,1,0,0,1,0"; - "khotkeysrc"."Data_3_13Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_14"."Comment".value = "Press, move up, move left, release."; - "khotkeysrc"."Data_3_14"."Enabled".value = true; - "khotkeysrc"."Data_3_14"."Name".value = "Activate Previous Tab"; - "khotkeysrc"."Data_3_14"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_14Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_14Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_14Actions0"."Input".value = "Ctrl+,"; - "khotkeysrc"."Data_3_14Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_14Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_14Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_14Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_14Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_14Triggers0"."GesturePointData".value = "0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,-0.5,1,0.5,0.3125,0.0625,-0.5,1,0.375,0.375,0.0625,-0.5,1,0.25,0.4375,0.0625,-0.5,1,0.125,0.5,0.0625,1,1,0,0.5625,0.0625,1,0.875,0,0.625,0.0625,1,0.75,0,0.6875,0.0625,1,0.625,0,0.75,0.0625,1,0.5,0,0.8125,0.0625,1,0.375,0,0.875,0.0625,1,0.25,0,0.9375,0.0625,1,0.125,0,1,0,0,0,0"; - "khotkeysrc"."Data_3_14Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_1Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_1Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_1Actions0"."Input".value = "Alt+Left"; - "khotkeysrc"."Data_3_1Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_1Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_1Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_1Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_1Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_1Triggers0"."GesturePointData".value = "0,0.125,1,1,0.5,0.125,0.125,1,0.875,0.5,0.25,0.125,1,0.75,0.5,0.375,0.125,1,0.625,0.5,0.5,0.125,1,0.5,0.5,0.625,0.125,1,0.375,0.5,0.75,0.125,1,0.25,0.5,0.875,0.125,1,0.125,0.5,1,0,0,0,0.5"; - "khotkeysrc"."Data_3_1Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_2"."Comment".value = "Press, move down, move up, move down, release."; - "khotkeysrc"."Data_3_2"."Enabled".value = true; - "khotkeysrc"."Data_3_2"."Name".value = "Duplicate Tab"; - "khotkeysrc"."Data_3_2"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_2Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_2Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_2Actions0"."Input".value = "Ctrl+Shift+D\n"; - "khotkeysrc"."Data_3_2Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_2Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_2Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_2Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_2Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_2Triggers0"."GesturePointData".value = "0,0.0416667,0.5,0.5,0,0.0416667,0.0416667,0.5,0.5,0.125,0.0833333,0.0416667,0.5,0.5,0.25,0.125,0.0416667,0.5,0.5,0.375,0.166667,0.0416667,0.5,0.5,0.5,0.208333,0.0416667,0.5,0.5,0.625,0.25,0.0416667,0.5,0.5,0.75,0.291667,0.0416667,0.5,0.5,0.875,0.333333,0.0416667,-0.5,0.5,1,0.375,0.0416667,-0.5,0.5,0.875,0.416667,0.0416667,-0.5,0.5,0.75,0.458333,0.0416667,-0.5,0.5,0.625,0.5,0.0416667,-0.5,0.5,0.5,0.541667,0.0416667,-0.5,0.5,0.375,0.583333,0.0416667,-0.5,0.5,0.25,0.625,0.0416667,-0.5,0.5,0.125,0.666667,0.0416667,0.5,0.5,0,0.708333,0.0416667,0.5,0.5,0.125,0.75,0.0416667,0.5,0.5,0.25,0.791667,0.0416667,0.5,0.5,0.375,0.833333,0.0416667,0.5,0.5,0.5,0.875,0.0416667,0.5,0.5,0.625,0.916667,0.0416667,0.5,0.5,0.75,0.958333,0.0416667,0.5,0.5,0.875,1,0,0,0.5,1"; - "khotkeysrc"."Data_3_2Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_3"."Comment".value = "Press, move down, move up, release."; - "khotkeysrc"."Data_3_3"."Enabled".value = true; - "khotkeysrc"."Data_3_3"."Name".value = "Duplicate Window"; - "khotkeysrc"."Data_3_3"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_3Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_3Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_3Actions0"."Input".value = "Ctrl+D\n"; - "khotkeysrc"."Data_3_3Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_3Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_3Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_3Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_3Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_3Triggers0"."GesturePointData".value = "0,0.0625,0.5,0.5,0,0.0625,0.0625,0.5,0.5,0.125,0.125,0.0625,0.5,0.5,0.25,0.1875,0.0625,0.5,0.5,0.375,0.25,0.0625,0.5,0.5,0.5,0.3125,0.0625,0.5,0.5,0.625,0.375,0.0625,0.5,0.5,0.75,0.4375,0.0625,0.5,0.5,0.875,0.5,0.0625,-0.5,0.5,1,0.5625,0.0625,-0.5,0.5,0.875,0.625,0.0625,-0.5,0.5,0.75,0.6875,0.0625,-0.5,0.5,0.625,0.75,0.0625,-0.5,0.5,0.5,0.8125,0.0625,-0.5,0.5,0.375,0.875,0.0625,-0.5,0.5,0.25,0.9375,0.0625,-0.5,0.5,0.125,1,0,0,0.5,0"; - "khotkeysrc"."Data_3_3Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_4"."Comment".value = "Press, move right, release."; - "khotkeysrc"."Data_3_4"."Enabled".value = true; - "khotkeysrc"."Data_3_4"."Name".value = "Forward"; - "khotkeysrc"."Data_3_4"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_4Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_4Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_4Actions0"."Input".value = "Alt+Right"; - "khotkeysrc"."Data_3_4Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_4Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_4Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_4Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_4Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_4Triggers0"."GesturePointData".value = "0,0.125,0,0,0.5,0.125,0.125,0,0.125,0.5,0.25,0.125,0,0.25,0.5,0.375,0.125,0,0.375,0.5,0.5,0.125,0,0.5,0.5,0.625,0.125,0,0.625,0.5,0.75,0.125,0,0.75,0.5,0.875,0.125,0,0.875,0.5,1,0,0,1,0.5"; - "khotkeysrc"."Data_3_4Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_5"."Comment".value = "Press, move down, move half up, move right, move down, release.\n(Drawing a lowercase 'h'.)"; - "khotkeysrc"."Data_3_5"."Enabled".value = true; - "khotkeysrc"."Data_3_5"."Name".value = "Home"; - "khotkeysrc"."Data_3_5"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_5Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_5Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_5Actions0"."Input".value = "Alt+Home\n"; - "khotkeysrc"."Data_3_5Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_5Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_5Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_5Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_5Triggers"."TriggersCount".value = 2; - "khotkeysrc"."Data_3_5Triggers0"."GesturePointData".value = "0,0.0461748,0.5,0,0,0.0461748,0.0461748,0.5,0,0.125,0.0923495,0.0461748,0.5,0,0.25,0.138524,0.0461748,0.5,0,0.375,0.184699,0.0461748,0.5,0,0.5,0.230874,0.0461748,0.5,0,0.625,0.277049,0.0461748,0.5,0,0.75,0.323223,0.0461748,0.5,0,0.875,0.369398,0.065301,-0.25,0,1,0.434699,0.065301,-0.25,0.125,0.875,0.5,0.065301,-0.25,0.25,0.75,0.565301,0.065301,-0.25,0.375,0.625,0.630602,0.0461748,0,0.5,0.5,0.676777,0.0461748,0,0.625,0.5,0.722951,0.0461748,0,0.75,0.5,0.769126,0.0461748,0,0.875,0.5,0.815301,0.0461748,0.5,1,0.5,0.861476,0.0461748,0.5,1,0.625,0.90765,0.0461748,0.5,1,0.75,0.953825,0.0461748,0.5,1,0.875,1,0,0,1,1"; - "khotkeysrc"."Data_3_5Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_5Triggers1"."GesturePointData".value = "0,0.0416667,0.5,0,0,0.0416667,0.0416667,0.5,0,0.125,0.0833333,0.0416667,0.5,0,0.25,0.125,0.0416667,0.5,0,0.375,0.166667,0.0416667,0.5,0,0.5,0.208333,0.0416667,0.5,0,0.625,0.25,0.0416667,0.5,0,0.75,0.291667,0.0416667,0.5,0,0.875,0.333333,0.0416667,-0.5,0,1,0.375,0.0416667,-0.5,0,0.875,0.416667,0.0416667,-0.5,0,0.75,0.458333,0.0416667,-0.5,0,0.625,0.5,0.0416667,0,0,0.5,0.541667,0.0416667,0,0.125,0.5,0.583333,0.0416667,0,0.25,0.5,0.625,0.0416667,0,0.375,0.5,0.666667,0.0416667,0,0.5,0.5,0.708333,0.0416667,0,0.625,0.5,0.75,0.0416667,0,0.75,0.5,0.791667,0.0416667,0,0.875,0.5,0.833333,0.0416667,0.5,1,0.5,0.875,0.0416667,0.5,1,0.625,0.916667,0.0416667,0.5,1,0.75,0.958333,0.0416667,0.5,1,0.875,1,0,0,1,1"; - "khotkeysrc"."Data_3_5Triggers1"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_6"."Comment".value = "Press, move right, move down, move right, release.\nMozilla-style: Press, move down, move right, release."; - "khotkeysrc"."Data_3_6"."Enabled".value = true; - "khotkeysrc"."Data_3_6"."Name".value = "Close Tab"; - "khotkeysrc"."Data_3_6"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_6Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_6Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_6Actions0"."Input".value = "Ctrl+W\n"; - "khotkeysrc"."Data_3_6Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_6Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_6Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_6Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_6Triggers"."TriggersCount".value = 2; - "khotkeysrc"."Data_3_6Triggers0"."GesturePointData".value = "0,0.0625,0,0,0,0.0625,0.0625,0,0.125,0,0.125,0.0625,0,0.25,0,0.1875,0.0625,0,0.375,0,0.25,0.0625,0.5,0.5,0,0.3125,0.0625,0.5,0.5,0.125,0.375,0.0625,0.5,0.5,0.25,0.4375,0.0625,0.5,0.5,0.375,0.5,0.0625,0.5,0.5,0.5,0.5625,0.0625,0.5,0.5,0.625,0.625,0.0625,0.5,0.5,0.75,0.6875,0.0625,0.5,0.5,0.875,0.75,0.0625,0,0.5,1,0.8125,0.0625,0,0.625,1,0.875,0.0625,0,0.75,1,0.9375,0.0625,0,0.875,1,1,0,0,1,1"; - "khotkeysrc"."Data_3_6Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_6Triggers1"."GesturePointData".value = "0,0.0625,0.5,0,0,0.0625,0.0625,0.5,0,0.125,0.125,0.0625,0.5,0,0.25,0.1875,0.0625,0.5,0,0.375,0.25,0.0625,0.5,0,0.5,0.3125,0.0625,0.5,0,0.625,0.375,0.0625,0.5,0,0.75,0.4375,0.0625,0.5,0,0.875,0.5,0.0625,0,0,1,0.5625,0.0625,0,0.125,1,0.625,0.0625,0,0.25,1,0.6875,0.0625,0,0.375,1,0.75,0.0625,0,0.5,1,0.8125,0.0625,0,0.625,1,0.875,0.0625,0,0.75,1,0.9375,0.0625,0,0.875,1,1,0,0,1,1"; - "khotkeysrc"."Data_3_6Triggers1"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_7"."Comment".value = "Press, move up, release.\nConflicts with Opera-style 'Up #2', which is disabled by default."; - "khotkeysrc"."Data_3_7"."Enabled".value = true; - "khotkeysrc"."Data_3_7"."Name".value = "New Tab"; - "khotkeysrc"."Data_3_7"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_7Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_7Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_7Actions0"."Input".value = "Ctrl+Shift+N"; - "khotkeysrc"."Data_3_7Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_7Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_7Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_7Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_7Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_7Triggers0"."GesturePointData".value = "0,0.125,-0.5,0.5,1,0.125,0.125,-0.5,0.5,0.875,0.25,0.125,-0.5,0.5,0.75,0.375,0.125,-0.5,0.5,0.625,0.5,0.125,-0.5,0.5,0.5,0.625,0.125,-0.5,0.5,0.375,0.75,0.125,-0.5,0.5,0.25,0.875,0.125,-0.5,0.5,0.125,1,0,0,0.5,0"; - "khotkeysrc"."Data_3_7Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_8"."Comment".value = "Press, move down, release."; - "khotkeysrc"."Data_3_8"."Enabled".value = true; - "khotkeysrc"."Data_3_8"."Name".value = "New Window"; - "khotkeysrc"."Data_3_8"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_8Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_8Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_8Actions0"."Input".value = "Ctrl+N\n"; - "khotkeysrc"."Data_3_8Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_8Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_8Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_8Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_8Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_8Triggers0"."GesturePointData".value = "0,0.125,0.5,0.5,0,0.125,0.125,0.5,0.5,0.125,0.25,0.125,0.5,0.5,0.25,0.375,0.125,0.5,0.5,0.375,0.5,0.125,0.5,0.5,0.5,0.625,0.125,0.5,0.5,0.625,0.75,0.125,0.5,0.5,0.75,0.875,0.125,0.5,0.5,0.875,1,0,0,0.5,1"; - "khotkeysrc"."Data_3_8Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."Data_3_9"."Comment".value = "Press, move up, move down, release."; - "khotkeysrc"."Data_3_9"."Enabled".value = true; - "khotkeysrc"."Data_3_9"."Name".value = "Reload"; - "khotkeysrc"."Data_3_9"."Type".value = "SIMPLE_ACTION_DATA"; - "khotkeysrc"."Data_3_9Actions"."ActionsCount".value = 1; - "khotkeysrc"."Data_3_9Actions0"."DestinationWindow".value = 2; - "khotkeysrc"."Data_3_9Actions0"."Input".value = "F5"; - "khotkeysrc"."Data_3_9Actions0"."Type".value = "KEYBOARD_INPUT"; - "khotkeysrc"."Data_3_9Conditions"."Comment".value = ""; - "khotkeysrc"."Data_3_9Conditions"."ConditionsCount".value = 0; - "khotkeysrc"."Data_3_9Triggers"."Comment".value = "Gesture_triggers"; - "khotkeysrc"."Data_3_9Triggers"."TriggersCount".value = 1; - "khotkeysrc"."Data_3_9Triggers0"."GesturePointData".value = "0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1"; - "khotkeysrc"."Data_3_9Triggers0"."Type".value = "GESTURE"; - "khotkeysrc"."DirSelect Dialog"."DirSelectDialog Size[$d]".value = ""; - "khotkeysrc"."General"."AllowKDEAppsToRememberWindowPositions[$d]".value = ""; - "khotkeysrc"."General"."ColorSchemeHash[$d]".value = ""; - "khotkeysrc"."General"."ColorScheme[$d]".value = ""; - "khotkeysrc"."General"."XftHintStyle[$d]".value = ""; - "khotkeysrc"."General"."XftSubPixel[$d]".value = ""; - "khotkeysrc"."General"."fixed[$d]".value = ""; - "khotkeysrc"."General"."font[$d]".value = ""; - "khotkeysrc"."General"."menuFont[$d]".value = ""; - "khotkeysrc"."General"."smallestReadableFont[$d]".value = ""; - "khotkeysrc"."General"."toolBarFont[$d]".value = ""; - "khotkeysrc"."Gestures"."Disabled".value = true; - "khotkeysrc"."Gestures"."MouseButton".value = 2; - "khotkeysrc"."Gestures"."Timeout".value = 300; - "khotkeysrc"."GesturesExclude"."Comment".value = ""; - "khotkeysrc"."GesturesExclude"."WindowsCount".value = 0; - "khotkeysrc"."Icons"."Theme[$d]".value = ""; - "khotkeysrc"."KDE"."AnimationDurationFactor[$d]".value = ""; - "khotkeysrc"."KDE"."SingleClick[$d]".value = ""; - "khotkeysrc"."KDE"."widgetStyle[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Allow Expansion[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Automatically select filename extension[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Breadcrumb Navigation[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Decoration position[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."LocationCombo Completionmode[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."PathCombo Completionmode[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Show Bookmarks[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Show Full Path[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Show Inline Previews[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Show Preview[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Show Speedbar[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Show hidden files[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Sort by[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Sort directories first[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Sort hidden files last[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Sort reversed[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."Speedbar Width[$d]".value = ""; - "khotkeysrc"."KFileDialog Settings"."View Style[$d]".value = ""; - "khotkeysrc"."Main"."AlreadyImported".value = "defaults,kde32b1,konqueror_gestures_kde321"; - "khotkeysrc"."Main"."Disabled".value = false; - "khotkeysrc"."Shortcuts"."FullScreen[$d]".value = ""; - "khotkeysrc"."Voice"."Shortcut".value = ""; - "khotkeysrc"."WM"."activeBackground[$d]".value = ""; - "khotkeysrc"."WM"."activeBlend[$d]".value = ""; - "khotkeysrc"."WM"."activeFont[$d]".value = ""; - "khotkeysrc"."WM"."activeForeground[$d]".value = ""; - "khotkeysrc"."WM"."inactiveBackground[$d]".value = ""; - "khotkeysrc"."WM"."inactiveBlend[$d]".value = ""; - "khotkeysrc"."WM"."inactiveForeground[$d]".value = ""; - "kiorc"."Confirmations"."ConfirmDelete".value = true; - "krunnerrc"."Plugins"."DictionaryEnabled".value = false; - "krunnerrc"."Plugins"."baloosearchEnabled".value = false; - "krunnerrc"."Plugins"."bookmarksEnabled".value = false; - "krunnerrc"."Plugins"."browserhistoryEnabled".value = false; - "krunnerrc"."Plugins"."browsertabsEnabled".value = false; - "krunnerrc"."Plugins"."desktopsessionsEnabled".value = false; - "krunnerrc"."Plugins"."katesessionsEnabled".value = false; - "krunnerrc"."Plugins"."konsoleprofilesEnabled".value = false; - "krunnerrc"."Plugins"."org.kde.activities2Enabled".value = false; - "krunnerrc"."Plugins"."webshortcutsEnabled".value = false; - "ksmserverrc"."General"."loginMode".value = "emptySession"; - "kwalletrc"."Wallet"."First Use".value = false; - "kwinrc"."Desktops"."Id_1".value = "0e89fa04-26c8-461f-8349-2713d84f6daa"; - "kwinrc"."Desktops"."Id_2".value = "8f1d3648-7683-474b-ac11-7a31a736ce94"; - "kwinrc"."Desktops"."Id_3".value = "bc03fc74-f02f-409f-994d-17f04d1fbd76"; - "kwinrc"."Desktops"."Id_4".value = "52e78d4f-f71b-4605-aa04-4d630dc3b204"; - "kwinrc"."Desktops"."Number".value = 4; - "kwinrc"."Desktops"."Rows".value = 4; - "kwinrc"."Effect-glide"."InDistance".value = 500; - "kwinrc"."Effect-glide"."InRotationAngle".value = 120; - "kwinrc"."Effect-glide"."OutDistance".value = 500; - "kwinrc"."Effect-glide"."OutRotationAngle".value = 120; - "kwinrc"."Effect-kwin4_effect_translucency"."Inactive".value = 96; - "kwinrc"."Effect-scale"."InScale".value = 0.5; - "kwinrc"."Effect-scale"."OutScale".value = 0.5; - "kwinrc"."Effect-windowview"."BorderActivateAll".value = 9; - "kwinrc"."Effect-wobblywindows"."Drag".value = 90; - "kwinrc"."Effect-wobblywindows"."Stiffness".value = 6; - "kwinrc"."Effect-wobblywindows"."WobblynessLevel".value = 2; - "kwinrc"."Input"."TabletMode".value = "off"; - "kwinrc"."NightColor"."Active".value = true; - "kwinrc"."NightColor"."LatitudeAuto".value = "-33.8715"; - "kwinrc"."NightColor"."LatitudeFixed".value = "-33.87"; - "kwinrc"."NightColor"."LongitudeAuto".value = 151.2006; - "kwinrc"."NightColor"."LongitudeFixed".value = 151.21; - "kwinrc"."NightColor"."Mode".value = "Times"; - "kwinrc"."NightColor"."NightTemperature".value = 4600; - "kwinrc"."Plugins"."desktopchangeosdEnabled".value = true; - "kwinrc"."Plugins"."kwin4_effect_dimscreenEnabled".value = true; - "kwinrc"."Plugins"."kwin4_effect_fadedesktopEnabled".value = true; - "kwinrc"."Plugins"."kwin4_effect_squashEnabled".value = false; - "kwinrc"."Plugins"."kwin4_effect_translucencyEnabled".value = true; - "kwinrc"."Plugins"."magiclampEnabled".value = true; - "kwinrc"."Plugins"."magnifierEnabled".value = true; - "kwinrc"."Plugins"."poloniumEnabled".value = true; - "kwinrc"."Plugins"."sheetEnabled".value = true; - "kwinrc"."Plugins"."slidebackEnabled".value = true; - "kwinrc"."Plugins"."wobblywindowsEnabled".value = true; - "kwinrc"."Plugins"."zoomEnabled".value = false; - "kwinrc"."Script-polonium"."Borders".value = 3; - "kwinrc"."Script-polonium"."FilterCaption".value = "Emoji Selector"; - "kwinrc"."Script-polonium"."FilterClientCaption".value = "Emoji Selector"; - "kwinrc"."Script-polonium"."InsertionPoint".value = 2; - "kwinrc"."Script-polonium"."ResizeAmount".value = 16; - "kwinrc"."Script-polonium"."Unfullscreen".value = true; - "kwinrc"."TabBox"."LayoutName".value = "compact"; - "kwinrc"."Tiling"."padding".value = 4; - "kwinrc"."Tiling/0e03a935-d467-5008-ac02-2d49bd489fa5"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Tiling/1146a6ac-0683-568b-a352-d8ca7470eab6"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Tiling/5b7fa715-9e22-58f3-9fa5-60878e126c62"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Tiling/7cee4d9c-0c6a-5563-91f4-7c81d68172ce"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Tiling/d02c035d-eef0-5c68-aa2f-2e83d0ba08b1"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Tiling/f726f7e7-1cfe-5dd0-933b-15892472fe80"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Tiling/fec5a356-f9de-520a-8d72-a01616b3b699"."tiles".value = "{\"layoutDirection\":\"horizontal\",\"tiles\":[]}"; - "kwinrc"."Wayland"."EnablePrimarySelection".value = false; - "kwinrc"."Windows"."ActiveMouseScreen".value = false; - "kwinrc"."Windows"."DelayFocusInterval".value = 100; - "kwinrc"."Windows"."ElectricBorderMaximize".value = false; - "kwinrc"."Windows"."ElectricBorderTiling".value = false; - "kwinrc"."Windows"."FocusPolicy".value = "FocusFollowsMouse"; - "kwinrc"."Windows"."FocusStealingPreventionLevel".value = 0; - "kwinrc"."Windows"."NextFocusPrefersMouse".value = true; - "kwinrc"."Xwayland"."Scale".value = 1; - "kwinrc"."org/kde/kdecoration2"."BorderSize".value = "NoSides"; - "kwinrc"."org/kde/kdecoration2"."BorderSizeAuto".value = false; - "kwinrulesrc"."1"."Description".value = "force titlebar/frame"; - "kwinrulesrc"."1"."noborderrule".value = 2; - "kwinrulesrc"."1"."types".value = 1; - "kwinrulesrc"."1"."wmclasscomplete".value = true; - "kwinrulesrc"."3f0e83f7-aa1a-46d8-8796-5e9d49eb1d8b"."Description".value = "New window settings"; - "kwinrulesrc"."3f0e83f7-aa1a-46d8-8796-5e9d49eb1d8b"."noborderrule".value = 2; - "kwinrulesrc"."3f0e83f7-aa1a-46d8-8796-5e9d49eb1d8b"."types".value = 1; - "kwinrulesrc"."General"."count".value = 1; - "kwinrulesrc"."General"."rules".value = 1; - "kxkbrc"."Layout"."Options".value = "caps:escape_shifted_compose"; - "kxkbrc"."Layout"."ResetOldOptions".value = true; - "plasma-localerc"."Formats"."LANG".value = "en_AU.UTF-8"; - "plasmanotifyrc"."Notifications"."PopupPosition".value = "BottomCenter"; - "plasmarc"."Theme"."name".value = "breeze-dark"; - "plasmarc"."Wallpapers"."usersWallpapers".value = "/home/bolt/.nix/wallpaper.jpg"; - "systemsettingsrc"."KFileDialog Settings"."detailViewIconSize".value = 16; - }; - }; -} diff --git a/home/programs/qtile.nix b/home/programs/qtile.nix deleted file mode 100644 index 0d68bf6..0000000 --- a/home/programs/qtile.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; - palette-shex = pkgs.lib.nix-rice.palette.toRGBShortHex pkgs.rice.palette; -in { - config.ezConf = { - "qtile/autostart.sh" = ../dots/qtile/autostart.sh; - "qtile/lib.py" = ../dots/qtile/lib.py; - }; - config.extraTarget = ["qtile-session.target"]; - config.xdg.configFile."qtile/config.py" = { - enable = true; - executable = true; - onChange = "${lib.getExe' pkgs.procps "pkill"} -SIGUSR1 qtile"; - text = with palette-shex; - with pkgs.rice; (builtins.replaceStrings - [ - "#GAPS" - "#SINGLE_GAP" - "#BORDERWIDTH" - "#BORDERFOCUS" - "#BORDERCOL" - "#FONTFACE" - "#FONTSIZE" - "#BGCOL" - "#FGCOL" - ] - [ - (builtins.toString borders.gaps_in) - (builtins.toString borders.gaps_out) - (builtins.toString borders.thickness) - bright.yellow - normal.black - fonts.sans.name - (builtins.toString fonts.sans.size) - util.bg - util.fg - ] - (builtins.readFile ../dots/qtile/config.py)); - }; - - config.systemd.user.targets.qtile-session = { - Unit = { - BindsTo = ["graphical-session.target"]; - Wants = ["graphical-session-pre.target" "xdg-desktop-autostart.target"]; - After = ["graphical-session-pre.target"]; - Before = ["xdg-desktop-autostart.target"]; - }; - }; -} diff --git a/home/programs/stable-diffusion.nix b/home/programs/stable-diffusion.nix deleted file mode 100644 index 70c561e..0000000 --- a/home/programs/stable-diffusion.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: { - # TODO: figure out if there's a meaningful way to add this to the nix store - # if nothing's reproducible should we even bother - # https://github.com/AbdBarho/stable-diffusion-webui-docker/ - - config.programs.firefox.webapps = { - "StableDiffusion" = { - url = "http://127.0.0.1:7860"; - id = 5; - extraSettings = config.programs.firefox.profiles.default.settings; - name = "Stable Diffusion Client"; - hidden = true; - }; - }; - - config.systemd.user.services = { - stable-diffusion = { - Unit.Description = "Stable Diffusion Backend"; - Service = { - WorkingDirectory = "${config.home.homeDirectory}/code/etc/stable-diffusion-webui-docker"; - ExecStart = "${lib.getExe pkgs.docker} compose --profile comfy up --build"; - }; - }; - }; - - config.xdg.desktopEntries = { - stable-diffusion = { - name = "Stable Diffusion"; - type = "Application"; - icon = ../icons/comfyui.png; - exec = "${let - notify-send = "${lib.getExe' pkgs.libnotify "notify-send"} -a Stable Diffusion"; - systemctl = "${lib.getExe' pkgs.systemd "systemctl"}"; - dex = "${lib.getExe pkgs.dex}"; - curl = "${lib.getExe pkgs.curl}"; - in - pkgs.writeShellScript "stable-diffusion" - '' - ${notify-send} "Launching backend.." "Please be patient." - ${systemctl} --user start stable-diffusion - attempts=0 - success=false - - while [[ $attempts -lt $((20*9)) ]]; do - if [[ $(${curl} http://127.0.0.1:7860) ]]; then - ${notify-send} "Backend up." "Launching client.." - success=true - break - else - attempts=$((attempts+1)) - if [[ $(($attempts % 20)) -eq 0 ]]; then - ${notify-send} "Launching backend.." "Still launching.. ($((attempts/2))s)" - fi - fi - sleep 0.5 - done - - if [[ ! $success ]]; then - ${notify-send} "Failure" "Failed to launch backend!" - ${systemctl} --user kill stable-diffusion - exit 1 - fi - - sleep 0.5 # give it a little time - ${dex} -w ~/.nix-profile/share/applications/StableDiffusion.desktop - - ${notify-send} "Goodbye" "Shutting down." - ${systemctl} --user stop stable-diffusion - exit 0 - ''}"; - }; - # stable-diffusion-dl = { - # name = "Stable Diffusion Setup"; - # type = "Application"; - # settings = { - # Path = "${config.home.homeDirectory}/code/etc/stable-diffusion-webui-docker"; - # }; - # exec = "docker compose --profile download up --build"; - # }; - }; -} diff --git a/home/programs/sway.nix b/home/programs/sway.nix deleted file mode 100644 index e070359..0000000 --- a/home/programs/sway.nix +++ /dev/null @@ -1,157 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - config.wayland.windowManager.sway = { - enable = true; - package = pkgs.sway; - config = with pkgs.rice; { - bars = []; - # reintroduces flicker - # output = { - # "*" = { - # adaptive_sync = "on"; - # }; - # }; - focus = { - mouseWarping = "container"; - wrapping = "no"; - }; - fonts = with fonts; { - names = [sans.name emoji.name]; - size = 10.0; - }; - gaps = { - inner = borders.gaps_in; - outer = borders.gaps_out; - smartGaps = true; - smartBorders = "no_gaps"; - }; - window = { - border = borders.thickness; - hideEdgeBorders = "smart"; - titlebar = false; - commands = [ - { - command = "move scratchpad"; - criteria = { - app_id = "org.keepassxc.KeePassXC"; - }; - } - ]; - }; - workspaceAutoBackAndForth = false; - input = { - "*" = { - accel_profile = "flat"; - pointer_accel = "0.0"; - xkb_options = "caps:escape"; - }; - }; - startup = with pkgs; [ - {command = "${lib.getExe' keepassxc "keepassxc"}";} - {command = "${lib.getExe' ckb-next "ckb-next"} -c -b";} - {command = "${lib.getExe' mullvad "mullvad"} connect";} - {command = "${lib.getExe' xorg.xrdb "xrdb"} -l ~/.Xresources";} - {command = "${lib.getExe' flashfocus "flashfocus"} -o 0.95 -t 175 -n 30 --no-flash-fullscreen -l on_open_close";} - {command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface gtk-theme '${rice.gtk-theme.name}'";} - {command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface font-name '${rice.fonts.sans.name}'";} - {command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface icon-theme '${rice.icons.name}'";} - ]; - terminal = "kitty"; - modifier = "Mod4"; - keybindings = { - "Mod4+Return" = "exec kitty"; - "Mod4+d" = "exec fuzzel"; - "Mod4+e" = "exec thunar"; - "Mod4+f" = "exec firefox"; - "Mod4+Shift+e" = "exec wlogout"; - "Mod4+Shift+s" = "exec grim -g \"$(slurp)\" -t png -o \"${config.home.homeDirectory}/Pictures/$(date +%F_%H-%m-%S).png\" && notify-send \"Screenshot taken.\""; - "Mod4+Shift+Ctrl+s" = "exec kooha"; - "Mod4+n" = "exec swaync-client -t"; - "Mod4+Space" = "floating toggle; move absolute position center"; - "Mod4+c" = "focus floating; move absolute position center"; - "Mod4+Shift+Space" = "fullscreen toggle"; - "Mod4+a" = "focus parent"; - "Mod4+Shift+a" = "focus child"; - "Mod4+h" = "focus left"; - "Mod4+j" = "focus down"; - "Mod4+k" = "focus up"; - "Mod4+l" = "focus right"; - "Mod4+Shift+h" = "move left"; - "Mod4+Shift+j" = "move down"; - "Mod4+Shift+k" = "move up"; - "Mod4+Shift+l" = "move right"; - "Mod4+1" = "workspace 1"; - "Mod4+Shift+1" = "move container to workspace 1"; - "Mod4+2" = "workspace 2"; - "Mod4+Shift+2" = "move container to workspace 2"; - "Mod4+3" = "workspace 3"; - "Mod4+Shift+3" = "move container to workspace 3"; - "Mod4+4" = "workspace 4"; - "Mod4+Shift+4" = "move container to workspace 4"; - "Mod4+r" = "mode resize"; - "Mod4+Shift+minus" = "move scratchpad"; - "Mod4+minus" = "scratchpad show"; - "Mod4+Shift+q" = "kill"; - "Mod4+v" = "split toggle"; - "XF86AudioMute" = "exec swayosd --output-volume mute-toggle"; - "XF86AudioRaiseVolume" = "exec swayosd --output-volume raise"; - "XF86AudioLowerVolume" = "exec swayosd --output-volume lower"; - "XF86AudioStop" = "exec playerctl stop"; - "XF86AudioPlay" = "exec playerctl play-pause"; - "XF86AudioPrev" = "exec playerctl previous"; - "XF86AudioNext" = "exec playerctl next"; - "XF86MonBrightnessUp" = "exec swayosd --brightness raise"; - "XF86MonBrightnessDown" = "exec swayosd --brightness lower"; - }; - menu = "fuzzel"; - colors = with palette-hex; { - background = util.bg; - focused = { - background = util.bg; - border = bright.yellow; - childBorder = bright.yellow; - indicator = bright.yellow; - text = util.fg; - }; - focusedInactive = { - background = normal.black; - border = util.bg; - childBorder = util.bg; - indicator = util.bg; - text = normal.white; - }; - placeholder = { - background = util.bg; - border = bright.green; - childBorder = bright.green; - indicator = bright.green; - text = util.fg; - }; - unfocused = { - background = normal.black; - border = util.bg; - childBorder = util.bg; - indicator = util.bg; - text = normal.white; - }; - urgent = { - background = normal.red; - border = normal.red; - childBorder = normal.red; - indicator = normal.red; - text = normal.blue; - }; - }; - }; - systemd.enable = true; - wrapperFeatures = { - base = true; - gtk = true; - }; - xwayland = true; - }; -} diff --git a/home/programs/swaync.nix b/home/programs/swaync.nix deleted file mode 100644 index f198b37..0000000 --- a/home/programs/swaync.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - config, - lib, - pkgs, - palette-hex, - ... -}: let - palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette; - palette-shex = pkgs.lib.nix-rice.palette.toRGBShortHex pkgs.rice.palette; -in { - config.home.packages = [pkgs.swaynotificationcenter]; - config.ezConf = { - "swaync/config.json" = ../dots/swaync/config.json; - "swaync/configSchema.json" = ../dots/swaync/configSchema.json; - }; - config.ezServices = { - swaync = "${lib.getExe pkgs.swaynotificationcenter}"; - }; - config.xdg.configFile."swaync/style.css" = { - enable = true; - text = with palette-hex; (builtins.replaceStrings - [ - "#PANELBG" - "#COLBORDER" - "#NOTIBGNORM" - "#NOTIBGHOVER" - "#NOTIBGFOCUS" - "#NOTIBGCLOSE" - "#NOTIBGHVERCLOSE" - "#BGSELECTED" - "#FONT" - "#BORDER" - "#ROUNDING" - ] - [ - bright.black - bright.yellow - bright.black - normal.black - normal.black - normal.black - bright.black - bright.black - pkgs.rice.fonts.sans.name - (builtins.toString pkgs.rice.borders.thickness) - (builtins.toString pkgs.rice.borders.rounding) - ] - (builtins.readFile ../dots/swaync/style.css)); - }; -} diff --git a/home/programs/swayosd.nix b/home/programs/swayosd.nix deleted file mode 100644 index 3237f87..0000000 --- a/home/programs/swayosd.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - config, - lib, - pkgs, - swayosd, - ... -}: { - config.ezServices = { - swayosd = "${lib.getExe' swayosd "swayosd-server"}"; - }; -} diff --git a/home/twitchin.nix b/home/twitchin.nix deleted file mode 100644 index 75783aa..0000000 --- a/home/twitchin.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - inputs, - outputs, - lib, - config, - pkgs, - ... -}: { - imports = [ - ./home.nix - ]; - home.packages = with pkgs; [ - nicotine-plus - ]; - - home = { - username = "twitchin"; - homeDirectory = "/home/twitchin"; - }; -} diff --git a/system/configuration.nix b/system/configuration.nix index b3e9a99..a4763a0 100644 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -77,18 +77,6 @@ hardware.opengl.driSupport32Bit = true; #input stuff - - # services.xserver = { - # enable = true; # SDDM requires this - # xkb.options = "caps:escape"; - # xkb.layout = "us"; - - # desktopManager.plasma5 = { - # enable = true; - # enableQt5Integration = true; # for plasma6 - # runUsingSystemd = true; - # }; - # }; services.libinput.enable = true; services.desktopManager.cosmic.enable = true; services.displayManager.cosmic-greeter.enable = true; @@ -97,11 +85,6 @@ services.system76-scheduler.enable = true; - # environment.plasma5.excludePackages = with pkgs.libsForQt5; [ - # konsole - # gwenview - # ]; - services.flatpak.enable = true; security.polkit.enable = true; @@ -124,9 +107,6 @@ pulse.enable = true; }; - qt.enable = true; - qt.platformTheme = "kde"; - qt.style = "kvantum"; programs.dconf.enable = true; services.colord.enable = true; @@ -154,8 +134,6 @@ cachix alejandra - - libsForQt5.qtstyleplugin-kvantum ]; services.atuin.enable = true; diff --git a/util/python311-keyutils-0.6.nix b/util/python311-keyutils-0.6.nix deleted file mode 100644 index c387c10..0000000 --- a/util/python311-keyutils-0.6.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ lib -, buildPythonPackage -, cython -, fetchFromGitHub -, keyutils -, pytestCheckHook -}: - -buildPythonPackage rec { - pname = "keyutils"; - version = "0.6"; - - # github version comes bundled with tests - src = fetchFromGitHub { - owner = "sassoftware"; - repo = "python-keyutils"; - rev = version; - sha256 = "0pfqfr5xqgsqkxzrmj8xl2glyl4nbq0irs0k6ik7iy3gd3mxf5g1"; - }; - - postPatch = '' - substituteInPlace setup.py --replace '"pytest-runner"' "" - ''; - - preBuild = '' - cython keyutils/_keyutils.pyx - ''; - - preCheck = '' - rm -rf keyutils - ''; - - buildInputs = [ keyutils ]; - nativeBuildInputs = [ cython ]; - nativeCheckInputs = [ - pytestCheckHook - ]; - - meta = { - description = "A set of python bindings for keyutils"; - homepage = "https://github.com/sassoftware/python-keyutils"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ primeos ]; - }; -}