commit d0eba1c834d597bc251ccb29310d793e47cad5e4 Author: Jory Severijnse Date: Tue Mar 31 16:53:11 2026 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..56687ee --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.direnv +.pre-commit-config.yaml +secrets/id_ed25519 +secrets/id_ed25519.pub diff --git a/README.md b/README.md new file mode 100644 index 0000000..587ce83 --- /dev/null +++ b/README.md @@ -0,0 +1,177 @@ +

+ +

+ + + + + awesome-rice-badge + + + + + + + +

+ +

芯 (Shin)

+ +### ⚠ PLEASE RESPECT THE CREDITS IF YOU USE SOMETHING FROM MY DESKTOP/SETUP. + +> **Note:** This configuration has been refactored to remove Home Manager to reduce evaluation overhead. While projects like `hjem` and `hjem-rum` were considered, a pure NixOS approach was chosen for simplicity and performance. + +--- + +

SETUPGUIDESKEYBINDSGALLERY

+ +--- + + + + + + + +- **Window Manager** • [Niri](https://github.com/YaLTeR/niri/)🎨 Scrolleable WM! +- **Shell** • [Fish](https://fishshell.com/) 🐟 with + [starship](https://github.com/starship/starship) Cross Shell Platform! +- **Terminal** • [Ghostty](https://ghostty.org/) 💻 Powerful Hyped term +- **Panel** • [Noctalia!](https://noctalia.dev/) 🍧 Beautiful and minimalist desktop shell +- **File Manager** • [Yazi](https://github.com/sxyazi/yazi) 🔖 Rustacean File + Manager! +- **GUI Basic-IDE** • [Helix](https://docs.helix-editor.com/) ✴️ Rustacean vim + version! +- **GTK Theme** • [GTK](https://github.com/someone/Colloid-gtk-theme) 🐾 My + Fork of colloid + +## 🌼 INSTALLATION (NixOS) + +> Request: +> [NixOs](https://channels.nixos.org/nixos-25.05/latest-nixos-minimal-x86_64-linux.iso) + +- Download ISO. + +```bash +wget -O https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso +``` + +- Boot Into the Installer. + +- Switch to Root: `sudo -i` + +- Partitions: + +_I prefer to use 1GB on the EFI partition. Specifically because the +'generations' list may become very long, and to avoid overloading the +partition._ + +```bash +# Replace nvme with your disk partition +gdisk /dev/nvme0n1 +``` + + - `o` (create new partition table) + - `n` (add partition, 512M, type ef00 EFI) + - `n` (add partition, remaining space, type 8300 Linux) + `w` (write partition table and exit) + +- Format Partitions: + +```bash +mkfs.fat -F 32 -n EFI /dev/nvme0n1p1 +mkfs.xfs -L NIXOS /dev/nvme0n1p2 +``` + +- Mount Partitions: + +```bash +mount /dev/disk/by-label/NIXOS /mnt +mkdir -p /mnt/boot +mount /dev/disk/by-label/EFI /mnt/boot +``` + +- Enable nixFlakes + +```bash +nix-shell -p nixVersions.stable git +``` + +- Clone my Dotfiles + +```bash +git clone --depth 1 https://github.com/someone/shin /mnt/etc/nixos +``` + +- Generate your Own Nix Hardware Settings: + +### ⚠ DON'T FORGET IT + +```bash +sudo nixos-generate-config --dir /mnt/etc/nixos/hosts/aesthetic + +# Remove configuration.nix +rm -rf /mnt/etc/nixos/hosts/aesthetic/configuration.nix +``` + +- Install Dotfiles Using Flake + +```bash +# Move to folder +cd mnt/etc/nixos + +# Install +nixos-install --flake .#aesthetic +``` + +- Reboot + +### 🐙 Remember Default User & password are: nixos + +- Change Default password for User. + +```bash +passwd YourUser +``` + +### 🌻 TODO LIST + +### 🧩 ADDITIONAL TIPS + +If you're using this NixOS configuration flake locally, you can simplify the process of switching and managing your system using [`nh`](https://github.com/viperML/nh), a CLI helper for Nix Flakes. + +To switch your system configuration with `nh`, use: + +```bash +NH_FLAKE=/home/someone/Dev/kaku/ nh os switch +``` + +This avoids needing to type out the full `nixos-rebuild` command manually and provides a cleaner workflow when iterating on your setup. + +> 💡 Make sure `nh` is installed in your system environment or user profile. + +## 🍀 KEY BINDINGS + +## 💐 ACKNOWLEDGEMENTS + +| | | Inspiration and Resources | | | +| :-: | :-: | :------------------------------------------ | :-- | :-: | +| | 1 | [owl4ce](https://github.com/owl4ce) | | | +| | 2 | [Ilham25](https://github.com/ilham25) | | | +| | 3 | [Siduck](https://github.com/siduck) | | | +| | 4 | [NvChad](https://github.com/NvChad) | | | +| | 5 | [Rxyhn](https://github.com/rxyhn) | | | +| | 6 | [HeinzDev](https://github.com/HeinzDev) | | | +| | 7 | [fufexan](https://github.com/fufexan) | | | +| | 8 | [AmitGolden](https://github.com/AmitGolden) | | | +| | | | | | + +## 🌳 CONTRIBUTING + +WIP + +## 🎃 SECURITY POLICY + +
+BACK TO TOP
+
diff --git a/background.jpg b/background.jpg new file mode 100644 index 0000000..d3aa309 Binary files /dev/null and b/background.jpg differ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..aae680a --- /dev/null +++ b/flake.lock @@ -0,0 +1,279 @@ +{ + "nodes": { + "agenix": { + "inputs": { + "darwin": "darwin", + "home-manager": "home-manager", + "nixpkgs": [ + "nixpkgs" + ], + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1770165109, + "narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=", + "owner": "ryantm", + "repo": "agenix", + "rev": "b027ee29d959fda4b60b57566d64c98a202e0feb", + "type": "github" + }, + "original": { + "owner": "ryantm", + "repo": "agenix", + "type": "github" + } + }, + "darwin": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1744478979, + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1745494811, + "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "import-tree": { + "locked": { + "lastModified": 1773693634, + "narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=", + "owner": "vic", + "repo": "import-tree", + "rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, + "mynixpkgs": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + }, + "locked": { + "lastModified": 1773777798, + "narHash": "sha256-2RqnNcMmPSWvS3Dxbd2rY8pPz4gaNqnUlPaLH3VLogo=", + "owner": "linuxmobile", + "repo": "mynixpkgs", + "rev": "5bd67d272772b698ec7f2a27babfb76df8c58774", + "type": "github" + }, + "original": { + "owner": "linuxmobile", + "repo": "mynixpkgs", + "type": "github" + } + }, + "nix-index-db": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773552174, + "narHash": "sha256-mHSRNrT1rjeYBgkAlj07dW3+1nFEgAd8Gu6lgyfT9DU=", + "owner": "Mic92", + "repo": "nix-index-database", + "rev": "8faeb68130df077450451b6734a221ba0d6cde42", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "nix-index-database", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1772963539, + "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1773734432, + "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "agenix": "agenix", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "flake-utils": "flake-utils", + "import-tree": "import-tree", + "mynixpkgs": "mynixpkgs", + "nix-index-db": "nix-index-db", + "nixpkgs": "nixpkgs_2", + "systems": "systems_2", + "zen-browser": "zen-browser" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773722260, + "narHash": "sha256-U8MsSiqqYZHR3oKE+cCZ2AJt3b4LcXs+oQuNLipaO78=", + "owner": "youwen5", + "repo": "zen-browser-flake", + "rev": "0e6e43342fb3e9a3439fafa777d8cdf98e4ffc49", + "type": "github" + }, + "original": { + "owner": "youwen5", + "repo": "zen-browser-flake", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..164e12d --- /dev/null +++ b/flake.nix @@ -0,0 +1,68 @@ +{ + description = "someone flake configuration based on hjem"; + + outputs = inputs: + inputs.flake-parts.lib.mkFlake {inherit inputs;} { + systems = ["x86_64-linux"]; + + imports = [./hosts ./pkgs]; + + perSystem = { + config, + pkgs, + ... + }: { + devShells = { + default = pkgs.mkShell { + packages = [pkgs.alejandra pkgs.git config.packages.repl]; + name = "someone"; + DIRENV_LOG_FORMAT = ""; + }; + }; + # Nix Formatter + formatter = pkgs.alejandra; + }; + }; + + inputs = { + # global, so they can be `.follow`ed + systems.url = "github:nix-systems/default-linux"; + + flake-compat.url = "github:edolstra/flake-compat"; + + flake-utils = { + url = "github:numtide/flake-utils"; + inputs.systems.follows = "systems"; + }; + + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; + + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + # rest of inputs, alphabetical order + agenix = { + url = "github:ryantm/agenix"; + inputs = { + nixpkgs.follows = "nixpkgs"; + systems.follows = "systems"; + }; + }; + + import-tree.url = "github:vic/import-tree"; + + mynixpkgs.url = "github:linuxmobile/mynixpkgs"; + + zen-browser = { + url = "github:youwen5/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + nix-index-db = { + url = "github:Mic92/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; +} diff --git a/home/default.nix b/home/default.nix new file mode 100644 index 0000000..0df4909 --- /dev/null +++ b/home/default.nix @@ -0,0 +1,18 @@ +{inputs, ...}: { + imports = [ + (inputs.import-tree ./editors) + (inputs.import-tree ./packages) + (inputs.import-tree ./services) + ./terminal + ./xdg-compat.nix + inputs.nix-index-db.nixosModules.nix-index + ]; + + programs = { + nix-index = { + enable = true; + enableFishIntegration = true; + }; + nix-index-database.comma.enable = true; + }; +} diff --git a/home/editors/helix/_languages.nix b/home/editors/helix/_languages.nix new file mode 100644 index 0000000..947a501 --- /dev/null +++ b/home/editors/helix/_languages.nix @@ -0,0 +1,162 @@ +{pkgs, ...}: let + formatters = { + alejandra = "${pkgs.alejandra}/bin/alejandra"; + biome = "${pkgs.biome}/bin/biome"; + oxfmt = "${pkgs.oxfmt}/bin/oxfmt"; + shfmt = "${pkgs.shfmt}/bin/shfmt"; + }; + + languageServers = { + astro-ls = "${pkgs.astro-language-server}/bin/astro-ls"; + biome = "${pkgs.biome}/bin/biome"; + marksman = "${pkgs.marksman}/bin/marksman"; + nil = "${pkgs.nil}/bin/nil"; + tailwindcss = "${pkgs.tailwindcss-language-server}/bin/tailwindcss-language-server"; + volar = "${pkgs.vue-language-server}/bin/vue-language-server"; + }; +in + (pkgs.formats.toml {}).generate "languages.toml" { + language = [ + { + name = "bash"; + auto-format = true; + formatter = { + command = formatters.shfmt; + args = ["-i" "2"]; + }; + } + { + name = "yaml"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.yaml"]; + }; + } + { + name = "astro"; + auto-format = true; + formatter = { + command = formatters.biome; + args = ["format" "--stdin-file-path" "a.astro"]; + }; + language-servers = ["astro-ls" "tailwindcss"]; + } + { + name = "javascript"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.js"]; + }; + language-servers = ["biome" "tailwindcss"]; + } + { + name = "json"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.json"]; + }; + language-servers = ["biome"]; + } + { + name = "jsx"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.jsx"]; + }; + language-servers = ["biome" "tailwindcss"]; + } + { + name = "markdown"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.md"]; + }; + language-servers = ["marksman"]; + } + { + name = "typescript"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.ts"]; + }; + language-servers = ["biome" "tailwindcss"]; + } + { + name = "tsx"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.tsx"]; + }; + language-servers = ["biome" "tailwindcss"]; + } + { + name = "css"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.css"]; + }; + language-servers = ["biome" "tailwindcss"]; + } + { + name = "html"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.html"]; + }; + language-servers = ["tailwindcss"]; + } + { + name = "vue"; + auto-format = true; + formatter = { + command = formatters.oxfmt; + args = ["--stdin-filepath" "file.vue"]; + }; + language-servers = ["volar" "tailwindcss"]; + } + { + name = "nix"; + auto-format = true; + formatter = { + command = formatters.alejandra; + args = ["-q"]; + }; + language-servers = ["nil"]; + } + ]; + + language-server = { + astro-ls = { + command = languageServers.astro-ls; + args = ["--stdio"]; + }; + biome = { + command = languageServers.biome; + args = ["lsp-proxy"]; + }; + nil = { + command = languageServers.nil; + config.nil.formatting.command = [formatters.alejandra "-q"]; + }; + marksman = { + command = languageServers.marksman; + }; + tailwindcss = { + command = languageServers.tailwindcss; + args = ["--stdio"]; + }; + volar = { + command = languageServers.volar; + args = ["--stdio"]; + }; + }; + } diff --git a/home/editors/helix/default.nix b/home/editors/helix/default.nix new file mode 100644 index 0000000..b8913cd --- /dev/null +++ b/home/editors/helix/default.nix @@ -0,0 +1,141 @@ +{pkgs, ...}: let + configFile = "helix/config.toml"; + toTOML = (pkgs.formats.toml {}).generate; + languagesTOML = import ./_languages.nix {inherit pkgs;}; + + lspPackages = with pkgs; [ + # Language Server Protocol + astro-language-server + biome + marksman + nil + tailwindcss-language-server + vue-language-server + + # Formatters + alejandra + oxfmt + shfmt + ]; + + lspBinPath = pkgs.buildEnv { + name = "helix-lsp-env"; + paths = lspPackages; + pathsToLink = ["/bin"]; + }; + + helixWithLSP = + pkgs.runCommand "helix-with-lsp" { + buildInputs = [pkgs.makeWrapper]; + } '' + mkdir -p $out/bin + makeWrapper ${pkgs.helix}/bin/hx $out/bin/hx \ + --prefix PATH : ${lspBinPath}/bin + + + for bin in ${pkgs.helix}/bin/*; do + if [ "$(basename $bin)" != "hx" ]; then + ln -s $bin $out/bin/$(basename $bin) + fi + done + ''; +in { + users.users.someone.packages = [ + helixWithLSP + ]; + + xdg.configFile."${configFile}".source = toTOML "config.toml" { + theme = "noctalia"; + editor = { + color-modes = true; + completion-trigger-len = 1; + completion-replace = true; + cursorline = true; + bufferline = "multiple"; + line-number = "relative"; + cursor-shape = { + insert = "bar"; + normal = "block"; + select = "underline"; + }; + undercurl = true; + true-color = true; + soft-wrap.enable = true; + indent-guides = { + render = true; + rainbow-option = "dim"; + }; + inline-diagnostics = { + cursor-line = "hint"; + other-lines = "error"; + max-diagnostics = 3; + }; + lsp = { + display-messages = true; + display-inlay-hints = true; + }; + gutters = ["diagnostics" "line-numbers" "spacer" "diff"]; + statusline = { + left = ["mode" "spacer" "version-control"]; + center = ["file-modification-indicator" "file-name" "spinner"]; + right = ["diagnostics" "selections" "position" "position-percentage" "total-line-numbers"]; + mode = { + normal = "NORMAL"; + insert = "INSERT"; + select = "SELECT"; + }; + }; + trim-final-newlines = true; + trim-trailing-whitespace = true; + whitespace = { + render = { + space = "all"; + tab = "all"; + newline = "all"; + }; + characters = { + space = " "; + nbsp = "⍽"; + tab = "→"; + newline = "↴"; + tabpad = "-"; + }; + }; + auto-pairs = true; + clipboard-provider = "wayland"; + }; + + keys.insert = { + C-h = "move_char_left"; + C-j = "move_line_down"; + C-k = "move_line_up"; + C-l = "move_char_right"; + C-e = "goto_line_end"; + C-b = "goto_line_start"; + }; + + keys.normal = { + A-j = ["extend_to_line_bounds" "delete_selection" "paste_after"]; + A-k = ["extend_to_line_bounds" "delete_selection" "move_line_up" "paste_before"]; + A-h = ["delete_selection" "move_char_left" "paste_before"]; + A-l = ["delete_selection" "move_char_right" "paste_after"]; + + C-h = ["jump_view_left"]; + C-j = ["jump_view_down"]; + C-k = ["jump_view_up"]; + C-l = ["jump_view_right"]; + + tab = ["goto_next_buffer"]; + S-tab = ["goto_previous_buffer"]; + + space = {x = ":buffer-close";}; + + space.u = { + f = ":format"; + w = ":set whitespace.render all"; + W = ":set whitespace.render none"; + }; + }; + }; + xdg.configFile."helix/languages.toml".source = languagesTOML; +} diff --git a/home/editors/nvim/config/.gitignore b/home/editors/nvim/config/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/home/editors/nvim/config/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/home/editors/nvim/config/.neoconf.json b/home/editors/nvim/config/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/home/editors/nvim/config/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/home/editors/nvim/config/LICENSE b/home/editors/nvim/config/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/home/editors/nvim/config/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/home/editors/nvim/config/README.md b/home/editors/nvim/config/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/home/editors/nvim/config/README.md @@ -0,0 +1,4 @@ +# 💤 LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/home/editors/nvim/config/init.lua b/home/editors/nvim/config/init.lua new file mode 100644 index 0000000..bd5d5d9 --- /dev/null +++ b/home/editors/nvim/config/init.lua @@ -0,0 +1,3 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") +require("custom_colorschemes.alacritty_colour_jory").setup() diff --git a/home/editors/nvim/config/lazy-lock.json b/home/editors/nvim/config/lazy-lock.json new file mode 100644 index 0000000..168ce39 --- /dev/null +++ b/home/editors/nvim/config/lazy-lock.json @@ -0,0 +1,32 @@ +{ + "LazyVim": { "branch": "main", "commit": "28db03f958d58dfff3c647ce28fdc1cb88ac158d" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "catppuccin": { "branch": "main", "commit": "da33755d00e09bff2473978910168ff9ea5dc453" }, + "conform.nvim": { "branch": "master", "commit": "afce105eb47b0869dfafdac90d82f02ef2419d61" }, + "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, + "gitsigns.nvim": { "branch": "main", "commit": "cdafc320f03f2572c40ab93a4eecb733d4016d07" }, + "grug-far.nvim": { "branch": "main", "commit": "b58b2d65863f4ebad88b10a1ddd519e5380466e0" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, + "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7d527c76c43f46294de9c19d39c5a86317809b4b" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "mini.ai": { "branch": "main", "commit": "bfb26d9072670c3aaefab0f53024b2f3729c8083" }, + "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" }, + "mini.pairs": { "branch": "main", "commit": "b316e68f2d242d5bd010deaab645daa27ed86297" }, + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-lint": { "branch": "master", "commit": "d1118791070d090777398792a73032a0ca5c79ff" }, + "nvim-lspconfig": { "branch": "master", "commit": "a2a277114dbb93e98f04b5087a9b832918b7da15" }, + "nvim-treesitter": { "branch": "main", "commit": "bb83a676128d95c865e40ba71376d883bdadec14" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "227165aaeb07b567fb9c066f224816aa8f3ce63f" }, + "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, + "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } +} diff --git a/home/editors/nvim/config/lazyvim.json b/home/editors/nvim/config/lazyvim.json new file mode 100644 index 0000000..1f08b29 --- /dev/null +++ b/home/editors/nvim/config/lazyvim.json @@ -0,0 +1,10 @@ +{ + "extras": [ + "lazyvim.plugins.extras.ai.copilot", + "lazyvim.plugins.extras.ai.copilot-chat" + ], + "news": { + "NEWS.md": "11866" + }, + "version": 8 +} \ No newline at end of file diff --git a/home/editors/nvim/config/lua/config/autocmds.lua b/home/editors/nvim/config/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/home/editors/nvim/config/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/home/editors/nvim/config/lua/config/keymaps.lua b/home/editors/nvim/config/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/home/editors/nvim/config/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/home/editors/nvim/config/lua/config/lazy.lua b/home/editors/nvim/config/lua/config/lazy.lua new file mode 100644 index 0000000..4aeb4bd --- /dev/null +++ b/home/editors/nvim/config/lua/config/lazy.lua @@ -0,0 +1,43 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" + +if not (vim.uv or vim.loop).fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/home/editors/nvim/config/lua/config/options.lua b/home/editors/nvim/config/lua/config/options.lua new file mode 100644 index 0000000..3ea1454 --- /dev/null +++ b/home/editors/nvim/config/lua/config/options.lua @@ -0,0 +1,3 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here diff --git a/home/editors/nvim/config/lua/custom_colorschemes/alacritty_colour_jory.lua b/home/editors/nvim/config/lua/custom_colorschemes/alacritty_colour_jory.lua new file mode 100644 index 0000000..e9f22a5 --- /dev/null +++ b/home/editors/nvim/config/lua/custom_colorschemes/alacritty_colour_jory.lua @@ -0,0 +1,36 @@ +-- ~/.config/nvim/lua/custom_colorschemes/alacritty_colour_jory.lua + +local alacritty_colour_jory = {} + +alacritty_colour_jory.setup = function() + vim.cmd("highlight clear") + vim.cmd("syntax reset") + vim.o.background = "dark" + vim.g.colors_name = "alacritty_colour_jory" + + local colors = { + bg = "#1f0d00", + fg = "#dfbf8e", + black = "#665c54", + blue = "#7daea3", + cyan = "#89b482", + green = "#a9b665", + magenta = "#d3869b", + red = "#ea6962", + white = "#dfbf8e", + yellow = "#e78a4e", + } + + vim.api.nvim_set_hl(0, "Normal", { fg = colors.fg, bg = colors.bg }) + vim.api.nvim_set_hl(0, "Comment", { fg = colors.black, italic = true }) + vim.api.nvim_set_hl(0, "Constant", { fg = colors.magenta }) + vim.api.nvim_set_hl(0, "String", { fg = colors.green }) + vim.api.nvim_set_hl(0, "Function", { fg = colors.blue }) + vim.api.nvim_set_hl(0, "Identifier", { fg = colors.red }) + vim.api.nvim_set_hl(0, "Statement", { fg = colors.yellow }) + vim.api.nvim_set_hl(0, "Type", { fg = colors.cyan }) + vim.api.nvim_set_hl(0, "Special", { fg = colors.white }) + -- Add more highlight groups as needed +end + +return alacritty_colour_jory diff --git a/home/editors/nvim/config/lua/plugins/example.lua b/home/editors/nvim/config/lua/plugins/example.lua new file mode 100644 index 0000000..9a8cd55 --- /dev/null +++ b/home/editors/nvim/config/lua/plugins/example.lua @@ -0,0 +1,242 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + { + "Exafunction/codeium.vim", + event = "BufEnter", + }, + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + table.insert(opts.sources, { name = "emoji" }) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").lsp.on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use for completion and snippets (supertab) + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif vim.snippet.active({ direction = 1 }) then + vim.schedule(function() + vim.snippet.jump(1) + end) + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif vim.snippet.active({ direction = -1 }) then + vim.schedule(function() + vim.snippet.jump(-1) + end) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/home/editors/nvim/config/stylua.toml b/home/editors/nvim/config/stylua.toml new file mode 100644 index 0000000..5d6c50d --- /dev/null +++ b/home/editors/nvim/config/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/home/editors/nvim/default.nix b/home/editors/nvim/default.nix new file mode 100644 index 0000000..7892ec3 --- /dev/null +++ b/home/editors/nvim/default.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +let + username = "someone"; +in +{ + users.users.${username}.packages = with pkgs; [ + neovim + ]; + + system.activationScripts.setup-nvim = lib.mkAfter '' + mkdir -p /home/${username}/.config + ln -sfn ${./config} /home/${username}/.config/nvim + ''; +} diff --git a/home/editors/zed/_settings.nix b/home/editors/zed/_settings.nix new file mode 100644 index 0000000..742e45f --- /dev/null +++ b/home/editors/zed/_settings.nix @@ -0,0 +1,130 @@ +{pkgs, ...}: let + formatters = { + alejandra = "${pkgs.alejandra}/bin/alejandra"; + biome = "${pkgs.biome}/bin/biome"; + oxfmt = "${pkgs.oxfmt}/bin/oxfmt"; + shfmt = "${pkgs.shfmt}/bin/shfmt"; + }; + + languageServers = { + astro-ls = "${pkgs.astro-language-server}/bin/astro-ls"; + biome = "${pkgs.biome}/bin/biome"; + marksman = "${pkgs.marksman}/bin/marksman"; + nil = "${pkgs.nil}/bin/nil"; + tailwindcss = "${pkgs.tailwindcss-language-server}/bin/tailwindcss-language-server"; + volar = "${pkgs.vue-language-server}/bin/vue-language-server"; + }; + + # Helper function to create external formatter config + mkExternalFormatter = command: args: { + external = { + inherit command; + arguments = args; + }; + }; +in { + languages = { + YAML = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + }; + Astro = { + tab_size = 2; + formatter = mkExternalFormatter formatters.biome ["format" "--stdin-file-path" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["astro-ls" "tailwindcss-language-server"]; + }; + JavaScript = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["biome" "tailwindcss-language-server"]; + }; + JSON = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["biome"]; + }; + Markdown = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["marksman"]; + }; + TypeScript = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["biome" "tailwindcss-language-server"]; + }; + TSX = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["biome" "tailwindcss-language-server"]; + }; + CSS = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["biome" "tailwindcss-language-server"]; + }; + HTML = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["tailwindcss-language-server"]; + }; + "Vue.js" = { + tab_size = 2; + formatter = mkExternalFormatter formatters.oxfmt ["--stdin-filepath" "{buffer_path}"]; + format_on_save = "on"; + language_servers = ["vue-language-server" "tailwindcss-language-server"]; + }; + Nix = { + tab_size = 2; + formatter = mkExternalFormatter formatters.alejandra ["-q"]; + format_on_save = "on"; + language_servers = ["nil"]; + }; + }; + + lsp = { + "astro-language-server" = { + binary = { + path = languageServers.astro-ls; + arguments = ["--stdio"]; + }; + }; + biome = { + binary = { + path = languageServers.biome; + arguments = ["lsp-proxy"]; + }; + }; + nil = { + binary = { + path = languageServers.nil; + }; + initialization_options = { + formatting = { + command = [formatters.alejandra "-q"]; + }; + }; + }; + "tailwindcss-language-server" = { + binary = { + path = languageServers.tailwindcss; + arguments = ["--stdio"]; + }; + }; + "vue-language-server" = { + binary = { + path = languageServers.volar; + arguments = ["--stdio"]; + }; + }; + }; +} diff --git a/home/editors/zed/default.nix b/home/editors/zed/default.nix new file mode 100644 index 0000000..d3338be --- /dev/null +++ b/home/editors/zed/default.nix @@ -0,0 +1,152 @@ +{ + config, + lib, + pkgs, + ... +}: let + configFile = "zed/settings.json"; + languageConfig = import ./_settings.nix {inherit pkgs lib;}; + settingsJSON = builtins.toJSON ({ + node = { + path = "${pkgs.nodejs}/bin/node"; + npm_path = "${pkgs.nodejs}/bin/npm"; + }; + audio = {"experimental.rodio_audio" = true;}; + calls.mute_on_join = true; + terminal.font_size = 11; + window_decorations = "client"; + use_system_window_tabs = false; + tabs.git_status = false; + title_bar = { + show_menus = false; + show_user_picture = false; + show_user_menu = false; + show_sign_in = true; + show_onboarding_banner = false; + show_project_items = true; + show_branch_name = true; + show_branch_icon = false; + }; + debugger.button = false; + colorize_brackets = true; + inlay_hints = { + show_background = true; + enabled = true; + }; + show_whitespaces = "selection"; + gutter.runnables = true; + indent_guides = { + background_coloring = "disabled"; + coloring = "fixed"; + }; + relative_line_numbers = "enabled"; + which_key.enabled = true; + helix_mode = true; + current_line_highlight = "all"; + hide_mouse = "never"; + multi_cursor_modifier = "cmd_or_ctrl"; + agent_ui_font_size = 15; + agent_buffer_font_size = 11; + session.trust_all_worktrees = true; + redact_private_values = true; + ui_font_family = "GT Pressura Mono Trial"; + buffer_font_features = { + calt = true; + dlig = true; + liga = true; + ss13 = true; + ss15 = true; + }; + buffer_font_fallbacks = ["Symbols Nerd Font"]; + buffer_font_size = 12; + scrollbar.show = "never"; + tab_bar.show = false; + toolbar = { + agent_review = false; + quick_actions = false; + }; + vim_mode = false; + theme = { + mode = "system"; + light = "Noctalia Light"; + dark = "Noctalia Dark"; + }; + icon_theme = "Catppuccin Mocha"; + project_panel.dock = "left"; + unnecessary_code_fade = 0.9; + restore_on_startup = "last_session"; + auto_update = false; + telemetry = { + diagnostics = false; + metrics = false; + }; + edit_predictions_disabled_in = ["comments"]; + preview_tabs.enabled = false; + format_on_save = "on"; + tab_size = 2; + features.edit_prediction_provider = "copilot"; + agent = { + play_sound_when_agent_done = false; + default_profile = "write"; + always_allow_tool_actions = false; + dock = "right"; + default_model = { + provider = "openrouter"; + model = "mistralai/devstral-2512:free"; + }; + commit_message_model = { + provider = "openrouter"; + model = "mistralai/devstral-2512:free"; + }; + thread_summary_model = { + provider = "openrouter"; + model = "mistralai/devstral-2512:free"; + }; + }; + } + // languageConfig); + lspPackages = with pkgs; [ + # Language Server Protocol + astro-language-server + biome + marksman + nil + tailwindcss-language-server + vue-language-server + # Formatters + alejandra + oxfmt + shfmt + # Node.js (required for Zed LSP node integration) + nodejs + ]; + lspBinPath = pkgs.buildEnv { + name = "zed-lsp-env"; + paths = lspPackages; + pathsToLink = ["/bin"]; + }; + zedWithLSP = pkgs.symlinkJoin { + name = "zed-with-lsp"; + paths = [pkgs.zed-editor]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + rm -rf $out/bin + mkdir -p $out/bin + makeWrapper ${pkgs.zed-editor}/bin/zeditor $out/bin/zeditor \ + --prefix PATH : ${lspBinPath}/bin + for bin in ${pkgs.zed-editor}/bin/*; do + if [ "$(basename $bin)" != "zeditor" ]; then + ln -s $bin $out/bin/$(basename $bin) + fi + done + ''; + }; +in { + users.users.someone.packages = [ + zedWithLSP + ]; + xdg.configFile."${configFile}" = { + text = settingsJSON; + mutable = true; + }; +} diff --git a/home/packages/browsers/_chromium-flags.nix b/home/packages/browsers/_chromium-flags.nix new file mode 100644 index 0000000..60fd351 --- /dev/null +++ b/home/packages/browsers/_chromium-flags.nix @@ -0,0 +1,55 @@ +{ + flags = [ + # Wayland support + "--ozone-platform=wayland" + "--enable-features=WaylandWindowDecorations" + # GPU and Video Acceleration Flags + "--use-vulkan=native" + "--enable-dawn-backend=vulkan" + "--ignore-gpu-blocklist" + "--enable-gpu-rasterization" + "--enable-zero-copy" + "--enable-raw-draw" + "--enable-drdc" + "--disable-gpu-driver-bug-workarounds" + "--disable-features=UseChromeOSDirectVideoDecoder" + "--enable-features=UseOzonePlatform,Vulkan,SkiaGraphite,VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization,VaapiIgnoreDriverChecks,OverlayScrollbar,ParallelDownloading" + # Performance + "--enable-hardware-overlays" + "--enable-accelerated-video-decode" + "--enable-accelerated-video-encode" + "--enable-accelerated-mjpeg-decode" + "--enable-oop-rasterization" + "--enable-webgl-developer-extensions" + "--enable-accelerated-2d-canvas" + "--enable-direct-composition" + "--enable-gpu-compositing" + # Smooth browsing + "--enable-media-router" + "--enable-smooth-scrolling" + # UnGoogled features + "--disable-search-engine-collection" + "--extension-mime-request-handling=always-prompt-for-install" + "--fingerprinting-canvas-image-data-noise" + "--fingerprinting-canvas-measuretext-noise" + "--fingerprinting-client-rects-noise" + "--popups-to-tabs" + "--force-punycode-hostnames" + "--show-avatar-button=incognito-and-guest" + # Miscellaneous + "--no-default-browser-check" + "--no-pings" + ]; + + sessionVariables = { + LIBVA_DRIVER_NAME = "radeonsi"; + LIBVA_MESSAGING_LEVEL = "1"; + LIBGL_ALWAYS_SOFTWARE = "0"; + ENABLE_VAAPI = "1"; + ENABLE_VDPAU = "1"; + VAAPI_DISABLE_ENCODER_CHECKING = "1"; + EGL_PLATFORM = "wayland"; + RADV_PERFTEST = "sam"; + AMD_VULKAN_ICD = "RADV"; + }; +} diff --git a/home/packages/browsers/chromium.nix b/home/packages/browsers/chromium.nix new file mode 100644 index 0000000..525162b --- /dev/null +++ b/home/packages/browsers/chromium.nix @@ -0,0 +1,19 @@ +{ + pkgs, + lib, + ... +}: let + chromiumFlags = import ./_chromium-flags.nix; + chromiumWrapped = pkgs.symlinkJoin { + name = "ungoogled-chromium-wrapped"; + paths = [pkgs.ungoogled-chromium]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/chromium \ + ${lib.concatMapStringsSep " \\\n " (flag: "--add-flags \"${flag}\"") chromiumFlags.flags} + ''; + }; +in { + users.users.someone.packages = [chromiumWrapped]; + environment.sessionVariables = chromiumFlags.sessionVariables; +} diff --git a/home/packages/browsers/helium.nix b/home/packages/browsers/helium.nix new file mode 100644 index 0000000..bfd6587 --- /dev/null +++ b/home/packages/browsers/helium.nix @@ -0,0 +1,21 @@ +{ + pkgs, + inputs, + lib, + ... +}: let + chromiumFlags = import ./_chromium-flags.nix; + + heliumWrapped = pkgs.symlinkJoin { + name = "helium-wrapped"; + paths = [inputs.mynixpkgs.packages.${pkgs.stdenv.hostPlatform.system}.helium]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/helium \ + ${lib.concatMapStringsSep " \\\n " (flag: "--add-flags '${flag}'") chromiumFlags.flags} + ''; + }; +in { + users.users.someone.packages = [heliumWrapped]; + environment.sessionVariables = chromiumFlags.sessionVariables; +} diff --git a/home/packages/browsers/zen.nix b/home/packages/browsers/zen.nix new file mode 100644 index 0000000..1e78184 --- /dev/null +++ b/home/packages/browsers/zen.nix @@ -0,0 +1,23 @@ +{ + pkgs, + inputs, + config, + lib, + ... +}: let + homeDir = config.users.users.someone.home; +in { + users.users.someone.packages = [inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default]; + + system.activationScripts.zenArkenfoxUserJs = lib.stringAfter ["users"] '' + zen_dir="${homeDir}/.config/zen" + if [ -d "$zen_dir" ]; then + for profile in "$zen_dir"/*/; do + if [ -f "$profile/prefs.js" ]; then + runuser -u someone -- ${pkgs.curl}/bin/curl -sL -o "$profile/user.js" \ + "https://git.severijnse.eu/jory/user.js/raw/branch/master/user.js" + fi + done + fi + ''; +} diff --git a/home/packages/gtk.nix b/home/packages/gtk.nix new file mode 100644 index 0000000..37fa235 --- /dev/null +++ b/home/packages/gtk.nix @@ -0,0 +1,29 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + bibata-cursors + (whitesur-icon-theme.override { + boldPanelIcons = true; + alternativeIcons = true; + }) + gsettings-desktop-schemas + ]; + +programs.dconf.enable = true; + + programs.dconf.profiles.user.databases = [{ + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + gtk-application-prefer-dark-theme = true; + }; + }; + }]; + + environment.sessionVariables = { + XDG_ICON_DIR = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur"; + GSETTINGS_SCHEMA_DIR = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"; + XCURSOR_THEME = "Bibata-Original-Modern"; + XCURSOR_SIZE = "20"; + QS_ICON_THEME = "WhiteSur"; + }; +} diff --git a/home/packages/media/default.nix b/home/packages/media/default.nix new file mode 100644 index 0000000..ec8e73b --- /dev/null +++ b/home/packages/media/default.nix @@ -0,0 +1,6 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + alsa-utils + easyeffects + ]; +} diff --git a/home/packages/media/mpv.nix b/home/packages/media/mpv.nix new file mode 100644 index 0000000..3c6250e --- /dev/null +++ b/home/packages/media/mpv.nix @@ -0,0 +1,33 @@ +{ + pkgs, + lib, + ... +}: + +let + configFile = "mpv/mpv.conf"; + mpvInputFile = "mpv/input.conf"; +in +{ + users.users.someone.packages = with pkgs; [ + mpv + mpvScripts.mpris + ]; + + xdg.configFile."${configFile}".text = + lib.generators.toKeyValue { + mkKeyValue = k: v: + "${lib.escapeShellArg k}=${lib.escapeShellArg v}"; + listsAsDuplicateKeys = true; + } { + profile = "gpu-hq"; + volume = "100"; + }; + + xdg.configFile."${mpvInputFile}".text = '' + l af add @pan:stereo|c0=c0|c1=c0 + r af add @pan:stereo|c0=c1|c1=c1 + c show-text "Chapters:\n''${chapter-list}" + s ignore + ''; +} diff --git a/home/packages/media/obs.nix b/home/packages/media/obs.nix new file mode 100644 index 0000000..f73d6f8 --- /dev/null +++ b/home/packages/media/obs.nix @@ -0,0 +1,34 @@ +{pkgs, ...}: let + obsBase = pkgs.obs-studio.override { + pipewireSupport = true; + browserSupport = true; + }; + + plugins = with pkgs.obs-studio-plugins; [ + obs-gstreamer + obs-pipewire-audio-capture + obs-vaapi + ]; + + obsPluginEnv = pkgs.buildEnv { + name = "obs-studio-with-plugins-env"; + paths = plugins; + }; + + obsWrapped = pkgs.symlinkJoin { + name = "obs-studio-wrapped"; + paths = [obsBase]; + buildInputs = [pkgs.makeWrapper]; + + postBuild = '' + wrapProgram $out/bin/obs \ + --set OBS_PLUGINS_PATH "${obsPluginEnv}/lib/obs-plugins" \ + --set OBS_PLUGINS_DATA_PATH "${obsPluginEnv}/share/obs/obs-plugins" \ + --add-flags "--ozone-platform=wayland" + ''; + }; +in { + users.users.someone.packages = [ + obsWrapped + ]; +} diff --git a/home/packages/media/rnnoise.nix b/home/packages/media/rnnoise.nix new file mode 100644 index 0000000..84f8016 --- /dev/null +++ b/home/packages/media/rnnoise.nix @@ -0,0 +1,40 @@ +{pkgs, ...}: let + configFile = "pipewire/pipewire.conf.d/99-input-denoising.conf"; +in { + users.users.someone.packages = with pkgs; [ + rnnoise + rnnoise-plugin + ]; + + xdg.configFile."${configFile}".text = builtins.toJSON { + "context.modules" = [ + { + "name" = "libpipewire-module-filter-chain"; + "args" = { + "node.description" = "Noise Canceling source"; + "media.name" = "Noise Canceling source"; + "filter.graph" = { + "nodes" = [ + { + "type" = "ladspa"; + "name" = "rnnoise"; + "plugin" = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; + "label" = "noise_suppressor_stereo"; + "control" = {"VAD Threshold (%)" = 70.0;}; + } + ]; + }; + "audio.position" = ["FL" "FR"]; + "capture.props" = { + "node.name" = "effect_input.rnnoise"; + "node.passive" = true; + }; + "playback.props" = { + "node.name" = "effect_output.rnnoise"; + "media.class" = "Audio/Source"; + }; + }; + } + ]; + }; +} diff --git a/home/packages/packages.nix b/home/packages/packages.nix new file mode 100644 index 0000000..aeeec99 --- /dev/null +++ b/home/packages/packages.nix @@ -0,0 +1,58 @@ +{ + inputs, + pkgs, + ... +}: { + users.users.someone.packages = with pkgs; [ + # screenshot + grim + slurp + satty + swappy + + # editor + neovim + #messaging + telegram-desktop + vesktop + + # misc + pciutils + copyq + nixos-icons + ffmpegthumbnailer + imagemagick + bun + fastfetch + + wl-mirror + pavucontrol + thunderbird + croc + qbittorrent + weathr + # gnome + dconf-editor + file-roller + gnome-control-center + gnome-text-editor + nautilus + (papers.override {supportNautilus = true;}) + inkscape + scrcpy + android-tools + (inputs.mynixpkgs.packages.${stdenv.hostPlatform.system}.multiviewer.overrideAttrs (old: { + buildInputs = (old.buildInputs or []) ++ [pkgs.makeWrapper]; + postInstall = '' + wrapProgram $out/bin/multiviewer \ + --set LD_LIBRARY_PATH "/run/opengl-driver/lib:''${LD_LIBRARY_PATH:-}" \ + --set __EGL_VENDOR_LIBRARY_FILENAMES ${pkgs.mesa}/share/glvnd/egl_vendor.d/50_mesa.json \ + --set LIBGL_ALWAYS_INDIRECT 0 \ + --set ELECTRON_OZONE_PLATFORM_HINT wayland + ''; + })) + + swww + openvpn + ]; +} diff --git a/home/packages/wayland/default.nix b/home/packages/wayland/default.nix new file mode 100644 index 0000000..e913665 --- /dev/null +++ b/home/packages/wayland/default.nix @@ -0,0 +1,14 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + wl-clipboard + ]; + environment.sessionVariables = { + SDL_VIDEODRIVER = "wayland"; + XDG_SESSION_TYPE = "wayland"; + XDG_CURRENT_DESKTOP = "niri:GNOME"; + XDG_SESSION_DESKTOP = "niri"; + QT_QPA_PLATFORMTHEME = "qt6ct"; + WLR_RENDERER = "vulkan"; + GTK_USE_PORTAL = 1; + }; +} diff --git a/home/packages/wayland/niri/_binds.nix b/home/packages/wayland/niri/_binds.nix new file mode 100644 index 0000000..e1e58c0 --- /dev/null +++ b/home/packages/wayland/niri/_binds.nix @@ -0,0 +1,75 @@ +{pkgs}: { + "XF86AudioPlay" = { + _props.allow-when-locked = true; + spawn._args = ["playerctl" "play-pause"]; + }; + "XF86AudioStop" = { + _props.allow-when-locked = true; + spawn._args = ["playerctl" "stop"]; + }; + "XF86AudioNext" = { + _props.allow-when-locked = true; + spawn._args = ["playerctl" "next"]; + }; + "XF86AudioPrev" = { + _props.allow-when-locked = true; + spawn._args = ["playerctl" "previous"]; + }; + "XF86AudioMute" = { + _props.allow-when-locked = true; + spawn._args = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"]; + }; + "XF86AudioMicMute" = { + _props.allow-when-locked = true; + spawn._args = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"]; + }; + "XF86AudioRaiseVolume" = { + _props.allow-when-locked = true; + spawn._args = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"]; + }; + "XF86AudioLowerVolume" = { + _props.allow-when-locked = true; + spawn._args = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"]; + }; + "XF86MonBrightnessUp" = { + _props.allow-when-locked = true; + spawn._args = ["brightnessctl" "set" "10%+"]; + }; + "XF86MonBrightnessDown" = { + _props.allow-when-locked = true; + spawn._args = ["brightnessctl" "set" "10%-"]; + }; + "Print".spawn._args = ["sh" "-c" "grim -g \"$(slurp)\" - | satty --filename - --output-filename ~/Pictures/Screenshots/satty-$(date +%Y%m%d-%H%M%S).png"]; + "Mod+B".spawn._args = ["zen"]; + "Mod+Return".spawn._args = ["alacritty"]; + "Mod+Q".close-window = {}; + "Mod+Shift+P".spawn._args = ["rofi-powermenu"]; + "Mod+S".switch-preset-column-width = {}; + "Mod+F".fullscreen-window = {}; + "Mod+1".set-column-width = "25%"; + "Mod+2".set-column-width = "50%"; + "Mod+3".set-column-width = "75%"; + "Mod+4".set-column-width = "100%"; + "Mod+Shift+F".expand-column-to-available-width = {}; + "Mod+Space".spawn._args = ["walker"]; + "Mod+Shift+Space".toggle-window-floating = {}; + "Mod+W".toggle-column-tabbed-display = {}; + "Mod+Comma".consume-window-into-column = {}; + "Mod+Period".expel-window-from-column = {}; + "Mod+C".center-visible-columns = {}; + "Mod+Tab".switch-focus-between-floating-and-tiling = {}; + "Mod+Minus".set-column-width = "-10%"; + "Mod+Plus".set-column-width = "+10%"; + "Mod+Shift+Minus".set-window-height = "-10%"; + "Mod+Shift+Plus".set-window-height = "+10%"; + "Mod+Left".focus-column-left = {}; + "Mod+Right".focus-column-right = {}; + "Mod+Down".focus-workspace-down = {}; + "Mod+Up".focus-workspace-up = {}; + "Mod+Shift+Left".move-column-left = {}; + "Mod+Shift+Right".move-column-right = {}; + "Mod+Shift+Up".move-column-to-workspace-up = {}; + "Mod+Shift+Down".move-column-to-workspace-down = {}; + "Mod+P" = {spawn-sh = "wl-mirror $(niri msg --json focused-output | jq -r .name)";}; +# "Mod+Alt".toggle-overview = { repeat=false; }; +} diff --git a/home/packages/wayland/niri/_rules.nix b/home/packages/wayland/niri/_rules.nix new file mode 100644 index 0000000..34cc29f --- /dev/null +++ b/home/packages/wayland/niri/_rules.nix @@ -0,0 +1,179 @@ +{ + window-rule = [ + { + geometry-corner-radius._args = [8.0 8.0 12.0 12.0]; + clip-to-geometry = true; + draw-border-with-background = false; + } + { + match._props = {is-floating = true;}; + shadow = {}; + } + { + match._props = {is-window-cast-target = true;}; + focus-ring = { + active-color = "#f38ba8"; + inactive-color = "#7d0d2d"; + }; + border.inactive-color = "#7d0d2d"; + shadow.color = "#7d0d2d70"; + tab-indicator = { + active-color = "#f38ba8"; + inactive-color = "#7d0d2d"; + }; + } + { + match._props = {app-id = "org.telegram.desktop";}; + block-out-from = "screencast"; + } + { + match._props = {app-id = "app.drey.PaperPlane";}; + block-out-from = "screencast"; + } + { + match = [ + {_props = {app-id = "zen";};} + {_props = {app-id = "helium";};} + {_props = {app-id = "firefox";};} + {_props = {app-id = "chromium-browser";};} + {_props = {app-id = "xdg-desktop-portal-gtk";};} + ]; + scroll-factor = 0.6; + } + { + match = [ + {_props = {app-id = "zen";};} + {_props = {app-id = "helium";};} + {_props = {app-id = "firefox";};} + {_props = {app-id = "chromium-browser";};} + ]; + open-maximized = true; + } + { + match._props = {title = "^Picture-in-Picture$";}; + open-floating = true; + default-floating-position._props = { + x = 32; + y = 32; + relative-to = "bottom-right"; + }; + default-column-width.fixed = 480; + default-window-height.fixed = 270; + } + { + match._props = {title = "Discord Popout";}; + open-floating = true; + default-floating-position._props = { + x = 32; + y = 32; + relative-to = "bottom-right"; + }; + } + { + match._props = { + app-id = "Multiviewer"; + title = "^Track Map$"; + }; + open-floating = true; + open-on-output = "HDMI-A-1"; + default-floating-position._props = { + x = 1426; + y = 747; + relative-to = "top-right"; + }; + default-column-width.fixed = 490; + default-window-height.fixed = 330; + } + { + match._props = {app-id = ".scrcpy-wrapped";}; + open-floating = true; + } + { + match._props = {app-id = "com.gabm.satty";}; + open-floating = true; + } + { + match._props = {app-id = "pavucontrol";}; + open-floating = true; + } + { + match._props = {app-id = "pavucontrol-qt";}; + open-floating = true; + } + { + match._props = {app-id = "com.saivert.pwvucontrol";}; + open-floating = true; + } + { + match._props = {app-id = "io.github.fsobolev.Cavalier";}; + open-floating = true; + } + { + match._props = {app-id = "dialog";}; + open-floating = true; + } + { + match._props = {app-id = "popup";}; + open-floating = true; + } + { + match._props = {app-id = "task_dialog";}; + open-floating = true; + } + { + match._props = {app-id = "gcr-prompter";}; + open-floating = true; + } + { + match._props = {app-id = "file-roller";}; + open-floating = true; + } + { + match._props = {app-id = "org.gnome.FileRoller";}; + open-floating = true; + } + { + match._props = {app-id = "nm-connection-editor";}; + open-floating = true; + } + { + match._props = {app-id = "blueman-manager";}; + open-floating = true; + } + { + match._props = {app-id = "xdg-desktop-portal-gtk";}; + open-floating = true; + } + { + match._props = {app-id = "org.kde.polkit-kde-authentication-agent-1";}; + open-floating = true; + } + { + match._props = {app-id = "pinentry";}; + open-floating = true; + } + { + match._props = {title = "Progress";}; + open-floating = true; + } + { + match._props = {title = "File Operations";}; + open-floating = true; + } + { + match._props = {title = "Confirm";}; + open-floating = true; + } + { + match._props = {title = "Error";}; + open-floating = true; + } + ]; + + layer-rule = [ + { + match._props = {namespace = "^noctalia-wallpaper*";}; + place-within-backdrop = true; + } + ]; +} diff --git a/home/packages/wayland/niri/_settings.nix b/home/packages/wayland/niri/_settings.nix new file mode 100644 index 0000000..471beb9 --- /dev/null +++ b/home/packages/wayland/niri/_settings.nix @@ -0,0 +1,94 @@ +_: let + pointer = "Bibata-Modern-Classic"; +in { + environment = { + CLUTTER_BACKEND = "wayland"; + DISPLAY = null; + MOZ_ENABLE_WAYLAND = "1"; + NIXOS_OZONE_WL = "1"; + QT_QPA_PLATFORM = "wayland;xcb"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + WLR_RENDERER = "vulkan"; + WLR_NO_HARDWARE_CURSORS = "1"; + QT_QPA_PLATFORMTHEME = "qt6ct"; + GTK_IM_MODULE = "simple"; + XDG_CURRENT_DESKTOP = "Niri"; + XDG_SESSION_TYPE = "wayland"; + }; + + spawn-at-startup = [ + ["wl-paste" "--watch" "cliphist" "store"] + ["wl-paste" "--type" "text" "--watch" "cliphist" "store"] + ["dunst"] + ["ashell"] + ["elephant"] + ["copyq"] + ["swww-daemon"] + ["swww" "img" "/etc/nixos/background.jpg" "--transition-type" "grow" "--transition-pos" "center" "--transition-duration" "3"] + ]; + + input = { + keyboard.xkb.layout = "us"; + touchpad = { + click-method = "button-areas"; + dwt = {}; + dwtp = {}; + #natural-scroll = {}; + scroll-method = "two-finger"; + tap = {}; + tap-button-map = "left-right-middle"; + middle-emulation = {}; + accel-profile = "adaptive"; + }; + focus-follows-mouse._props = {max-scroll-amount = "90%";}; + warp-mouse-to-focus = {}; + workspace-auto-back-and-forth = {}; + }; + + screenshot-path = "~/Pictures/Screenshots/Screenshot-from-%Y-%m-%d-%H-%M-%S.png"; + + overview = { + workspace-shadow.off = {}; + backdrop-color = "transparent"; + }; + + gestures.hot-corners = {}; + + cursor = { + xcursor-size = 20; + xcursor-theme = pointer; + }; + + layout = { + background-color = "transparent"; + focus-ring.off = {}; + border = { + width = 1; + }; + shadow.off = {}; + preset-column-widths.proportion = [0.25 0.5 0.75 1.0]; + default-column-width.proportion = 0.5; + always-center-single-column = {}; + gaps = 6; + struts = { + left = 0; + right = 0; + top = 0; + bottom = 0; + }; + tab-indicator = { + hide-when-single-tab = {}; + place-within-column = {}; + position = "left"; + corner-radius = 20.0; + gap = -12.0; + gaps-between-tabs = 10.0; + width = 4.0; + length._props = {total-proportion = 0.1;}; + }; + }; + + prefer-no-csd = {}; + hotkey-overlay.skip-at-startup = {}; +} diff --git a/home/packages/wayland/niri/_to-KDL.nix b/home/packages/wayland/niri/_to-KDL.nix new file mode 100644 index 0000000..9863c66 --- /dev/null +++ b/home/packages/wayland/niri/_to-KDL.nix @@ -0,0 +1,146 @@ +{ + lib, + pkgs, +}: let + inherit + (lib) + concatStringsSep + splitString + mapAttrsToList + any + optionalString + pipe + filterAttrs + ; + inherit (builtins) typeOf replaceStrings elem; + + indentStrings = let + unlines = splitString "\n"; + lines = concatStringsSep "\n"; + indentAll = lines: concatStringsSep "\n" (map (x: " " + x) lines); + in + stringsWithNewlines: indentAll (unlines (lines stringsWithNewlines)); + + sanitizeString = replaceStrings ["\n" ''"'' "\\" "\r" "\t"] ["\\n" ''\"'' "\\\\" "\\r" "\\t"]; + + literalValueToString = element: + lib.throwIfNot + (elem (typeOf element) [ + "int" + "float" + "string" + "bool" + "null" + ]) + "Cannot convert value of type ${typeOf element} to KDL literal." + ( + if typeOf element == "null" + then "null" + else if element == false + then "false" + else if element == true + then "true" + else if typeOf element == "string" + then ''"${sanitizeString element}"'' + else toString element + ); + + convertAttrsToKDL = name: attrs: let + optArgsString = optionalString (attrs ? _args) ( + pipe attrs._args [ + (map literalValueToString) + (concatStringsSep " ") + (s: s + " ") + ] + ); + optPropsString = optionalString (attrs ? _props) ( + pipe attrs._props [ + (mapAttrsToList (name: value: "${name}=${literalValueToString value}")) + (concatStringsSep " ") + (s: s + " ") + ] + ); + children = + filterAttrs ( + name: _: + !(elem name [ + "_args" + "_props" + ]) + ) + attrs; + in + ''${name} ${optArgsString}${optPropsString}'' + + ( + if children == {} + then "" + else "{\n${indentStrings (mapAttrsToList convertAttributeToKDL children)}\n}" + ); + + convertListOfFlatAttrsToKDL = name: list: let + flatElements = map literalValueToString list; + in "${name} ${concatStringsSep " " flatElements}"; + + convertListOfNonFlatAttrsToKDL = name: list: ''${concatStringsSep "\n" (map (x: convertAttributeToKDL name x) list)}''; + + convertListToKDL = name: list: let + elementsAreFlat = + !any ( + el: + elem (typeOf el) [ + "list" + "set" + ] + ) + list; + + allSingleValues = + builtins.all ( + el: + elem (typeOf el) ["int" "float" "string" "bool" "null"] + ) + list; + + isListOfLists = builtins.all (el: typeOf el == "list") list; + in + if isListOfLists + then concatStringsSep "\n" (map (sublist: "${name} ${concatStringsSep " " (map literalValueToString sublist)}") list) + else if elementsAreFlat && allSingleValues && builtins.length list > 1 + then concatStringsSep "\n" (map (val: "${name} ${literalValueToString val}") list) + else if elementsAreFlat + then convertListOfFlatAttrsToKDL name list + else convertListOfNonFlatAttrsToKDL name list; + + convertAttributeToKDL = name: value: let + vType = typeOf value; + in + if + elem vType [ + "int" + "float" + "bool" + "string" + ] + then "${name} ${literalValueToString value}" + else if vType == "null" + then "${name} ${literalValueToString value}" + else if vType == "set" + then + if value == {} + then name + else convertAttrsToKDL name value + else if vType == "list" + then convertListToKDL name value + else + throw '' + Cannot convert type `(${typeOf value})` to KDL: + ${name} = ${toString value} + ''; + + toKDL = attrs: '' + ${concatStringsSep "\n" (mapAttrsToList convertAttributeToKDL attrs)} + ''; +in { + generate = name: value: + pkgs.writeText name (toKDL value); +} diff --git a/home/packages/wayland/niri/default.nix b/home/packages/wayland/niri/default.nix new file mode 100644 index 0000000..49a41ef --- /dev/null +++ b/home/packages/wayland/niri/default.nix @@ -0,0 +1,20 @@ +{ + lib, + pkgs, + ... +}: let + toKDL = import ./_to-KDL.nix {inherit lib pkgs;}; + settings = import ./_settings.nix {inherit lib pkgs;}; + binds = import ./_binds.nix {inherit pkgs;}; + rules = import ./_rules.nix; + + finalConfig = toKDL.generate "niri-config.kdl" (settings // {binds = binds;} // rules); +in { + environment.sessionVariables = { + NIRI_CONFIG = "$HOME/.config/niri/config.kdl"; + }; + + users.users.someone.packages = with pkgs; [niri]; + + xdg.configFile."niri/config.kdl".text = builtins.readFile finalConfig; +} diff --git a/home/packages/wayland/rofi-files/applets/bin/appasroot.sh b/home/packages/wayland/rofi-files/applets/bin/appasroot.sh new file mode 100755 index 0000000..f0e6944 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/appasroot.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Run Applications as Root + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Theme Elements +prompt='Applications' +mesg='Run Applications as Root' + +if [[ "$theme" == *'type-1'* ]]; then + list_col='1' + list_row='5' + win_width='400px' +elif [[ "$theme" == *'type-3'* ]]; then + list_col='1' + list_row='5' + win_width='120px' +elif [[ "$theme" == *'type-5'* ]]; then + list_col='1' + list_row='5' + win_width='520px' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='5' + list_row='1' + win_width='670px' +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Alacritty" + option_2=" Thunar" + option_3=" Geany" + option_4=" Ranger" + option_5=" Vim" +else + option_1="" + option_2="" + option_3="" + option_4="" + option_5="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "window {width: $win_width;}" \ + -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd +} + +# Execute Command +run_cmd() { + polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY" + if [[ "$1" == '--opt1' ]]; then + ${polkit_cmd} alacritty + elif [[ "$1" == '--opt2' ]]; then + ${polkit_cmd} dbus-run-session thunar + elif [[ "$1" == '--opt3' ]]; then + ${polkit_cmd} geany + elif [[ "$1" == '--opt4' ]]; then + ${polkit_cmd} alacritty -e ranger + elif [[ "$1" == '--opt5' ]]; then + ${polkit_cmd} alacritty -e vim + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; +esac + diff --git a/home/packages/wayland/rofi-files/applets/bin/apps.sh b/home/packages/wayland/rofi-files/applets/bin/apps.sh new file mode 100755 index 0000000..01d1e4d --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/apps.sh @@ -0,0 +1,104 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Favorite Applications + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Theme Elements +prompt='Applications' +mesg="Installed Packages : `pacman -Q | wc -l` (pacman)" + +if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then + list_col='1' + list_row='6' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='6' + list_row='1' +fi + +# CMDs (add your apps here) +term_cmd='alacritty' +file_cmd='thunar' +text_cmd='geany' +web_cmd='firefox' +music_cmd='alacritty -e ncmpcpp' +setting_cmd='xfce4-settings-manager' + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Terminal ($term_cmd)" + option_2=" Files ($file_cmd)" + option_3=" Editor ($text_cmd)" + option_4=" Browser ($web_cmd)" + option_5=" Music ($music_cmd)" + option_6=" Settings ($setting_cmd)" +else + option_1="" + option_2="" + option_3="" + option_4="" + option_5="" + option_6="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + ${term_cmd} + elif [[ "$1" == '--opt2' ]]; then + ${file_cmd} + elif [[ "$1" == '--opt3' ]]; then + ${text_cmd} + elif [[ "$1" == '--opt4' ]]; then + ${web_cmd} + elif [[ "$1" == '--opt5' ]]; then + ${music_cmd} + elif [[ "$1" == '--opt6' ]]; then + ${setting_cmd} + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; + $option_6) + run_cmd --opt6 + ;; +esac diff --git a/home/packages/wayland/rofi-files/applets/bin/battery.sh b/home/packages/wayland/rofi-files/applets/bin/battery.sh new file mode 100755 index 0000000..ef0dba6 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/battery.sh @@ -0,0 +1,134 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Battery + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Battery Info +battery="`acpi -b | cut -d',' -f1 | cut -d':' -f1`" +status="`acpi -b | cut -d',' -f1 | cut -d':' -f2 | tr -d ' '`" +percentage="`acpi -b | cut -d',' -f2 | tr -d ' ',\%`" +time="`acpi -b | cut -d',' -f3`" + +if [[ -z "$time" ]]; then + time=' Fully Charged' +fi + +# Theme Elements +prompt="$status" +mesg="${battery}: ${percentage}%,${time}" + +if [[ "$theme" == *'type-1'* ]]; then + list_col='1' + list_row='4' + win_width='400px' +elif [[ "$theme" == *'type-3'* ]]; then + list_col='1' + list_row='4' + win_width='120px' +elif [[ "$theme" == *'type-5'* ]]; then + list_col='1' + list_row='4' + win_width='500px' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='4' + list_row='1' + win_width='550px' +fi + +# Charging Status +active="" +urgent="" +if [[ $status = *"Charging"* ]]; then + active="-a 1" + ICON_CHRG="" +elif [[ $status = *"Full"* ]]; then + active="-u 1" + ICON_CHRG="" +else + urgent="-u 1" + ICON_CHRG="" +fi + +# Discharging +if [[ $percentage -ge 5 ]] && [[ $percentage -le 19 ]]; then + ICON_DISCHRG="" +elif [[ $percentage -ge 20 ]] && [[ $percentage -le 39 ]]; then + ICON_DISCHRG="" +elif [[ $percentage -ge 40 ]] && [[ $percentage -le 59 ]]; then + ICON_DISCHRG="" +elif [[ $percentage -ge 60 ]] && [[ $percentage -le 79 ]]; then + ICON_DISCHRG="" +elif [[ $percentage -ge 80 ]] && [[ $percentage -le 100 ]]; then + ICON_DISCHRG="" +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Remaining ${percentage}%" + option_2=" $status" + option_3=" Power Manager" + option_4=" Diagnose" +else + option_1="$ICON_DISCHRG" + option_2="$ICON_CHRG" + option_3="" + option_4="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "window {width: $win_width;}" \ + -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str "textbox-prompt-colon {str: \"$ICON_DISCHRG\";}" \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + ${active} ${urgent} \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd +} + +# Execute Command +run_cmd() { + polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY" + if [[ "$1" == '--opt1' ]]; then + notify-send -u low " Remaining : ${percentage}%" + elif [[ "$1" == '--opt2' ]]; then + notify-send -u low "$ICON_CHRG Status : $status" + elif [[ "$1" == '--opt3' ]]; then + xfce4-power-manager-settings + elif [[ "$1" == '--opt4' ]]; then + ${polkit_cmd} alacritty -e powertop + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; +esac + + diff --git a/home/packages/wayland/rofi-files/applets/bin/brightness.sh b/home/packages/wayland/rofi-files/applets/bin/brightness.sh new file mode 100755 index 0000000..2c90a12 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/brightness.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Brightness + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Brightness Info +backlight="$(printf "%.0f\n" `light -G`)" +card="`light -L | grep 'backlight' | head -n1 | cut -d'/' -f3`" + +if [[ $backlight -ge 0 ]] && [[ $backlight -le 29 ]]; then + level="Low" +elif [[ $backlight -ge 30 ]] && [[ $backlight -le 49 ]]; then + level="Optimal" +elif [[ $backlight -ge 50 ]] && [[ $backlight -le 69 ]]; then + level="High" +elif [[ $backlight -ge 70 ]] && [[ $backlight -le 100 ]]; then + level="Peak" +fi + +# Theme Elements +prompt="${backlight}%" +mesg="Device: ${card}, Level: $level" + +if [[ "$theme" == *'type-1'* ]]; then + list_col='1' + list_row='4' + win_width='400px' +elif [[ "$theme" == *'type-3'* ]]; then + list_col='1' + list_row='4' + win_width='120px' +elif [[ "$theme" == *'type-5'* ]]; then + list_col='1' + list_row='4' + win_width='425px' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='4' + list_row='1' + win_width='550px' +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Increase" + option_2=" Optimal" + option_3=" Decrease" + option_4=" Settings" +else + option_1="" + option_2="" + option_3="" + option_4="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "window {width: $win_width;}" \ + -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + light -A 5 + elif [[ "$1" == '--opt2' ]]; then + light -S 25 + elif [[ "$1" == '--opt3' ]]; then + light -U 5 + elif [[ "$1" == '--opt4' ]]; then + xfce4-power-manager-settings + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; +esac diff --git a/home/packages/wayland/rofi-files/applets/bin/mpd.sh b/home/packages/wayland/rofi-files/applets/bin/mpd.sh new file mode 100755 index 0000000..ce6a9e9 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/mpd.sh @@ -0,0 +1,131 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : MPD (music) + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Theme Elements +status="`mpc status`" +if [[ -z "$status" ]]; then + prompt='Offline' + mesg="MPD is Offline" +else + prompt="`mpc -f "%artist%" current`" + mesg="`mpc -f "%title%" current` :: `mpc status | grep "#" | awk '{print $3}'`" +fi + +if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then + list_col='1' + list_row='6' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='6' + list_row='1' +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + if [[ ${status} == *"[playing]"* ]]; then + option_1=" Pause" + else + option_1=" Play" + fi + option_2=" Stop" + option_3=" Previous" + option_4=" Next" + option_5=" Repeat" + option_6=" Random" +else + if [[ ${status} == *"[playing]"* ]]; then + option_1="" + else + option_1="" + fi + option_2="" + option_3="" + option_4="" + option_5="" + option_6="" +fi + +# Toggle Actions +active='' +urgent='' +# Repeat +if [[ ${status} == *"repeat: on"* ]]; then + active="-a 4" +elif [[ ${status} == *"repeat: off"* ]]; then + urgent="-u 4" +else + option_5=" Parsing Error" +fi +# Random +if [[ ${status} == *"random: on"* ]]; then + [ -n "$active" ] && active+=",5" || active="-a 5" +elif [[ ${status} == *"random: off"* ]]; then + [ -n "$urgent" ] && urgent+=",5" || urgent="-u 5" +else + option_6=" Parsing Error" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + ${active} ${urgent} \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + mpc -q toggle && notify-send -u low -t 1000 " `mpc current`" + elif [[ "$1" == '--opt2' ]]; then + mpc -q stop + elif [[ "$1" == '--opt3' ]]; then + mpc -q prev && notify-send -u low -t 1000 " `mpc current`" + elif [[ "$1" == '--opt4' ]]; then + mpc -q next && notify-send -u low -t 1000 " `mpc current`" + elif [[ "$1" == '--opt5' ]]; then + mpc -q repeat + elif [[ "$1" == '--opt6' ]]; then + mpc -q random + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; + $option_6) + run_cmd --opt6 + ;; +esac diff --git a/home/packages/wayland/rofi-files/applets/bin/powermenu.sh b/home/packages/wayland/rofi-files/applets/bin/powermenu.sh new file mode 100755 index 0000000..8ed9106 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/powermenu.sh @@ -0,0 +1,129 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Power Menu + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Theme Elements +prompt="`hostname`" +mesg="Uptime : `uptime -p | sed -e 's/up //g'`" + +if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then + list_col='1' + list_row='6' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='6' + list_row='1' +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Lock" + option_2=" Logout" + option_3=" Suspend" + option_4=" Hibernate" + option_5=" Reboot" + option_6=" Shutdown" + yes=' Yes' + no=' No' +else + option_1="" + option_2="" + option_3="" + option_4="" + option_5="" + option_6="" + yes='' + no='' +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ + -theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${theme} +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Confirm and execute +confirm_run () { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + ${1} && ${2} && ${3} + else + exit + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + betterlockscreen -l + elif [[ "$1" == '--opt2' ]]; then + confirm_run 'kill -9 -1' + elif [[ "$1" == '--opt3' ]]; then + confirm_run 'mpc -q pause' 'amixer set Master mute' 'systemctl suspend' + elif [[ "$1" == '--opt4' ]]; then + confirm_run 'systemctl hibernate' + elif [[ "$1" == '--opt5' ]]; then + confirm_run 'systemctl reboot' + elif [[ "$1" == '--opt6' ]]; then + confirm_run 'systemctl poweroff' + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; + $option_6) + run_cmd --opt6 + ;; +esac + diff --git a/home/packages/wayland/rofi-files/applets/bin/quicklinks.sh b/home/packages/wayland/rofi-files/applets/bin/quicklinks.sh new file mode 100755 index 0000000..11a38a8 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/quicklinks.sh @@ -0,0 +1,103 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Quick Links + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Theme Elements +prompt='Quick Links' +mesg="Using '$BROWSER' as web browser" + +if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then + list_col='1' + list_row='6' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='6' + list_row='1' +fi + +if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-5'* ) ]]; then + efonts="JetBrains Mono Nerd Font 10" +else + efonts="JetBrains Mono Nerd Font 28" +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Google" + option_2=" Gmail" + option_3=" Youtube" + option_4=" Github" + option_5=" Reddit" + option_6=" Twitter" +else + option_1="" + option_2="" + option_3="" + option_4="" + option_5="" + option_6="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -theme-str "element-text {font: \"$efonts\";}" \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + xdg-open 'https://www.google.com/' + elif [[ "$1" == '--opt2' ]]; then + xdg-open 'https://mail.google.com/' + elif [[ "$1" == '--opt3' ]]; then + xdg-open 'https://www.youtube.com/' + elif [[ "$1" == '--opt4' ]]; then + xdg-open 'https://www.github.com/' + elif [[ "$1" == '--opt5' ]]; then + xdg-open 'https://www.reddit.com/' + elif [[ "$1" == '--opt6' ]]; then + xdg-open 'https://www.twitter.com/' + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; + $option_6) + run_cmd --opt6 + ;; +esac diff --git a/home/packages/wayland/rofi-files/applets/bin/screenshot.sh b/home/packages/wayland/rofi-files/applets/bin/screenshot.sh new file mode 100755 index 0000000..5e5286b --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/screenshot.sh @@ -0,0 +1,165 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Screenshot + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Theme Elements +prompt='Screenshot' +mesg="DIR: `xdg-user-dir PICTURES`/Screenshots" + +if [[ "$theme" == *'type-1'* ]]; then + list_col='1' + list_row='5' + win_width='400px' +elif [[ "$theme" == *'type-3'* ]]; then + list_col='1' + list_row='5' + win_width='120px' +elif [[ "$theme" == *'type-5'* ]]; then + list_col='1' + list_row='5' + win_width='520px' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='5' + list_row='1' + win_width='670px' +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Capture Desktop" + option_2=" Capture Area" + option_3=" Capture Window" + option_4=" Capture in 5s" + option_5=" Capture in 10s" +else + option_1="" + option_2="" + option_3="" + option_4="" + option_5="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "window {width: $win_width;}" \ + -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd +} + +# Screenshot +time=`date +%Y-%m-%d-%H-%M-%S` +geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'` +dir="`xdg-user-dir PICTURES`/Screenshots" +file="Screenshot_${time}_${geometry}.png" + +if [[ ! -d "$dir" ]]; then + mkdir -p "$dir" +fi + +# notify and view screenshot +notify_view() { + notify_cmd_shot='dunstify -u low --replace=699' + ${notify_cmd_shot} "Copied to clipboard." + viewnior ${dir}/"$file" + if [[ -e "$dir/$file" ]]; then + ${notify_cmd_shot} "Screenshot Saved." + else + ${notify_cmd_shot} "Screenshot Deleted." + fi +} + +# Copy screenshot to clipboard +copy_shot () { + tee "$file" | xclip -selection clipboard -t image/png +} + +# countdown +countdown () { + for sec in `seq $1 -1 1`; do + dunstify -t 1000 --replace=699 "Taking shot in : $sec" + sleep 1 + done +} + +# take shots +shotnow () { + cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot + notify_view +} + +shot5 () { + countdown '5' + sleep 1 && cd ${dir} && maim -u -f png | copy_shot + notify_view +} + +shot10 () { + countdown '10' + sleep 1 && cd ${dir} && maim -u -f png | copy_shot + notify_view +} + +shotwin () { + cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot + notify_view +} + +shotarea () { + cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot + notify_view +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + shotnow + elif [[ "$1" == '--opt2' ]]; then + shotarea + elif [[ "$1" == '--opt3' ]]; then + shotwin + elif [[ "$1" == '--opt4' ]]; then + shot5 + elif [[ "$1" == '--opt5' ]]; then + shot10 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; +esac + + diff --git a/home/packages/wayland/rofi-files/applets/bin/volume.sh b/home/packages/wayland/rofi-files/applets/bin/volume.sh new file mode 100755 index 0000000..a194592 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/bin/volume.sh @@ -0,0 +1,134 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Applets : Volume + +# Import Current Theme +source "$HOME"/.config/rofi/applets/shared/theme.bash +theme="$type/$style" + +# Volume Info +mixer="`amixer info Master | grep 'Mixer name' | cut -d':' -f2 | tr -d \',' '`" +speaker="`amixer get Master | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`" +mic="`amixer get Capture | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`" + +active="" +urgent="" + +# Speaker Info +amixer get Master | grep '\[on\]' &>/dev/null +if [[ "$?" == 0 ]]; then + active="-a 1" + stext='Unmute' + sicon='' +else + urgent="-u 1" + stext='Mute' + sicon='' +fi + +# Microphone Info +amixer get Capture | grep '\[on\]' &>/dev/null +if [[ "$?" == 0 ]]; then + [ -n "$active" ] && active+=",3" || active="-a 3" + mtext='Unmute' + micon='' +else + [ -n "$urgent" ] && urgent+=",3" || urgent="-u 3" + mtext='Mute' + micon='' +fi + +# Theme Elements +prompt="S:$stext, M:$mtext" +mesg="$mixer - Speaker: $speaker, Mic: $mic" + +if [[ "$theme" == *'type-1'* ]]; then + list_col='1' + list_row='5' + win_width='400px' +elif [[ "$theme" == *'type-3'* ]]; then + list_col='1' + list_row='5' + win_width='120px' +elif [[ "$theme" == *'type-5'* ]]; then + list_col='1' + list_row='5' + win_width='520px' +elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then + list_col='5' + list_row='1' + win_width='670px' +fi + +# Options +layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` +if [[ "$layout" == 'NO' ]]; then + option_1=" Increase" + option_2="$sicon $stext" + option_3=" Decrese" + option_4="$micon $mtext" + option_5=" Settings" +else + option_1="" + option_2="$sicon" + option_3="" + option_4="$micon" + option_5="" +fi + +# Rofi CMD +rofi_cmd() { + rofi -theme-str "window {width: $win_width;}" \ + -theme-str "listview {columns: $list_col; lines: $list_row;}" \ + -theme-str 'textbox-prompt-colon {str: "";}' \ + -dmenu \ + -p "$prompt" \ + -mesg "$mesg" \ + ${active} ${urgent} \ + -markup-rows \ + -theme ${theme} +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + amixer -Mq set Master,0 5%+ unmute + elif [[ "$1" == '--opt2' ]]; then + amixer set Master toggle + elif [[ "$1" == '--opt3' ]]; then + amixer -Mq set Master,0 5%- unmute + elif [[ "$1" == '--opt4' ]]; then + amixer set Capture toggle + elif [[ "$1" == '--opt5' ]]; then + pavucontrol + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; + $option_3) + run_cmd --opt3 + ;; + $option_4) + run_cmd --opt4 + ;; + $option_5) + run_cmd --opt5 + ;; +esac + diff --git a/home/packages/wayland/rofi-files/applets/shared/colors.rasi b/home/packages/wayland/rofi-files/applets/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/applets/shared/fonts.rasi b/home/packages/wayland/rofi-files/applets/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/applets/shared/theme.bash b/home/packages/wayland/rofi-files/applets/shared/theme.bash new file mode 100755 index 0000000..4807020 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/shared/theme.bash @@ -0,0 +1,4 @@ +## Current Theme + +type="$HOME/.config/rofi/applets/type-1" +style='style-1.rasi' diff --git a/home/packages/wayland/rofi-files/applets/type-1/style-1.rasi b/home/packages/wayland/rofi-files/applets/type-1/style-1.rasi new file mode 100644 index 0000000..2d3ee5f --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-1/style-1.rasi @@ -0,0 +1,152 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=NO +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 5px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element normal.normal, +element alternate.normal { + background-color: var(background); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-1/style-2.rasi b/home/packages/wayland/rofi-files/applets/type-1/style-2.rasi new file mode 100644 index 0000000..2c66bee --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-1/style-2.rasi @@ -0,0 +1,152 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=NO +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 12px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 12px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 12px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 5px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 10px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element normal.normal, +element alternate.normal { + background-color: var(background); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-1/style-3.rasi b/home/packages/wayland/rofi-files/applets/type-1/style-3.rasi new file mode 100644 index 0000000..285c376 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-1/style-3.rasi @@ -0,0 +1,152 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=NO +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 30px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 5px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element normal.normal, +element alternate.normal { + background-color: var(background); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-2/style-1.rasi b/home/packages/wayland/rofi-files/applets/type-2/style-1.rasi new file mode 100644 index 0000000..30025a7 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-2/style-1.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 28"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-2/style-2.rasi b/home/packages/wayland/rofi-files/applets/type-2/style-2.rasi new file mode 100644 index 0000000..a258620 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-2/style-2.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 12px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 12px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 12px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 28"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-2/style-3.rasi b/home/packages/wayland/rofi-files/applets/type-2/style-3.rasi new file mode 100644 index 0000000..fb3a99c --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-2/style-3.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 30px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 28"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-3/style-1.rasi b/home/packages/wayland/rofi-files/applets/type-3/style-1.rasi new file mode 100644 index 0000000..86b17ef --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-3/style-1.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 120px; + x-offset: -20px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 15px; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 23px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-3/style-2.rasi b/home/packages/wayland/rofi-files/applets/type-3/style-2.rasi new file mode 100644 index 0000000..e4f07ba --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-3/style-2.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 120px; + x-offset: -20px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 15px; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 23px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-3/style-3.rasi b/home/packages/wayland/rofi-files/applets/type-3/style-3.rasi new file mode 100644 index 0000000..06f365f --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-3/style-3.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "../shared/colors.rasi" +@import "../shared/fonts.rasi" + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 120px; + x-offset: -20px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 15px; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 23px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-4/style-1.rasi b/home/packages/wayland/rofi-files/applets/type-4/style-1.rasi new file mode 100644 index 0000000..1823c56 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-4/style-1.rasi @@ -0,0 +1,164 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 25px; + padding: 100px 50px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + background-image: url("~/.config/rofi/images/a.png", width); + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy{ + background-color: transparent; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 20px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 28"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-4/style-2.rasi b/home/packages/wayland/rofi-files/applets/type-4/style-2.rasi new file mode 100644 index 0000000..40a98ac --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-4/style-2.rasi @@ -0,0 +1,164 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #2D1B14; + background-alt: #462D23; + foreground: #FFFFFF; + selected: #E25F3E; + active: #716251; + urgent: #934A1C; +} + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 25px; + padding: 100px 50px; + border: 0px; + border-radius: 20px; + border-color: @selected; + background-color: transparent; + background-image: url("~/.config/rofi/images/d.png", width); + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy{ + background-color: transparent; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 10px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 10px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 20px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 28"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-4/style-3.rasi b/home/packages/wayland/rofi-files/applets/type-4/style-3.rasi new file mode 100644 index 0000000..0199650 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-4/style-3.rasi @@ -0,0 +1,164 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #131D1F; + background-alt: #183A43; + foreground: #FFFFFF; + selected: #649094; + active: #E9CC9D; + urgent: #FEA861; +} + +/* +USE_ICON=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 50px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 25px; + padding: 100px 50px; + border: 0px; + border-radius: 40px; + border-color: @selected; + background-color: transparent; + background-image: url("~/.config/rofi/images/i.jpg", width); + text-color: @foreground; + children: [ "textbox-prompt-colon", "dummy", "prompt"]; +} + +dummy{ + background-color: transparent; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 20px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 28"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +element normal.normal, +element alternate.normal { + background-color: var(background-alt); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-5/style-1.rasi b/home/packages/wayland/rofi-files/applets/type-5/style-1.rasi new file mode 100644 index 0000000..0fdc43d --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-5/style-1.rasi @@ -0,0 +1,166 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #231419; + background-alt: #2D1E23; + foreground: #FFFFFF; + selected: #426647; + active: #2E3F34; + urgent: #D08261; +} + +/* +USE_ICON=NO +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + background-color: transparent; + background-image: url("~/.config/rofi/images/e.jpg", height); + children: [ "dummy", "inputbar", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy{ + background-color: transparent; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 0px; + background-color: @active; + text-color: @foreground; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 5px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element normal.normal, +element alternate.normal { + background-color: var(background); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(foreground); +} diff --git a/home/packages/wayland/rofi-files/applets/type-5/style-2.rasi b/home/packages/wayland/rofi-files/applets/type-5/style-2.rasi new file mode 100644 index 0000000..5b9c5b1 --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-5/style-2.rasi @@ -0,0 +1,167 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/* +USE_ICON=NO +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + border-radius: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/j.jpg", height); + children: [ "dummy", "inputbar", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy{ + background-color: transparent; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border-radius: 15px; + background-color: @urgent; + text-color: @foreground; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 15px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 5px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 10px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element normal.normal, +element alternate.normal { + background-color: var(background); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/applets/type-5/style-3.rasi b/home/packages/wayland/rofi-files/applets/type-5/style-3.rasi new file mode 100644 index 0000000..416f51b --- /dev/null +++ b/home/packages/wayland/rofi-files/applets/type-5/style-3.rasi @@ -0,0 +1,176 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #101010; + background-alt: #252525; + foreground: #FFFFFF; + selected: #505050; + active: #909090; + urgent: #707070; +} + +/* +USE_ICON=NO +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 30px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + border: 2px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + background-image: url("~/.config/rofi/images/g.png", height); + children: [ "dummy", "inputbar", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy{ + background-color: transparent; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 13px; + border: 2px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; +} +prompt { + enabled: true; + padding: 10px; + border: 2px solid; + border-radius: 100%; + border-color: @foreground; + background-color: @foreground; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + scrollbar: false; + layout: vertical; + + spacing: 5px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 11px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element normal.normal, +element alternate.normal { + background-color: var(background); + text-color: var(foreground); +} +element normal.urgent, +element alternate.urgent, +element selected.active { + background-color: var(urgent); + text-color: var(background); +} +element normal.active, +element alternate.active, +element selected.urgent { + background-color: var(active); + text-color: var(background); +} +element selected.normal { + border: 2px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: var(foreground); +} diff --git a/home/packages/wayland/rofi-files/colors/adapta.rasi b/home/packages/wayland/rofi-files/colors/adapta.rasi new file mode 100644 index 0000000..dcde9e5 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/adapta.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #222D32FF; + background-alt: #29353BFF; + foreground: #B8C2C6FF; + selected: #00BCD4FF; + active: #21FF90FF; + urgent: #FF4B60FF; +} diff --git a/home/packages/wayland/rofi-files/colors/arc.rasi b/home/packages/wayland/rofi-files/colors/arc.rasi new file mode 100644 index 0000000..0dfb773 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/arc.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #2F343FFF; + background-alt: #383C4AFF; + foreground: #BAC5D0FF; + selected: #5294E2FF; + active: #98C379FF; + urgent: #E06B74FF; +} diff --git a/home/packages/wayland/rofi-files/colors/black.rasi b/home/packages/wayland/rofi-files/colors/black.rasi new file mode 100644 index 0000000..fa7b76f --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/black.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #000000FF; + background-alt: #101010FF; + foreground: #FFFFFFFF; + selected: #62AEEFFF; + active: #98C379FF; + urgent: #E06B74FF; +} diff --git a/home/packages/wayland/rofi-files/colors/catppuccin.rasi b/home/packages/wayland/rofi-files/colors/catppuccin.rasi new file mode 100644 index 0000000..62c5945 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/catppuccin.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1E1D2FFF; + background-alt: #282839FF; + foreground: #D9E0EEFF; + selected: #7AA2F7FF; + active: #ABE9B3FF; + urgent: #F28FADFF; +} diff --git a/home/packages/wayland/rofi-files/colors/cyberpunk.rasi b/home/packages/wayland/rofi-files/colors/cyberpunk.rasi new file mode 100644 index 0000000..f5fa0e7 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/cyberpunk.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #000B1EFF; + background-alt: #0A1528FF; + foreground: #0ABDC6FF; + selected: #0ABDC6FF; + active: #00FF00FF; + urgent: #FF0000FF; +} diff --git a/home/packages/wayland/rofi-files/colors/dracula.rasi b/home/packages/wayland/rofi-files/colors/dracula.rasi new file mode 100644 index 0000000..7ae606d --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/dracula.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1E1F29FF; + background-alt: #282A36FF; + foreground: #FFFFFFFF; + selected: #BD93F9FF; + active: #50FA7BFF; + urgent: #FF5555FF; +} diff --git a/home/packages/wayland/rofi-files/colors/everforest.rasi b/home/packages/wayland/rofi-files/colors/everforest.rasi new file mode 100644 index 0000000..83d4f71 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/everforest.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #323D43FF; + background-alt: #3C474DFF; + foreground: #DAD1BEFF; + selected: #7FBBB3FF; + active: #A7C080FF; + urgent: #E67E80FF; +} diff --git a/home/packages/wayland/rofi-files/colors/gruvbox.rasi b/home/packages/wayland/rofi-files/colors/gruvbox.rasi new file mode 100644 index 0000000..2ee85d0 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/gruvbox.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #282828FF; + background-alt: #353535FF; + foreground: #EBDBB2FF; + selected: #83A598FF; + active: #B8BB26FF; + urgent: #FB4934FF; +} diff --git a/home/packages/wayland/rofi-files/colors/lovelace.rasi b/home/packages/wayland/rofi-files/colors/lovelace.rasi new file mode 100644 index 0000000..80140ee --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/lovelace.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1D1F28FF; + background-alt: #282A36FF; + foreground: #FDFDFDFF; + selected: #79E6F3FF; + active: #5ADECDFF; + urgent: #F37F97FF; +} diff --git a/home/packages/wayland/rofi-files/colors/navy.rasi b/home/packages/wayland/rofi-files/colors/navy.rasi new file mode 100644 index 0000000..1289f53 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/navy.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #021B21FF; + background-alt: #0C252BFF; + foreground: #F2F1B9FF; + selected: #44B5B1FF; + active: #7CBF9EFF; + urgent: #C2454EFF; +} diff --git a/home/packages/wayland/rofi-files/colors/nord.rasi b/home/packages/wayland/rofi-files/colors/nord.rasi new file mode 100644 index 0000000..c6bc05d --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/nord.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #2E3440FF; + background-alt: #383E4AFF; + foreground: #E5E9F0FF; + selected: #81A1C1FF; + active: #A3BE8CFF; + urgent: #BF616AFF; +} diff --git a/home/packages/wayland/rofi-files/colors/onedark.rasi b/home/packages/wayland/rofi-files/colors/onedark.rasi new file mode 100644 index 0000000..7c76108 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/onedark.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #1E2127FF; + background-alt: #282B31FF; + foreground: #FFFFFFFF; + selected: #61AFEFFF; + active: #98C379FF; + urgent: #E06C75FF; +} diff --git a/home/packages/wayland/rofi-files/colors/paper.rasi b/home/packages/wayland/rofi-files/colors/paper.rasi new file mode 100644 index 0000000..c3d76e8 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/paper.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #F1F1F1FF; + background-alt: #E0E0E0FF; + foreground: #252525FF; + selected: #008EC4FF; + active: #10A778FF; + urgent: #C30771FF; +} diff --git a/home/packages/wayland/rofi-files/colors/solarized.rasi b/home/packages/wayland/rofi-files/colors/solarized.rasi new file mode 100644 index 0000000..9051e13 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/solarized.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #002B36FF; + background-alt: #073642FF; + foreground: #EEE8D5FF; + selected: #268BD2FF; + active: #859900FF; + urgent: #DC322FFF; +} diff --git a/home/packages/wayland/rofi-files/colors/tokyonight.rasi b/home/packages/wayland/rofi-files/colors/tokyonight.rasi new file mode 100644 index 0000000..1145cbd --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/tokyonight.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Levi Lacoss (fishyfishfish55) + * Github : @fishyfishfish55 + * + * Colors + **/ + +* { + background: #15161EFF; + background-alt: #1A1B26FF; + foreground: #C0CAF5FF; + selected: #33467CFF; + active: #414868FF; + urgent: #F7768EFF; +} diff --git a/home/packages/wayland/rofi-files/colors/yousai.rasi b/home/packages/wayland/rofi-files/colors/yousai.rasi new file mode 100644 index 0000000..757cab3 --- /dev/null +++ b/home/packages/wayland/rofi-files/colors/yousai.rasi @@ -0,0 +1,16 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + **/ + +* { + background: #F5E7DEFF; + background-alt: #EBDCD2FF; + foreground: #34302DFF; + selected: #D97742FF; + active: #BF8F60FF; + urgent: #B23636FF; +} diff --git a/home/packages/wayland/rofi-files/config.rasi b/home/packages/wayland/rofi-files/config.rasi new file mode 100644 index 0000000..58a5e0d --- /dev/null +++ b/home/packages/wayland/rofi-files/config.rasi @@ -0,0 +1,181 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Configuration For Rofi Version: 1.7.3 + **/ + +configuration { + /*---------- General setting ----------*/ + modi: "drun,run,filebrowser,window"; + case-sensitive: false; + cycle: true; + filter: ""; + scroll-method: 0; + normalize-match: true; + show-icons: true; + icon-theme: "Papirus"; +/* cache-dir: ;*/ + steal-focus: false; +/* dpi: -1;*/ + + /*---------- Matching setting ----------*/ + matching: "normal"; + tokenize: true; + + /*---------- SSH settings ----------*/ + ssh-client: "ssh"; + ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]"; + parse-hosts: true; + parse-known-hosts: true; + + /*---------- Drun settings ----------*/ + drun-categories: ""; + drun-match-fields: "name,generic,exec,categories,keywords"; + drun-display-format: "{name} [({generic})]"; + drun-show-actions: false; + drun-url-launcher: "xdg-open"; + drun-use-desktop-cache: false; + drun-reload-desktop-cache: false; + drun { + /** Parse user desktop files. */ + parse-user: true; + /** Parse system desktop files. */ + parse-system: true; + } + + /*---------- Run settings ----------*/ + run-command: "{cmd}"; + run-list-command: ""; + run-shell-command: "{terminal} -e {cmd}"; + + /*---------- Fallback Icon ----------*/ + run,drun { + fallback-icon: "application-x-addon"; + } + + /*---------- Window switcher settings ----------*/ + window-match-fields: "title,class,role,name,desktop"; + window-command: "wmctrl -i -R {window}"; + window-format: "{w} - {c} - {t:0}"; + window-thumbnail: false; + + /*---------- Combi settings ----------*/ +/* combi-modi: "window,run";*/ +/* combi-hide-mode-prefix: false;*/ +/* combi-display-format: "{mode} {text}";*/ + + /*---------- History and Sorting ----------*/ + disable-history: false; + sorting-method: "normal"; + max-history-size: 25; + + /*---------- Display setting ----------*/ + display-window: "Windows"; + display-windowcd: "Window CD"; + display-run: "Run"; + display-ssh: "SSH"; + display-drun: "Apps"; + display-combi: "Combi"; + display-keys: "Keys"; + display-filebrowser: "Files"; + + /*---------- Misc setting ----------*/ + terminal: "rofi-sensible-terminal"; + font: "Mono 12"; + sort: false; + threads: 0; + click-to-exit: true; +/* ignored-prefixes: "";*/ +/* pid: "/run/user/1000/rofi.pid";*/ + + /*---------- File browser settings ----------*/ + filebrowser { +/* directory: "/home";*/ + directories-first: true; + sorting-method: "name"; + } + + /*---------- Other settings ----------*/ + timeout { + action: "kb-cancel"; + delay: 0; + } + + /*---------- Keybindings ----------*/ +/* + kb-primary-paste: "Control+V,Shift+Insert"; + kb-secondary-paste: "Control+v,Insert"; + kb-clear-line: "Control+w"; + kb-move-front: "Control+a"; + kb-move-end: "Control+e"; + kb-move-word-back: "Alt+b,Control+Left"; + kb-move-word-forward: "Alt+f,Control+Right"; + kb-move-char-back: "Left,Control+b"; + kb-move-char-forward: "Right,Control+f"; + kb-remove-word-back: "Control+Alt+h,Control+BackSpace"; + kb-remove-word-forward: "Control+Alt+d"; + kb-remove-char-forward: "Delete,Control+d"; + kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h"; + kb-remove-to-eol: "Control+k"; + kb-remove-to-sol: "Control+u"; + kb-accept-entry: "Control+j,Control+m,Return,KP_Enter"; + kb-accept-custom: "Control+Return"; + kb-accept-custom-alt: "Control+Shift+Return"; + kb-accept-alt: "Shift+Return"; + kb-delete-entry: "Shift+Delete"; + kb-mode-next: "Shift+Right,Control+Tab"; + kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab"; + kb-mode-complete: "Control+l"; + kb-row-left: "Control+Page_Up"; + kb-row-right: "Control+Page_Down"; + kb-row-down: "Down,Control+n"; + kb-page-prev: "Page_Up"; + kb-page-next: "Page_Down"; + kb-row-first: "Home,KP_Home"; + kb-row-last: "End,KP_End"; + kb-row-select: "Control+space"; + kb-screenshot: "Alt+S"; + kb-ellipsize: "Alt+period"; + kb-toggle-case-sensitivity: "grave,dead_grave"; + kb-toggle-sort: "Alt+grave"; + kb-cancel: "Escape,Control+g,Control+bracketleft"; + kb-custom-1: "Alt+1"; + kb-custom-2: "Alt+2"; + kb-custom-3: "Alt+3"; + kb-custom-4: "Alt+4"; + kb-custom-5: "Alt+5"; + kb-custom-6: "Alt+6"; + kb-custom-7: "Alt+7"; + kb-custom-8: "Alt+8"; + kb-custom-9: "Alt+9"; + kb-custom-10: "Alt+0"; + kb-custom-11: "Alt+exclam"; + kb-custom-12: "Alt+at"; + kb-custom-13: "Alt+numbersign"; + kb-custom-14: "Alt+dollar"; + kb-custom-15: "Alt+percent"; + kb-custom-16: "Alt+dead_circumflex"; + kb-custom-17: "Alt+ampersand"; + kb-custom-18: "Alt+asterisk"; + kb-custom-19: "Alt+parenleft"; + kb-select-1: "Super+1"; + kb-select-2: "Super+2"; + kb-select-3: "Super+3"; + kb-select-4: "Super+4"; + kb-select-5: "Super+5"; + kb-select-6: "Super+6"; + kb-select-7: "Super+7"; + kb-select-8: "Super+8"; + kb-select-9: "Super+9"; + kb-select-10: "Super+0"; + ml-row-left: "ScrollLeft"; + ml-row-right: "ScrollRight"; + ml-row-up: "ScrollUp"; + ml-row-down: "ScrollDown"; + me-select-entry: "MousePrimary"; + me-accept-entry: "MouseDPrimary"; + me-accept-custom: "Control+MouseDPrimary"; +*/ +} diff --git a/home/packages/wayland/rofi-files/images/a.png b/home/packages/wayland/rofi-files/images/a.png new file mode 100644 index 0000000..d70c5fb Binary files /dev/null and b/home/packages/wayland/rofi-files/images/a.png differ diff --git a/home/packages/wayland/rofi-files/images/b.png b/home/packages/wayland/rofi-files/images/b.png new file mode 100644 index 0000000..34214a2 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/b.png differ diff --git a/home/packages/wayland/rofi-files/images/c.png b/home/packages/wayland/rofi-files/images/c.png new file mode 100644 index 0000000..9e18e5f Binary files /dev/null and b/home/packages/wayland/rofi-files/images/c.png differ diff --git a/home/packages/wayland/rofi-files/images/d.png b/home/packages/wayland/rofi-files/images/d.png new file mode 100644 index 0000000..5f68a1b Binary files /dev/null and b/home/packages/wayland/rofi-files/images/d.png differ diff --git a/home/packages/wayland/rofi-files/images/e.jpg b/home/packages/wayland/rofi-files/images/e.jpg new file mode 100644 index 0000000..51995e4 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/e.jpg differ diff --git a/home/packages/wayland/rofi-files/images/f.png b/home/packages/wayland/rofi-files/images/f.png new file mode 100644 index 0000000..fb69e73 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/f.png differ diff --git a/home/packages/wayland/rofi-files/images/flowers-1.png b/home/packages/wayland/rofi-files/images/flowers-1.png new file mode 100644 index 0000000..155b593 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/flowers-1.png differ diff --git a/home/packages/wayland/rofi-files/images/flowers-2.png b/home/packages/wayland/rofi-files/images/flowers-2.png new file mode 100644 index 0000000..e4bf205 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/flowers-2.png differ diff --git a/home/packages/wayland/rofi-files/images/flowers-3.png b/home/packages/wayland/rofi-files/images/flowers-3.png new file mode 100644 index 0000000..2c6f3a6 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/flowers-3.png differ diff --git a/home/packages/wayland/rofi-files/images/g.png b/home/packages/wayland/rofi-files/images/g.png new file mode 100644 index 0000000..d42e1f4 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/g.png differ diff --git a/home/packages/wayland/rofi-files/images/gradient.png b/home/packages/wayland/rofi-files/images/gradient.png new file mode 100644 index 0000000..e51c308 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/gradient.png differ diff --git a/home/packages/wayland/rofi-files/images/h.jpg b/home/packages/wayland/rofi-files/images/h.jpg new file mode 100644 index 0000000..7829121 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/h.jpg differ diff --git a/home/packages/wayland/rofi-files/images/i.jpg b/home/packages/wayland/rofi-files/images/i.jpg new file mode 100644 index 0000000..f31ee84 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/i.jpg differ diff --git a/home/packages/wayland/rofi-files/images/j.jpg b/home/packages/wayland/rofi-files/images/j.jpg new file mode 100644 index 0000000..e70a715 Binary files /dev/null and b/home/packages/wayland/rofi-files/images/j.jpg differ diff --git a/home/packages/wayland/rofi-files/images/paper.png b/home/packages/wayland/rofi-files/images/paper.png new file mode 100644 index 0000000..4e073fd Binary files /dev/null and b/home/packages/wayland/rofi-files/images/paper.png differ diff --git a/home/packages/wayland/rofi-files/images/user.jpeg b/home/packages/wayland/rofi-files/images/user.jpeg new file mode 100644 index 0000000..3490fed Binary files /dev/null and b/home/packages/wayland/rofi-files/images/user.jpeg differ diff --git a/home/packages/wayland/rofi-files/launchers/type-1/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-1/launcher.sh new file mode 100755 index 0000000..85b7df4 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/launcher.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 +## style-11 style-12 style-13 style-14 style-15 + +dir="$HOME/.config/rofi/launchers/type-1" +theme='style-1' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-1/shared/colors.rasi b/home/packages/wayland/rofi-files/launchers/type-1/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/launchers/type-1/shared/fonts.rasi b/home/packages/wayland/rofi-files/launchers/type-1/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-1.rasi new file mode 100644 index 0000000..2fff263 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-1.rasi @@ -0,0 +1,307 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: false; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 10px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 5px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 5px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 20px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-10.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-10.rasi new file mode 100644 index 0000000..e3f413b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-10.rasi @@ -0,0 +1,323 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(foreground); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + width: 100%; + x-offset: 0px; + y-offset: 0px; + + children: [ horibox ]; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Horizontal Box -----*****/ +horibox { + spacing: 0px; + background-color: @background-colour; + text-color: @foreground-colour; + orientation: horizontal; + children: [ "prompt", "textbox-prompt-colon","entry", "listview" ]; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 10px; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 10px 0px 10px 0px; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 10px; + expand: false; + width: 20em; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 100; + cycle: true; + dynamic: true; + scrollbar: false; + layout: horizontal; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 8px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 10px 8px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; +} +button { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: transparent; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(normal-foreground); + text-color: var(normal-background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-11.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-11.rasi new file mode 100644 index 0000000..59f8849 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-11.rasi @@ -0,0 +1,307 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: false; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-12.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-12.rasi new file mode 100644 index 0000000..8d30e4a --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-12.rasi @@ -0,0 +1,325 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: false; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); + + /* For Screens with 1920x1080 resolution */ + screen-margin: 310px 400px; + box-spacing: 20px; + element-padding: 15px; + element-radius: 100%; + element-spacing: 15px; + + /* For Screens with 1366x768 resolution */ + /* + screen-margin: 190px 250px; + box-spacing: 20px; + element-padding: 10px; + element-radius: 100%; + element-spacing: 10px; + */ + /* Use this as reference and create for your screen resolution */ +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: @box-spacing; + margin: @screen-margin; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 10px ; + handle-color: @handle-colour; + border-radius: @element-radius; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: @element-padding; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-13.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-13.rasi new file mode 100644 index 0000000..1b82aa2 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-13.rasi @@ -0,0 +1,325 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: false; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); + + /* For Screens with 1920x1080 resolution */ + screen-margin: 310px 500px; + box-spacing: 20px; + element-padding: 15px; + element-radius: 8px; + element-spacing: 15px; + + /* For Screens with 1366x768 resolution */ + /* + screen-margin: 190px 350px; + box-spacing: 20px; + element-padding: 10px; + element-radius: 6px; + element-spacing: 10px; + */ + /* Use this as reference and create for your screen resolution */ +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: @box-spacing; + margin: @screen-margin; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ":"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 8px ; + handle-color: @handle-colour; + border-radius: @element-radius; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: @element-padding; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-14.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-14.rasi new file mode 100644 index 0000000..2cbceca --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-14.rasi @@ -0,0 +1,335 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); + + /* For Screens with 1920x1080 resolution */ + screen-margin: 275px 400px; + box-spacing: 20px; + list-padding: 8px; + element-padding: 15px; + element-radius: 8px; + element-spacing: 15px; + + /* For Screens with 1366x768 resolution */ + /* + screen-margin: 120px 225px; + box-spacing: 20px; + list-padding: 4px; + element-padding: 10px; + element-radius: 6px; + element-spacing: 10px; + */ + /* Use this as reference and create for your screen resolution */ +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: @box-spacing; + margin: @screen-margin; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry", "mode-switcher" ]; +} + +prompt { + enabled: true; + padding: @element-padding; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + padding: @element-padding; + str: ""; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; +} +entry { + enabled: true; + expand: true; + padding: @element-padding; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 8px ; + handle-color: @handle-colour; + border-radius: @element-radius; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @list-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: @element-padding; + width: 125px; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: @element-padding; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-15.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-15.rasi new file mode 100644 index 0000000..e443bb6 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-15.rasi @@ -0,0 +1,345 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); + + /* For Screens with 1920x1080 resolution */ + screen-margin: 275px 400px; + box-spacing: 20px; + list-padding: 8px; + element-padding: 15px; + element-radius: 8px; + element-spacing: 15px; + + /* For Screens with 1366x768 resolution */ + /* + screen-margin: 180px 225px; + box-spacing: 20px; + list-padding: 4px; + element-padding: 10px; + element-radius: 6px; + element-spacing: 10px; + */ + /* Use this as reference and create for your screen resolution */ +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: @box-spacing; + margin: @screen-margin; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "custombox" ]; +} + +/*****----- A Custom Box -----*****/ +custombox { + spacing: @box-spacing; + background-color: @background-colour; + text-color: @foreground-colour; + orientation: horizontal; + children: [ "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + padding: @element-padding; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + padding: @element-padding; + str: ""; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; +} +entry { + enabled: true; + expand: true; + padding: @element-padding; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 8px ; + handle-color: @handle-colour; + border-radius: @element-radius; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @list-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + orientation: vertical; + spacing: @box-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: @element-padding; + width: 125px; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: @element-padding; + border: 0px solid; + border-radius: @element-radius; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: @element-padding; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-2.rasi new file mode 100644 index 0000000..6f99d10 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-2.rasi @@ -0,0 +1,307 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(foreground); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 8px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(normal-foreground); + text-color: var(normal-background); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-3.rasi new file mode 100644 index 0000000..156e039 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-3.rasi @@ -0,0 +1,307 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(foreground); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 8px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(normal-foreground); + text-color: var(normal-background); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(normal-foreground); + text-color: var(normal-background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-4.rasi new file mode 100644 index 0000000..3e41328 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-4.rasi @@ -0,0 +1,308 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(foreground); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 450px; + height: 100%; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 8px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(normal-foreground); + text-color: var(normal-background); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; +} +button { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: transparent; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(normal-foreground); + text-color: var(normal-background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 8px; + border: 0px solid; + border-radius: 4px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-5.rasi new file mode 100644 index 0000000..4e88e83 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-5.rasi @@ -0,0 +1,309 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry", "mode-switcher" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 5px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 8px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-6.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-6.rasi new file mode 100644 index 0000000..51178bf --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-6.rasi @@ -0,0 +1,310 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "mode-switcher", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 0px; + border: 2px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-7.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-7.rasi new file mode 100644 index 0000000..6f8ef84 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-7.rasi @@ -0,0 +1,313 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px 0px 10px 0px; + padding: 5px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 10px; + border: 0px 2px 2px 2px ; + border-radius: 0px 0px 10px 10px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 6px; + border: 0px solid; + border-radius: 6px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px 0px 2px 0px ; + border-radius: 10px 10px 0px 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: inherit; + cursor: pointer; +} +button selected { + border: 2px 2px 0px 2px ; + border-radius: 10px 10px 0px 0px; + border-color: @border-colour; + background-color: var(normal-background); + text-color: var(normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px 0px 10px 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 10px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-8.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-8.rasi new file mode 100644 index 0000000..ca5623a --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-8.rasi @@ -0,0 +1,323 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,ssh,window"; + show-icons: false; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + display-ssh: " SSH"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "custombox" ]; +} + +/*****----- A Custom Box -----*****/ +custombox { + spacing: 10px; + background-color: @background-colour; + text-color: @foreground-colour; + orientation: horizontal; + children: [ "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + orientation: vertical; + spacing: 10px; + margin: 0px; + padding: 0px 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 0px 20px 0px 20px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-1/style-9.rasi b/home/packages/wayland/rofi-files/launchers/type-1/style-9.rasi new file mode 100644 index 0000000..ebf79ca --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-1/style-9.rasi @@ -0,0 +1,326 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,ssh,window"; + show-icons: false; + display-drun: " Apps"; + display-run: " Run"; + display-filebrowser: " Files"; + display-window: " Windows"; + display-ssh: " SSH"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 700px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @border-colour; + cursor: "default"; + /* Backgroud Colors */ + background-color: @background-colour; + /* Backgroud Image */ + //background-image: url("/path/to/image.png", none); + /* Simple Linear Gradient */ + //background-image: linear-gradient(red, orange, pink, purple); + /* Directional Linear Gradient */ + //background-image: linear-gradient(to bottom, pink, yellow, magenta); + /* Angle Linear Gradient */ + //background-image: linear-gradient(45, cyan, purple, indigo); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "custombox" ]; +} + +/*****----- A Custom Box -----*****/ +custombox { + spacing: 0px; + background-color: @background-colour; + text-color: @foreground-colour; + orientation: horizontal; + children: [ "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + padding: 5px 0px; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 5px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: inherit; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: inherit; + text-color: inherit; +} +case-indicator { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 10px; + border: 2px 2px 2px 0px; + border-radius: 0px 8px 8px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 10px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + orientation: vertical; + spacing: 0px; + margin: 0px; + padding: 0px 0px; + border: 0px solid; + border-radius: 8px 0px 0px 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; +} +button { + padding: 0px 20px 0px 20px; + border: 0px 2px 0px 0px; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + cursor: pointer; +} +button selected { + border: 2px 0px 2px 2px; + border-radius: 8px 0px 0px 8px; + border-color: @border-colour; + background-color: var(selected-normal-foreground); + text-color: var(selected-normal-background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 12px; + border: 0px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 2px solid; + border-radius: 8px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-2/launcher.sh new file mode 100755 index 0000000..4ff518f --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/launcher.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 +## style-11 style-12 style-13 style-14 style-15 + +dir="$HOME/.config/rofi/launchers/type-2" +theme='style-8' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-2/shared/colors.rasi b/home/packages/wayland/rofi-files/launchers/type-2/shared/colors.rasi new file mode 100644 index 0000000..a522d88 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/gruvbox.rasi" diff --git a/home/packages/wayland/rofi-files/launchers/type-2/shared/fonts.rasi b/home/packages/wayland/rofi-files/launchers/type-2/shared/fonts.rasi new file mode 100644 index 0000000..50499c9 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "Iosevka Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-1.rasi new file mode 100644 index 0000000..fe2c342 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-1.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @selected; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-10.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-10.rasi new file mode 100644 index 0000000..09e3a41 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-10.rasi @@ -0,0 +1,194 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + /* For Screens with 1920x1080 resolution */ + screen-margin: 180px 150px; + box-spacing: 40px; + icon-size: 96px; + element-padding: 30px; + element-spacing: 15px; + + /* For Screens with 1366x768 resolution */ + /* + screen-margin: 120px 60px; + box-spacing: 40px; + icon-size: 64px; + element-padding: 20px; + element-spacing: 10px; + */ + /* Use this as reference and create for your screen resolution */ +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: @box-spacing; + margin: @screen-margin; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px 50% 0px 0px; + padding: 15px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @selected; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 8; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: @element-spacing; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: @element-spacing; + margin: 0px; + padding: @element-padding; + border: 0px solid; + border-radius: 30px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 4px 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: @icon-size; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 150px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-11.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-11.rasi new file mode 100644 index 0000000..58fa61e --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-11.rasi @@ -0,0 +1,183 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 150px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px 0px 2px 0px; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 12px; + border-radius: 100%; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 12px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 20px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background-alt; + text-color: @foreground; +} +element alternate.normal { + background-color: @background-alt; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 2px 2px; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 0px 0px 0px 0px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-12.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-12.rasi new file mode 100644 index 0000000..858a905 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-12.rasi @@ -0,0 +1,179 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: " Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 200px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 15px; + border-radius: 100%; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 350px; + padding: 15px 20px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 4; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + padding: 0px 0px 0px 0px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-13.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-13.rasi new file mode 100644 index 0000000..b21ca00 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-13.rasi @@ -0,0 +1,179 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: " Apps"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 100%; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 50px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 15px; + border-radius: 15px; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 350px; + padding: 15px 20px; + border-radius: 15px; + background-color: @background-alt; + text-color: @foreground; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 10; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 30px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + padding: 0px 0px 0px 0px; + background-color: transparent; + text-color: inherit; + size: 96px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 50px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-14.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-14.rasi new file mode 100644 index 0000000..049979b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-14.rasi @@ -0,0 +1,188 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: " Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1200px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; + orientation: horizontal; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "prompt", "entry" ]; + orientation: vertical; +} + +prompt { + enabled: true; + expand: false; + padding: 15px 50px; + border-radius: 10px; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + padding: 15px 20px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 4; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + orientation: horizontal; + cursor: pointer; +} +element normal.normal { + background-color: @background-alt; + text-color: @foreground; +} +element alternate.normal { + background-color: @background-alt; + text-color: @foreground; +} +element selected.normal { + border: 0px 2px 0px 2px; + border-radius: 10px; + border-color: @selected; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 0px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-15.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-15.rasi new file mode 100644 index 0000000..4b14fc1 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-15.rasi @@ -0,0 +1,151 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: " Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 450px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview", "entry" ]; +} + +/*****----- Inputbar -----*****/ +entry { + enabled: true; + expand: false; + padding: 20px 0px; + background-color: @selected; + text-color: @background; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-2.rasi new file mode 100644 index 0000000..49502a0 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-2.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 700px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @background; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-3.rasi new file mode 100644 index 0000000..5e3a6f9 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-3.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @foreground; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 6px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @background; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-4.rasi new file mode 100644 index 0000000..f5ab848 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-4.rasi @@ -0,0 +1,180 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 12px; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 12px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background-alt; + text-color: @foreground; +} +element alternate.normal { + background-color: @background-alt; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 0px 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 0px 0px 0px 10px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-5.rasi new file mode 100644 index 0000000..50ce121 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-5.rasi @@ -0,0 +1,182 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 700px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 12px; + border-radius: 16px; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 12px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 7; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background-alt; + text-color: @foreground; +} +element alternate.normal { + background-color: @background-alt; + text-color: @foreground; +} +element selected.normal { + border: 0px 5px 0px 5px; + border-radius: 16px; + border-color: @selected; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 0px 0px 0px 10px; + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 16px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-6.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-6.rasi new file mode 100644 index 0000000..2f0ab2b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-6.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 450px; + height: 100%; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @selected; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 6px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-7.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-7.rasi new file mode 100644 index 0000000..49e14be --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-7.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @selected; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-8.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-8.rasi new file mode 100644 index 0000000..ee20df1 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-8.rasi @@ -0,0 +1,184 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: " Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 40px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + padding: 15px; + border-radius: 100%; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + padding: 15px; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 15px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 20px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: transparent; + text-color: @foreground; +} +element-icon { + padding: 30px; + border-radius: 20px; + background-color: @background-alt; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + padding: 10px; + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element-text selected { + border-radius: 100%; + background-color: @selected; + text-color: @background; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 2px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-2/style-9.rasi b/home/packages/wayland/rofi-files/launchers/type-2/style-9.rasi new file mode 100644 index 0000000..75dc924 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-2/style-9.rasi @@ -0,0 +1,179 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: " Applications"; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 40px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + padding: 15px; + border-radius: 100%; + background-color: @selected; + text-color: @background; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + padding: 15px; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 15px 0px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: horizontal; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border-radius: 100%; + background-color: @background-alt; + text-color: @selected; +} +element-icon { + padding: 10px; + border-radius: 100%; + background-color: @selected; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 2px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-3/launcher.sh new file mode 100755 index 0000000..ae97b5f --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/launcher.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 + +dir="$HOME/.config/rofi/launchers/type-3" +theme='style-10' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-3/shared/colors.rasi b/home/packages/wayland/rofi-files/launchers/type-3/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/launchers/type-3/shared/fonts.rasi b/home/packages/wayland/rofi-files/launchers/type-3/shared/fonts.rasi new file mode 100644 index 0000000..50499c9 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "Iosevka Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-1.rasi new file mode 100644 index 0000000..3688452 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-1.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: white / 5%; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 10px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-10.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-10.rasi new file mode 100644 index 0000000..3344d36 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-10.rasi @@ -0,0 +1,175 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px 500px 0px 0px; + padding: 12px; + border: 0px 0px 0px 4px; + border-radius: 0px 100% 100% 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 7; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 0px 4px; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 40px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-2.rasi new file mode 100644 index 0000000..3a22461 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-2.rasi @@ -0,0 +1,173 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 100px; + margin: 0px; + padding: 100px 225px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0% 25%; + padding: 18px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 8; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 35px 10px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: white / 5%; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 72px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-3.rasi new file mode 100644 index 0000000..c604a4b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-3.rasi @@ -0,0 +1,173 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 100px; + margin: 0px; + padding: 100px 225px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0% 28%; + padding: 10px; + border: 1px solid; + border-radius: 6px; + border-color: white / 25%; + background-color: white / 5%; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 7; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 35px 10px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: white / 5%; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 72px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-4.rasi new file mode 100644 index 0000000..db9386b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-4.rasi @@ -0,0 +1,175 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 12px; + border: 1px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 1px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 10px; + border: 1px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-5.rasi new file mode 100644 index 0000000..01b6d47 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-5.rasi @@ -0,0 +1,175 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + width: 750px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 1px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 7; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: horizontal; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 1px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-6.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-6.rasi new file mode 100644 index 0000000..1c6c33b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-6.rasi @@ -0,0 +1,174 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; + children: [ "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 128px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-7.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-7.rasi new file mode 100644 index 0000000..b516c5f --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-7.rasi @@ -0,0 +1,176 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 600px; + height: 100%; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 40px 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 12px 16px; + border: 0px 0px 2px 0px; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search Apps"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 2px 0px; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-8.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-8.rasi new file mode 100644 index 0000000..d9bb6de --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-8.rasi @@ -0,0 +1,175 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 500px; + x-offset: 20px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 30px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 12px 16px; + border: 0px 0px 2px 0px; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search Apps"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 4; + lines: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 2px 0px; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-3/style-9.rasi b/home/packages/wayland/rofi-files/launchers/type-3/style-9.rasi new file mode 100644 index 0000000..dbf1a4e --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-3/style-9.rasi @@ -0,0 +1,176 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 180px; + height: 100%; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 30px 20px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 12px 16px; + border: 0px 0px 2px 0px; + border-radius: 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + orientation: vertical; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: @foreground; +} +element selected.normal { + border: 0px 0px 2px 0px; + border-radius: 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: black / 10%; + text-color: @foreground; +} +textbox { + background-color: transparent; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-4/launcher.sh new file mode 100755 index 0000000..6572cda --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/launcher.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 + +dir="$HOME/.config/rofi/launchers/type-4" +theme='style-1' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-4/shared/colors.rasi b/home/packages/wayland/rofi-files/launchers/type-4/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/launchers/type-4/shared/fonts.rasi b/home/packages/wayland/rofi-files/launchers/type-4/shared/fonts.rasi new file mode 100644 index 0000000..50499c9 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "Iosevka Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-1.rasi new file mode 100644 index 0000000..1aaa5b9 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-1.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-10.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-10.rasi new file mode 100644 index 0000000..b4ec747 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-10.rasi @@ -0,0 +1,284 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: false; + display-drun: " Apps"; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + width: 100%; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 5px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "prompt", "entry", "listview" ]; + orientation: horizontal; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 5px 10px; + border: 0px; + border-radius: 100%; + border-color: @border-colour; + background-color: @border-colour; + text-color: @background-colour; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + padding: 5px 10px; + width: 200px; + border-radius: 100%; + background-color: @alternate-background; + text-color: @foreground-colour; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + lines: 100; + cycle: true; + dynamic: true; + scrollbar: false; + layout: horizontal; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-2.rasi new file mode 100644 index 0000000..78ad79e --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-2.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 5px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px 0px 1px dash 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-3.rasi new file mode 100644 index 0000000..3f24a03 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-3.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 50px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px 0px 2px dash 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(alternate-background); + text-color: var(selected-normal-background); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-4.rasi new file mode 100644 index 0000000..e84ec56 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-4.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px 0px 10px 10px; + border: 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: ""; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(alternate-background); + text-color: var(foreground-colour); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-5.rasi new file mode 100644 index 0000000..70e602d --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-5.rasi @@ -0,0 +1,279 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "drun"; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @alternate-background; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + padding: 15px; + border: 0px 1px 0px 0px; + border-radius: 0px; + border-color: @alternate-background; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + padding: 15px; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: ""; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px 15px; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @alternate-background; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(alternate-background); + text-color: var(foreground-colour); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-6.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-6.rasi new file mode 100644 index 0000000..6034b34 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-6.rasi @@ -0,0 +1,275 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "drun :"; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 35%; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: ""; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(alternate-background); + text-color: var(foreground-colour); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-7.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-7.rasi new file mode 100644 index 0000000..9cdc9c1 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-7.rasi @@ -0,0 +1,277 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: "drun :"; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + height: 768px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 0px; + padding: 25% 35%; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px; + border-radius: 20px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + children: [ "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Type here to search for apps"; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 12; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 20px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 12px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: white / 5%; + text-color: var(foreground-colour); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: transparent; + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 100px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @alternate-background; + text-color: @foreground-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-8.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-8.rasi new file mode 100644 index 0000000..75178de --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-8.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser"; + show-icons: false; + display-drun: "drun"; + display-run: "run"; + display-filebrowser: "files"; + display-window: "windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px 5px; + border: 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "prompt", "textbox-prompt-colon", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ":"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-background); + text-color: var(urgent-foreground); +} +element normal.active { + background-color: var(active-background); + text-color: var(active-foreground); +} +element selected.normal { + background-color: var(selected-normal-foreground); + text-color: var(selected-normal-background); +} +element selected.urgent { + background-color: var(selected-urgent-background); + text-color: var(selected-urgent-foreground); +} +element selected.active { + background-color: var(selected-active-background); + text-color: var(selected-active-foreground); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-background); + text-color: var(alternate-urgent-foreground); +} +element alternate.active { + background-color: var(alternate-active-background); + text-color: var(alternate-active-foreground); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(alternate-background); + text-color: var(selected-normal-background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @border-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-4/style-9.rasi b/home/packages/wayland/rofi-files/launchers/type-4/style-9.rasi new file mode 100644 index 0000000..73f73c0 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-4/style-9.rasi @@ -0,0 +1,274 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: false; + display-drun: "drun"; + display-run: "run"; + display-filebrowser: "files"; + display-window: "windows"; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + border-colour: var(selected); + handle-colour: var(selected); + background-colour: var(background); + foreground-colour: var(foreground); + alternate-background: var(background-alt); + normal-background: var(background); + normal-foreground: var(foreground); + urgent-background: var(urgent); + urgent-foreground: var(background); + active-background: var(active); + active-foreground: var(background); + selected-normal-background: var(selected); + selected-normal-foreground: var(background); + selected-urgent-background: var(active); + selected-urgent-foreground: var(background); + selected-active-background: var(urgent); + selected-active-foreground: var(background); + alternate-normal-background: var(background); + alternate-normal-foreground: var(foreground); + alternate-urgent-background: var(urgent); + alternate-urgent-foreground: var(background); + alternate-active-background: var(active); + alternate-active-foreground: var(background); +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + cursor: "default"; + background-color: @background-colour; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 40px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + children: [ "inputbar", "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px 5px; + border: 0px 0px 1px 0px; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; + children: [ "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ":"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: true; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: "default"; +} +scrollbar { + handle-width: 1px ; + handle-color: @handle-colour; + border-radius: 0px; + background-color: @alternate-background; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 2px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; + cursor: pointer; +} +element normal.normal { + background-color: var(normal-background); + text-color: var(normal-foreground); +} +element normal.urgent { + background-color: var(urgent-foreground); + text-color: var(urgent-background); +} +element normal.active { + background-color: var(active-foreground); + text-color: var(active-background); +} +element selected.normal { + background-color: var(selected-normal-foreground); + text-color: var(selected-normal-background); +} +element selected.urgent { + background-color: var(selected-urgent-foreground); + text-color: var(selected-urgent-background); +} +element selected.active { + background-color: var(selected-active-foreground); + text-color: var(selected-active-background); +} +element alternate.normal { + background-color: var(alternate-normal-background); + text-color: var(alternate-normal-foreground); +} +element alternate.urgent { + background-color: var(alternate-urgent-foreground); + text-color: var(alternate-urgent-background); +} +element alternate.active { + background-color: var(alternate-active-foreground); + text-color: var(alternate-active-background); +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +button { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: var(selected-normal-background); + text-color: var(selected-normal-foreground); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @border-colour; + background-color: transparent; + text-color: @foreground-colour; +} +textbox { + padding: 5px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @border-colour; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; + placeholder-color: @foreground-colour; + blink: true; + markup: true; +} +error-message { + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @border-colour; + background-color: @background-colour; + text-color: @foreground-colour; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-5/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-5/launcher.sh new file mode 100755 index 0000000..e9d0a3a --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-5/launcher.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +dir="$HOME/.config/rofi/launchers/type-5" +theme='style-1' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-5/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-5/style-1.rasi new file mode 100644 index 0000000..21d8cba --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-5/style-1.rasi @@ -0,0 +1,190 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: false; + display-drun: "Applications"; + drun-display-format: ">> {name} [({generic})]"; +} + +/*****----- Global Properties -----*****/ +* { + font: "Grape Nuts 14"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 860px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: black; + cursor: "default"; + background-image: url("~/.config/rofi/images/paper.png", none); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: black; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 95px 0px 0px 0px; + padding: 0px 30px; + border: 0px; + border-radius: 0px; + border-color: #D79290; + background-color: transparent; + text-color: black; + children: [ "prompt", "entry", "num-filtered-rows", "textbox-num-sep", "num-rows" ]; +} + +prompt { + enabled: true; + font: "Grape Nuts Bold 14"; + background-color: transparent; + text-color: inherit; +} +entry { + enabled: true; + expand: true; + padding: 0px 10px 0px 40px; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} +num-filtered-rows { + enabled: true; + expand: false; + background-color: transparent; + text-color: inherit; +} +textbox-num-sep { + enabled: true; + expand: false; + str: "/"; + background-color: transparent; + text-color: inherit; +} +num-rows { + enabled: true; + expand: false; + background-color: transparent; + text-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 15; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 4px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: black; + background-color: transparent; + text-color: black; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: black; + border-radius: 0px; + background-color: transparent; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px 0px 0px 100px; + border: 0px solid; + border-radius: 0px; + border-color: black; + background-color: transparent; + text-color: black; + cursor: pointer; +} +element normal.normal { + background-color: transparent; + text-color: black; +} +element selected.normal { + background-color: transparent; + text-color: #D76A67; +} +element alternate.normal { + background-color: transparent; + text-color: black; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: black; + background-color: white; + text-color: black; +} +textbox { + vertical-align: 0.5; + horizontal-align: 0.0; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-5/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-5/style-2.rasi new file mode 100644 index 0000000..185718f --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-5/style-2.rasi @@ -0,0 +1,177 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}\n[({generic})]"; + window-format: "Class : {c}\nWorkspace : {w}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "Iosevka Nerd Font 10"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border-radius: 12px; + cursor: "default"; + background-image: url("~/.config/rofi/images/gradient.png", width); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + margin: 40px; + padding: 40px; + border-radius: 12px; + background-color: white/50%; + children: [ "inputbar", "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px 10%; + padding: 0px 0px 10px 0px; + border: 0px 0px 2px 0px; + border-radius: 0px; + border-color: gray/20%; + background-color: transparent; + children: [ "entry" ]; +} + +entry { + enabled: true; + background-color: transparent; + text-color: gray; + cursor: text; + placeholder: "Type to filter"; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 40px; + margin: 0px; + padding: 20px 0px 0px 0px; + border: 0px solid; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 1px solid; + border-radius: 8px; + border-color: gray/30%; + background-color: white; + text-color: black; + cursor: pointer; +} +element normal.active { + background-color: #67FF80; + text-color: black; +} +element selected.normal { + background-color: #FDD66F; + text-color: black; +} +element selected.active { + background-color: #FF7F7C; + text-color: black; +} +element-icon { + background-color: transparent; + size: 48px; + cursor: inherit; +} +element-text { + background-color: inherit; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 20px; + margin: 0px 10%; + background-color: transparent; + text-color: white; +} +button { + font: "Iosevka Nerd Font Bold 10"; + padding: 6px; + border: 0px solid; + border-radius: 100%; + background-color: #719DF9; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: #F37277; + text-color: inherit; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + background-color: transparent; + text-color: black; +} +textbox { + padding: 20px; + border-radius: 12px; + background-color: white/30%; + text-color: black; + vertical-align: 0.5; + horizontal-align: 0.0; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-5/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-5/style-3.rasi new file mode 100644 index 0000000..b1563a4 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-5/style-3.rasi @@ -0,0 +1,179 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,filebrowser,window"; + show-icons: true; + display-drun: "Apps"; + display-run: "Run"; + display-filebrowser: "Files"; + display-window: "Windows"; + drun-display-format: "{name}\n[({generic})]"; + window-format: "Class : {c}\nWorkspace : {w}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "Iosevka Nerd Font 10"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border-radius: 10px; + cursor: "default"; + background-color: white; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + padding: 30px; + background-color: transparent; + children: [ "inputbar", "mode-switcher", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + background-color: transparent; + children: [ "textbox-prompt-colon", "entry" ]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + padding: 12px 16px; + border: 0px; + border-radius: 10px; + border-color: gray/30%; + background-color: gray/15%; + text-color: black; + str: ""; +} +entry { + enabled: true; + padding: 12px 16px; + border: 0px; + border-radius: 10px; + border-color: gray/30%; + background-color: gray/15%; + text-color: black; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 10px; + background-color: transparent; + text-color: black; + cursor: pointer; +} +element normal.active { + background-image: linear-gradient(to right, #19B466, #7BF4B7); + text-color: black; +} +element selected.normal { + border-radius: 10px; + background-image: linear-gradient(to right, #FF9030, #FFC99B); + text-color: black; +} +element selected.active { + background-image: linear-gradient(to right, #EA5553, #EAACAB); + text-color: black; +} +element-icon { + background-color: transparent; + size: 48px; + cursor: inherit; +} +element-text { + background-color: inherit; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 15px; + background-color: transparent; +} +button { + font: "Iosevka Nerd Font Bold 10"; + padding: 10px; + border-radius: 100%; + background-image: linear-gradient(to right, #C03FF2, #EEC2FF); + text-color: white; + cursor: pointer; +} +button selected { + background-image: linear-gradient(to right, #44A2F0, #BDDDF8); + text-color: black; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + background-color: white; + text-color: black; +} +textbox { + padding: 0px; + border-radius: 0px; + text-color: black; + vertical-align: 0.5; + horizontal-align: 0.0; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-5/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-5/style-4.rasi new file mode 100644 index 0000000..bc1e59d --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-5/style-4.rasi @@ -0,0 +1,185 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} {c} {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "Iosevka Nerd Font 10"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border-radius: 20px; + cursor: "default"; + background-color: #22272C; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 25px; + padding: 50px; + background-color: transparent; + children: [ "inputbar", "message","listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px 200px; + padding: 5px; + border: 1px; + border-radius: 100%; + border-color: gray/25%; + background-color: transparent; + children: [ "textbox-prompt-colon", "entry" ]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + padding: 8px 11px; + border-radius: 100%; + background-color: white; + text-color: black; + str: ""; +} +entry { + enabled: true; + padding: 8px 12px; + border: 0px; + background-color: transparent; + text-color: white; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px; + border: 0px; + border-radius: 100%; + border-color: gray/15%; + background-color: transparent; + text-color: gray; + cursor: pointer; +} +element normal.active { + background-image: linear-gradient(to right, #4C4F52, #2E343B); + text-color: #19B466; +} +element selected.normal { + background-image: linear-gradient(to right, #4C4F52, #2E343B); + text-color: #FF9030; +} +element selected.active { + background-image: linear-gradient(to right, #4C4F52, #2E343B); + text-color: #EA5553; +} +element-icon { + background-color: transparent; + size: 24px; + cursor: inherit; +} +element-text { + background-color: inherit; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + expand: false; + spacing: 0px; + margin: 0px 200px; + padding: 12px; + border-radius: 100%; + background-color: #2E343B; +} +button { + background-color: inherit; + text-color: white; + cursor: pointer; +} +button selected { + background-color: inherit; + text-color: #FF9030; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + background-color: #22272C; + text-color: white; +} +message { + padding: 0px; + background-color: inherit; + text-color: #FF9030; +} +textbox { + padding: 0px; + border-radius: 0px; + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-5/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-5/style-5.rasi new file mode 100644 index 0000000..60e4e22 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-5/style-5.rasi @@ -0,0 +1,163 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name} [({generic})]"; + window-format: "{w} {c} {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "Iosevka Nerd Font 10"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border-radius: 20px; + cursor: "default"; + background-color: #162022; + background-image: url("~/.config/rofi/images/flowers-1.png", width); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 20px; + padding: 40px; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px 200px 0px 0px; + padding: 25px; + border: 2px; + border-radius: 20px; + border-color: white; + background-image: url("~/.config/rofi/images/flowers-3.png", none); + children: [ "textbox-prompt-colon", "entry" ]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + padding: 8px 11px; + border-radius: 8px; + background-color: white; + text-color: black; + str: ""; +} +entry { + enabled: true; + padding: 8px 12px; + border: 0px; + background-color: transparent; + text-color: white; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px 200px 0px 0px; + padding: 10px; + border: 2px; + border-radius: 20px; + border-color: white; + background-image: url("~/.config/rofi/images/flowers-2.png", width); + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 5px 10px; + border: 0px; + border-radius: 18px; + border-color: white; + background-color: transparent; + text-color: #162022; + cursor: pointer; +} +element selected.normal { + background-color: #162022; + text-color: white; +} +element-icon { + background-color: transparent; + size: 32px; + cursor: inherit; +} +element-text { + background-color: inherit; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 20px; + background-color: transparent; + text-color: white; +} +message { + padding: 0px; + background-color: inherit; + text-color: #FF9030; +} +textbox { + padding: 0px; + border-radius: 0px; + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-6/launcher.sh new file mode 100755 index 0000000..cd4bccf --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/launcher.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 + +dir="$HOME/.config/rofi/launchers/type-6" +theme='style-4' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-1.rasi new file mode 100644 index 0000000..198a4e0 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-1.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #201A41; + background-alt: #392684; + foreground: #FFFFFF; + selected: #F801E8; + active: #00CCF5; + urgent: #8D0083; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/a.png", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-10.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-10.rasi new file mode 100644 index 0000000..07c375d --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-10.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/j.jpg", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-2.rasi new file mode 100644 index 0000000..66a1de6 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-2.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #180F39; + background-alt: #32197D; + foreground: #FFFFFF; + selected: #FF00F1; + active: #9878FF; + urgent: #7D0075; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/b.png", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-3.rasi new file mode 100644 index 0000000..a623e2f --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-3.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #09164C; + background-alt: #102886; + foreground: #FFFFFF; + selected: #FA00E9; + active: #3860FF; + urgent: #BB00AF; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/c.png", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-4.rasi new file mode 100644 index 0000000..ddf2be1 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-4.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #2D1B14; + background-alt: #462D23; + foreground: #FFFFFF; + selected: #E25F3E; + active: #7B6C5B; + urgent: #934A1C; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/d.png", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-5.rasi new file mode 100644 index 0000000..afc90fb --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-5.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #231419; + background-alt: #2D1E23; + foreground: #FFFFFF; + selected: #426647; + active: #2E3F34; + urgent: #D08261; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/e.jpg", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-6.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-6.rasi new file mode 100644 index 0000000..7056c85 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-6.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #D0D0D0; + background-alt: #E9E9E9; + foreground: #161616; + selected: #BEBEBE; + active: #999999; + urgent: #808080; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/f.png", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-7.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-7.rasi new file mode 100644 index 0000000..77eed40 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-7.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #101010; + background-alt: #252525; + foreground: #FFFFFF; + selected: #505050; + active: #909090; + urgent: #707070; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/g.png", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-8.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-8.rasi new file mode 100644 index 0000000..235dad7 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-8.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #030B16; + background-alt: #0A1B37; + foreground: #FFFFFF; + selected: #CB43A6; + active: #095873; + urgent: #2FC6D8; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/h.jpg", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-6/style-9.rasi b/home/packages/wayland/rofi-files/launchers/type-6/style-9.rasi new file mode 100644 index 0000000..e30583f --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-6/style-9.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOW"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #131D1F; + background-alt: #183A43; + foreground: #FFFFFF; + selected: #649094; + active: #E9CC9D; + urgent: #FEA861; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listbox" ]; +} + +imagebox { + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/i.jpg", height); + orientation: vertical; + children: [ "inputbar", "dummy", "mode-switcher" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +dummy { + background-color: transparent; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 20px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 8px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/launcher.sh b/home/packages/wayland/rofi-files/launchers/type-7/launcher.sh new file mode 100755 index 0000000..1eb0422 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/launcher.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Launcher (Modi Drun, Run, File Browser, Window) +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 + +dir="$HOME/.config/rofi/launchers/type-7" +theme='style-4' + +## Run +rofi \ + -show drun \ + -theme ${dir}/${theme}.rasi diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-1.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-1.rasi new file mode 100644 index 0000000..092f4f8 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-1.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 700px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 80px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/a.png", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 250px; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 45px; + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 7; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 4px; + border-radius: 100%; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-10.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-10.rasi new file mode 100644 index 0000000..124df89 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-10.rasi @@ -0,0 +1,207 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 400px; + x-offset: 20px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 0px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 10px; + padding: 10px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + padding: 100px 40px; + background-color: transparent; + background-image: url("~/.config/rofi/images/j.jpg", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 8px 12px; + border: 0px 2px 2px 2px; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: true; + padding: 8px 12px; + border: 2px 2px 0px 0px; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 8px; + border-radius: 0px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 8px; + border-radius: 0px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 8px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 8px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-2.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-2.rasi new file mode 100644 index 0000000..40a2375 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-2.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "Apps"; + display-run: "Run"; + display-filebrowser: "Files"; + display-window: "Windows"; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #180F39; + background-alt: #32197D; + foreground: #FFFFFF; + selected: #FF00F1; + active: #9878FF; + urgent: #7D0075; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 80px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/b.png", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 300px; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 80px; + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 4px; + border-radius: 100%; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-3.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-3.rasi new file mode 100644 index 0000000..6ac4900 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-3.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #09164C; + background-alt: #102886; + foreground: #FFFFFF; + selected: #FA00E9; + active: #3860FF; + urgent: #BB00AF; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 10px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 15px; + padding: 15px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 100px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/c.png", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 12px; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 150px; + padding: 12px 16px; + border-radius: 12px; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 40px; + padding: 12px; + border-radius: 12px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 6px; + border-radius: 10px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 10px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 10px; + border-radius: 10px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-4.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-4.rasi new file mode 100644 index 0000000..9657878 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-4.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #2D1B14; + background-alt: #462D23; + foreground: #FFFFFF; + selected: #E25F3E; + active: #7B6C5B; + urgent: #934A1C; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 500px; + height: 100%; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 0px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox", "mode-switcher" ]; +} + +listbox { + spacing: 15px; + padding: 15px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 40px 40px 155px; + background-color: transparent; + background-image: url("~/.config/rofi/images/d.png", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 0px; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: true; + padding: 12px 16px; + border-radius: 0px; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + padding: 15px; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 12px; + border-radius: 0px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 10; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 8px; + border-radius: 0px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 24px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 12px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-5.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-5.rasi new file mode 100644 index 0000000..0edb39d --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-5.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #231419; + background-alt: #2D1E23; + foreground: #FFFFFF; + selected: #426647; + active: #2E3F34; + urgent: #D08261; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 600px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 80px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/e.jpg", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 250px; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 45px; + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 7; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 4px; + border-radius: 100%; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 12px; + border-radius: 20px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-6.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-6.rasi new file mode 100644 index 0000000..d500569 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-6.rasi @@ -0,0 +1,210 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: true; + display-drun: "APPS"; + display-run: "RUN"; + display-filebrowser: "FILES"; + display-window: "WINDOWS"; + drun-display-format: "{name}"; + window-format: "{w} · {c}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #D0D0D0; + background-alt: #E9E9E9; + foreground: #161616; + selected: #BEBEBE; + active: #999999; + urgent: #808080; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 15px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 100px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/f.png", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 300px; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 80px; + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 10px; + border-radius: 15px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; + orientation: vertical; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 64px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 15px; + border-radius: 15px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 15px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-7.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-7.rasi new file mode 100644 index 0000000..98d135b --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-7.rasi @@ -0,0 +1,203 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #101010; + background-alt: #252525; + foreground: #FFFFFF; + selected: #505050; + active: #909090; + urgent: #707070; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview", "mode-switcher" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 100px 40px; + background-color: transparent; + background-image: url("~/.config/rofi/images/g.png", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: true; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 12px; + border-radius: 100%; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 15px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-8.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-8.rasi new file mode 100644 index 0000000..0ed4797 --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-8.rasi @@ -0,0 +1,209 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,run,filebrowser,window"; + show-icons: false; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w} · {c} · {t}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #030B16; + background-alt: #0A1B37; + foreground: #FFFFFF; + selected: #CB43A6; + active: #095873; + urgent: #2FC6D8; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 30px 5px 30px 5px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 100px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/h.jpg", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 15px 5px 15px 5px; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 250px; + padding: 12px 16px; + border-radius: 5px 15px 5px 15px; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 45px; + padding: 12px; + border-radius: 15px 5px 15px 5px; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 8; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + padding: 12px; + border-radius: 15px 5px 15px 5px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 15px 5px 15px 5px; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 12px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/launchers/type-7/style-9.rasi b/home/packages/wayland/rofi-files/launchers/type-7/style-9.rasi new file mode 100644 index 0000000..ff3bf0a --- /dev/null +++ b/home/packages/wayland/rofi-files/launchers/type-7/style-9.rasi @@ -0,0 +1,210 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun,filebrowser,window"; + show-icons: true; + display-drun: ""; + display-run: ""; + display-filebrowser: ""; + display-window: ""; + drun-display-format: "{name}"; + window-format: "{w}: {c}"; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #131D1F; + background-alt: #183A43; + foreground: #FFFFFF; + selected: #649094; + active: #E9CC9D; + urgent: #FEA861; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 700px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + background-color: transparent; + orientation: vertical; + children: [ "inputbar", "listbox" ]; +} + +listbox { + spacing: 20px; + padding: 20px; + background-color: transparent; + orientation: vertical; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + padding: 80px 60px; + background-color: transparent; + background-image: url("~/.config/rofi/images/i.jpg", width); + text-color: @foreground; + orientation: horizontal; + children: [ "textbox-prompt-colon", "entry", "dummy", "mode-switcher" ]; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; +} +entry { + enabled: true; + expand: false; + width: 250px; + padding: 12px 16px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: text; + placeholder: "Search"; + placeholder-color: inherit; +} +dummy { + expand: true; + background-color: transparent; +} + +/*****----- Mode Switcher -----*****/ +mode-switcher{ + enabled: true; + spacing: 10px; + background-color: transparent; + text-color: @foreground; +} +button { + width: 45px; + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: inherit; + cursor: pointer; +} +button selected { + background-color: @selected; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 15px; + padding: 35px 10px; + border-radius: 20px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; + orientation: vertical; +} +element normal.normal { + background-color: inherit; + text-color: inherit; +} +element normal.urgent { + background-color: @urgent; + text-color: @foreground; +} +element normal.active { + background-color: @active; + text-color: @foreground; +} +element selected.normal { + background-color: @selected; + text-color: @foreground; +} +element selected.urgent { + background-color: @urgent; + text-color: @foreground; +} +element selected.active { + background-color: @urgent; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 96px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Message -----*****/ +message { + background-color: transparent; +} +textbox { + padding: 12px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; +} +error-message { + padding: 12px; + border-radius: 0px; + background-color: @background; + text-color: @foreground; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/powermenu.sh b/home/packages/wayland/rofi-files/powermenu/type-1/powermenu.sh new file mode 100755 index 0000000..e9f42a8 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/powermenu.sh @@ -0,0 +1,110 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-1" +theme='style-1' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostnamectl hostname` + +# Options +shutdown=' Shutdown' +reboot=' Reboot' +lock=' Lock' +suspend=' Suspend' +logout=' Logout' +yes=' Yes' +no=' No' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "$host" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 250px;}' \ + -theme-str 'mainbox {children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/swaylock' ]]; then + swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color 785412 --key-hl-color 4EAC41 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2 + elif [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/shared/colors.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/shared/fonts.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/style-1.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/style-1.rasi new file mode 100644 index 0000000..2a59b18 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/style-1.rasi @@ -0,0 +1,161 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 14px; + border-radius: 10px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 10px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/style-2.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/style-2.rasi new file mode 100644 index 0000000..f9499a3 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/style-2.rasi @@ -0,0 +1,161 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 2px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/style-3.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/style-3.rasi new file mode 100644 index 0000000..d67c5bd --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/style-3.rasi @@ -0,0 +1,161 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 350px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 1px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 8px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 8px 12px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 8px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/style-4.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/style-4.rasi new file mode 100644 index 0000000..daee803 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/style-4.rasi @@ -0,0 +1,161 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 30px 10px 30px 10px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 14px; + border-radius: 15px 10px 15px 10px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 10px 15px 10px 15px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 15px 10px 15px 10px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 15px 10px 15px 10px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-1/style-5.rasi b/home/packages/wayland/rofi-files/powermenu/type-1/style-5.rasi new file mode 100644 index 0000000..dd330dd --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-1/style-5.rasi @@ -0,0 +1,167 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 605px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 4px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 20px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", dummy, "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 10px 14px; + border-radius: 4px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 10px; + border-radius: 4px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 10px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 10px; + border: 0px solid; + border-radius: 4px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 2px 0px 2px; + border-radius: 4px; + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/powermenu.sh b/home/packages/wayland/rofi-files/powermenu/type-2/powermenu.sh new file mode 100755 index 0000000..23d0795 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/powermenu.sh @@ -0,0 +1,111 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 +## style-6 style-7 style-8 style-9 style-10 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-2" +theme='style-1' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "Uptime: $uptime" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ + -theme-str 'mainbox {children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/shared/colors.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/shared/fonts.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-1.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-1.rasi new file mode 100644 index 0000000..e310106 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-1.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 40px 10px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-10.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-10.rasi new file mode 100644 index 0000000..d3fd8fd --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-10.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1200px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 25px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 20px 24px; + border-radius: 100% 0px 0px 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 20px; + border-radius: 0px 100% 100% 0px; + background-color: @background; + text-color: @active; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px 50px; + padding: 15px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 70px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 48"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-2.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-2.rasi new file mode 100644 index 0000000..f64703e --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-2.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 100%; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 40px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-3.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-3.rasi new file mode 100644 index 0000000..26d2c77 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-3.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 30px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 15px 15px 0px 15px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 15px 15px 15px 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 15px 5px 15px 5px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 40px 10px; + border: 0px solid; + border-radius: 50px 20px 50px 20px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 0px 2px 2px ; + border-color: @selected; + background-color: var(background-alt); + text-color: var(selected); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-4.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-4.rasi new file mode 100644 index 0000000..fbb4ebb --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-4.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 115px; + x-offset: -15px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-5.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-5.rasi new file mode 100644 index 0000000..6caffaa --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-5.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: west; + anchor: west; + fullscreen: false; + width: 115px; + x-offset: 15px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-6.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-6.rasi new file mode 100644 index 0000000..d54b32e --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-6.rasi @@ -0,0 +1,172 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: south; + anchor: south; + fullscreen: false; + width: 500px; + x-offset: 0px; + y-offset: -15px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 12px; + border: 0px 2px dash 0px 2px dash; + border-radius: 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 20px 0px; + border: 0px; + border-radius: 30px 12px 30px 12px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 10px dash 0px 10px dash; + border-color: @selected; + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-7.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-7.rasi new file mode 100644 index 0000000..8e8352f --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-7.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px 100px; + padding: 15px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 45px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-8.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-8.rasi new file mode 100644 index 0000000..4af18b3 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-8.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: east; + anchor: east; + fullscreen: false; + width: 95px; + x-offset: -20px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 25px 10px; + border: 0px solid; + border-radius: 100%; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-2/style-9.rasi b/home/packages/wayland/rofi-files/powermenu/type-2/style-9.rasi new file mode 100644 index 0000000..8b2e483 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-2/style-9.rasi @@ -0,0 +1,170 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: north; + anchor: north; + fullscreen: false; + width: 530px; + x-offset: 0px; + y-offset: 20px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: transparent; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: ""; + padding: 12px 16px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: 12px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 25px 10px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 24"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/powermenu.sh b/home/packages/wayland/rofi-files/powermenu/type-3/powermenu.sh new file mode 100755 index 0000000..edfb40f --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/powermenu.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-3" +theme='style-2' + +# CMDs +uptime="$(uptime -p | sed -e 's/up //g')" +host=$(hostnamectl hostname) + +# Options +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "Uptime: $uptime" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/shared/confirm.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in +$shutdown) + run_cmd --shutdown + ;; +$reboot) + run_cmd --reboot + ;; +$lock) + if [[ -x '/usr/bin/swaylock' ]]; then + swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color 785412 --key-hl-color 4EAC41 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2 + elif [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + fi + ;; +$suspend) + run_cmd --suspend + ;; +$logout) + run_cmd --logout + ;; +esac diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/shared/colors.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/shared/colors.rasi new file mode 100644 index 0000000..a522d88 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/gruvbox.rasi" diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/shared/confirm.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/shared/confirm.rasi new file mode 100644 index 0000000..9f74f2a --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/shared/confirm.rasi @@ -0,0 +1,93 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "colors.rasi" +@import "fonts.rasi" + +/*****----- Main Window -----*****/ +window { + location: center; + anchor: center; + fullscreen: false; + width: 500px; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + spacing: 30px; + padding: 30px; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Message -----*****/ +message { + margin: 0px; + padding: 20px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} + +/*****----- Listview -----*****/ +listview { + columns: 2; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + padding: 60px 10px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 48"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/shared/fonts.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/shared/fonts.rasi new file mode 100644 index 0000000..68fd613 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 12"; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/style-1.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/style-1.rasi new file mode 100644 index 0000000..702ce83 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/style-1.rasi @@ -0,0 +1,179 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 30px; + box-margin: 300px 100px; + inputbar-spacing: 30px; + list-spacing: 30px; + general-padding: 20px; + element-padding: 100px 10px; + element-radius: 0px; + general-radius: 0px; + element-font: "feather 64"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/style-2.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/style-2.rasi new file mode 100644 index 0000000..1652e04 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/style-2.rasi @@ -0,0 +1,179 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 50px; + box-margin: 300px 200px; + inputbar-spacing: 0px; + list-spacing: 30px; + general-padding: 20px; + element-padding: 80px 10px; + element-radius: 100%; + general-radius: 100%; + element-font: "feather 64"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: 100% 0px 0px 100%; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: 0px 100% 100% 0px; + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/style-3.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/style-3.rasi new file mode 100644 index 0000000..340472d --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/style-3.rasi @@ -0,0 +1,180 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 50px; + box-margin: 370px 350px; + message-margin: 0px 350px; + inputbar-spacing: 0px; + list-spacing: 50px; + general-padding: 20px; + element-padding: 55px 10px; + element-radius: 20px; + general-radius: 100%; + element-font: "feather 48"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "dummy", "textbox-prompt-colon", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(general-padding); + border: 0px; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/style-4.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/style-4.rasi new file mode 100644 index 0000000..4c06d8e --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/style-4.rasi @@ -0,0 +1,180 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 70px; + box-margin: 300px 350px; + message-margin: 0px 400px; + inputbar-spacing: 0px; + list-spacing: 40px; + general-padding: 20px; + element-padding: 60px 10px; + element-radius: 80px; + general-radius: 100%; + element-font: "feather 48"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: 0px; + padding: var(box-margin); + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon" ]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @active; + text-color: @background; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(general-padding); + border: 0px; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-3/style-5.rasi b/home/packages/wayland/rofi-files/powermenu/type-3/style-5.rasi new file mode 100644 index 0000000..70ce743 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-3/style-5.rasi @@ -0,0 +1,181 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +* { + /* Resolution : 1920x1080 */ + box-spacing: 50px; + box-margin: 300px 250px; + box-padding: 50px; + message-margin: 0px 400px; + inputbar-spacing: 0px; + list-spacing: 0px; + general-padding: 20px; + element-padding: 90px 10px; + element-radius: 80px; + general-radius: 100%; + element-font: "feather 48"; +} + +/*****----- Main Window -----*****/ +window { + /* properties for window widget */ + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + width: 1366px; + x-offset: 0px; + y-offset: 0px; + + /* properties for all widgets */ + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(box-spacing); + margin: var(box-margin); + padding: var(box-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background-alt; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: var(inputbar-spacing); + margin: 0px; + padding: 0px; + border: 0px; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + children: [ "textbox-prompt-colon", "dummy", "prompt" ]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: "SYSTEM"; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @background; + text-color: @urgent; +} +prompt { + enabled: true; + padding: var(general-padding); + border-radius: var(general-radius); + background-color: @background; + text-color: @active; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(general-padding); + border: 0px; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} +error-message { + padding: var(general-padding); + border: 0px solid; + border-radius: var(general-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(list-spacing); + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: @background; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 0px; + margin: 0px; + padding: var(element-padding); + border: 0px solid; + border-radius: var(element-radius); + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: var(element-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/powermenu.sh b/home/packages/wayland/rofi-files/powermenu/type-4/powermenu.sh new file mode 100755 index 0000000..17f20c7 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/powermenu.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-4" +theme='style-5' + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "Goodbye ${USER}" \ + -mesg "Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/shared/confirm.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/shared/colors.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/shared/colors.rasi new file mode 100644 index 0000000..103ad63 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/shared/colors.rasi @@ -0,0 +1,18 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +@import "~/.config/rofi/colors/onedark.rasi" diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/shared/confirm.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/shared/confirm.rasi new file mode 100644 index 0000000..9f74f2a --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/shared/confirm.rasi @@ -0,0 +1,93 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +@import "colors.rasi" +@import "fonts.rasi" + +/*****----- Main Window -----*****/ +window { + location: center; + anchor: center; + fullscreen: false; + width: 500px; + border-radius: 20px; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + spacing: 30px; + padding: 30px; + background-color: transparent; + children: [ "message", "listview" ]; +} + +/*****----- Message -----*****/ +message { + margin: 0px; + padding: 20px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; + placeholder-color: @foreground; + blink: true; + markup: true; +} + +/*****----- Listview -----*****/ +listview { + columns: 2; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + padding: 60px 10px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather 48"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/shared/fonts.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/shared/fonts.rasi new file mode 100644 index 0000000..68fd613 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 12"; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/style-1.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/style-1.rasi new file mode 100644 index 0000000..66dbe42 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/style-1.rasi @@ -0,0 +1,131 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 100px; + mainbox-margin: 100px 300px; + message-margin: 0px 400px; + message-padding: 15px; + message-border-radius: 100%; + listview-spacing: 50px; + element-padding: 55px 60px; + element-border-radius: 100%; + + prompt-font: "JetBrains Mono Nerd Font Bold Italic 64"; + textbox-font: "JetBrains Mono Nerd Font 16"; + element-text-font: "feather 64"; + + background-window: black/5%; + background-normal: white/5%; + background-selected: white/15%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-color: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/style-2.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/style-2.rasi new file mode 100644 index 0000000..20d4336 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/style-2.rasi @@ -0,0 +1,131 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 100px; + mainbox-margin: 150px 400px; + message-margin: 0px 350px; + message-padding: 15px; + message-border-radius: 15px; + listview-spacing: 50px; + element-padding: 35px 40px; + element-border-radius: 20px; + + prompt-font: "Iosevka Nerd Font Bold 72"; + textbox-font: "Iosevka Nerd Font 14"; + element-text-font: "feather 64"; + + background-window: black/30%; + background-normal: white/5%; + background-selected: white/15%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-color: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/style-3.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/style-3.rasi new file mode 100644 index 0000000..1ade61a --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/style-3.rasi @@ -0,0 +1,133 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 50px; + mainbox-margin: 50px; + message-margin: 0px 300px; + message-padding: 12px; + message-border-radius: 12px; + listview-spacing: 25px; + element-padding: 35px 0px; + element-border-radius: 60px; + + prompt-font: "Iosevka Nerd Font Bold 48"; + textbox-font: "Iosevka Nerd Font 12"; + element-text-font: "feather 48"; + + background-window: black/20%; + background-normal: white/5%; + background-selected: white/15%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + border-radius: 50px; + cursor: "default"; + background-color: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/style-4.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/style-4.rasi new file mode 100644 index 0000000..9234684 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/style-4.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 100px; + mainbox-margin: 150px 400px; + message-margin: 0px 350px; + message-padding: 20px; + message-border-radius: 100%; + listview-spacing: 50px; + element-padding: 35px 40px; + element-border-radius: 80px; + + prompt-font: "Iosevka Nerd Font Bold Italic 72"; + textbox-font: "Iosevka Nerd Font 16"; + element-text-font: "feather Bold 64"; + + /* Gradients */ + gradient-1: linear-gradient(45, #1E98FD, #06FDA5); + gradient-2: linear-gradient(0, #F971C6, #7A72EC); + gradient-3: linear-gradient(70, #FFD56F, #FF6861); + gradient-4: linear-gradient(135, #44C6FA, #3043A1); + gradient-5: linear-gradient(to left, #bdc3c7, #2c3e50); + gradient-6: linear-gradient(to right, #0F2027, #203A43, #2C5364); + gradient-7: linear-gradient(to top, #12c2e9, #c471ed, #f64f59); + gradient-8: linear-gradient(to bottom, #FF0099, #493240); + gradient-9: linear-gradient(0, #1a2a6c, #b21f1f, #fdbb2d); + gradient-10: linear-gradient(0, #283c86, #45a247); + gradient-11: linear-gradient(0, #77A1D3, #79CBCA, #E684AE); + gradient-12: linear-gradient(0, #ff6e7f, #bfe9ff); + gradient-13: linear-gradient(0, #D31027, #EA384D); + gradient-14: linear-gradient(0, #DA22FF, #9733EE); + gradient-15: linear-gradient(0, #1D976C, #93F9B9); + gradient-16: linear-gradient(0, #232526, #414345); + gradient-17: linear-gradient(0, #833ab4, #fd1d1d, #fcb045); + gradient-18: linear-gradient(0, #667db6, #0082c8, #0082c8, #667db6); + gradient-19: linear-gradient(0, #03001e, #7303c0, #ec38bc, #fdeff9); + gradient-20: linear-gradient(0, #780206, #061161); + + background-window: var(gradient-19); + background-normal: white/10%; + background-selected: white/20%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-image: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-4/style-5.rasi b/home/packages/wayland/rofi-files/powermenu/type-4/style-5.rasi new file mode 100644 index 0000000..96b483c --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-4/style-5.rasi @@ -0,0 +1,163 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + /* Resolution : 1920x1080 */ + mainbox-spacing: 50px; + mainbox-margin: 0px 470px; + message-margin: 0px 350px; + message-padding: 15px; + message-border-radius: 100%; + listview-spacing: 25px; + element-padding: 45px 40px; + element-border-radius: 100%; + + prompt-font: "Iosevka Nerd Font Bold 32"; + textbox-font: "Iosevka Nerd Font 12"; + element-text-font: "feather Bold 48"; + + /* Gradients */ + gradient-1: linear-gradient(45, #1E98FD, #06FDA5); + gradient-2: linear-gradient(0, #F971C6, #7A72EC); + gradient-3: linear-gradient(70, #FFD56F, #FF6861); + gradient-4: linear-gradient(135, #44C6FA, #3043A1); + gradient-5: linear-gradient(to left, #bdc3c7, #2c3e50); + gradient-6: linear-gradient(to right, #0F2027, #203A43, #2C5364); + gradient-7: linear-gradient(to top, #12c2e9, #c471ed, #f64f59); + gradient-8: linear-gradient(to bottom, #FF0099, #493240); + gradient-9: linear-gradient(0, #1a2a6c, #b21f1f, #fdbb2d); + gradient-10: linear-gradient(0, #283c86, #45a247); + gradient-11: linear-gradient(0, #77A1D3, #79CBCA, #E684AE); + gradient-12: linear-gradient(0, #ff6e7f, #bfe9ff); + gradient-13: linear-gradient(0, #D31027, #EA384D); + gradient-14: linear-gradient(0, #DA22FF, #9733EE); + gradient-15: linear-gradient(0, #1D976C, #93F9B9); + gradient-16: linear-gradient(0, #232526, #414345); + gradient-17: linear-gradient(0, #833ab4, #fd1d1d, #fcb045); + gradient-18: linear-gradient(0, #667db6, #0082c8, #0082c8, #667db6); + gradient-19: linear-gradient(0, #03001e, #7303c0, #ec38bc, #fdeff9); + gradient-20: linear-gradient(0, #780206, #061161); + + background-window: var(gradient-6); + background-normal: white/10%; + background-selected: white/20%; + foreground-normal: white; + foreground-selected: white; +} + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: true; + cursor: "default"; + background-image: var(background-window); +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: var(mainbox-spacing); + margin: var(mainbox-margin); + background-color: transparent; + children: [ "dummy", "userimage", "inputbar", "listview", "message", "dummy" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 400px; + border: 2px; + border-radius: 100%; + border-color: white; + background-color: transparent; + background-image: url("~/.config/rofi/images/user.jpeg", both); +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + background-color: transparent; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + enabled: true; + font: var(prompt-font); + background-color: transparent; + text-color: var(foreground-normal); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: var(message-margin); + padding: var(message-padding); + border-radius: var(message-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); +} +textbox { + font: var(textbox-font); + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + expand: false; + columns: 5; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: var(listview-spacing); + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: var(element-padding); + border-radius: var(element-border-radius); + background-color: var(background-normal); + text-color: var(foreground-normal); + cursor: pointer; +} +element-text { + font: var(element-text-font); + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(background-selected); + text-color: var(foreground-selected); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-5/powermenu.sh b/home/packages/wayland/rofi-files/powermenu/type-5/powermenu.sh new file mode 100755 index 0000000..561e30c --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-5/powermenu.sh @@ -0,0 +1,117 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-5" +theme='style-1' + +# CMDs +lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`" +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +hibernate='' +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p " $USER@$host" \ + -mesg " Last Login: $lastlogin |  Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ + -theme-str 'mainbox {children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$hibernate\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--hibernate' ]]; then + systemctl hibernate + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $hibernate) + run_cmd --hibernate + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/home/packages/wayland/rofi-files/powermenu/type-5/style-1.rasi b/home/packages/wayland/rofi-files/powermenu/type-5/style-1.rasi new file mode 100644 index 0000000..ed3633c --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-5/style-1.rasi @@ -0,0 +1,147 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + padding: 100px 80px; + background-color: transparent; + background-image: url("~/.config/rofi/images/a.png", width); + children: [ "textbox-prompt-colon", "dummy","prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " System"; + padding: 12px; + border-radius: 12px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 12px; + background-color: @active; + text-color: @background; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border-radius: 12px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-5/style-2.rasi b/home/packages/wayland/rofi-files/powermenu/type-5/style-2.rasi new file mode 100644 index 0000000..ae737ca --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-5/style-2.rasi @@ -0,0 +1,147 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #2D1B14; + background-alt: #462D23; + foreground: #FFFFFF; + selected: #E25F3E; + active: #716251; + urgent: #934A1C; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + padding: 100px 80px; + background-color: transparent; + background-image: url("~/.config/rofi/images/d.png", width); + children: [ "textbox-prompt-colon", "dummy","prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " System"; + padding: 12px; + border-radius: 100%; + background-color: @urgent; + text-color: @foreground; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 100%; + background-color: @active; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 28px 10px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px 15px 15px 15px; + padding: 15px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-5/style-3.rasi b/home/packages/wayland/rofi-files/powermenu/type-5/style-3.rasi new file mode 100644 index 0000000..6f80ee1 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-5/style-3.rasi @@ -0,0 +1,147 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #231419; + background-alt: #2D1E23; + foreground: #FFFFFF; + selected: #426647; + active: #2E3F34; + urgent: #D08261; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 550px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + padding: 100px 40px; + background-color: transparent; + background-image: url("~/.config/rofi/images/e.jpg", width); + children: [ "textbox-prompt-colon", "dummy","prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " System"; + padding: 12px; + border-radius: 5px; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 12px; + border-radius: 5px; + background-color: @active; + text-color: @foreground; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 15px; + margin: 15px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 30px 10px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-5/style-4.rasi b/home/packages/wayland/rofi-files/powermenu/type-5/style-4.rasi new file mode 100644 index 0000000..247693a --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-5/style-4.rasi @@ -0,0 +1,153 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #131D1F; + background-alt: #183A43; + foreground: #FFFFFF; + selected: #649094; + active: #E9CC9D; + urgent: #FEA861; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 0px; + padding: 150px 40px; + background-color: transparent; + background-image: url("~/.config/rofi/images/i.jpg", width); + children: [ "textbox-prompt-colon", "dummy","prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " System"; + padding: 15px; + border: 0px 5px 5px 0px; + border-radius: 15px 5px 15px 5px; + border-color: @selected; + background-color: @urgent; + text-color: @background; +} +prompt { + enabled: true; + padding: 15px; + border: 0px 0px 5px 5px; + border-radius: 5px 15px 5px 15px; + border-color: @selected; + background-color: @active; + text-color: @background; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 25px; + margin: 25px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 40px 10px; + border-radius: 15px 30px 15px 30px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + border: 0px 0px 5px 5px; + border-color: @urgent; + background-color: var(background-alt); + text-color: var(urgent); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-5/style-5.rasi b/home/packages/wayland/rofi-files/powermenu/type-5/style-5.rasi new file mode 100644 index 0000000..4492512 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-5/style-5.rasi @@ -0,0 +1,151 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 20px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview", "message" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 20px; + padding: 100px 40px; + background-color: transparent; + background-image: url("~/.config/rofi/images/j.jpg", width); + children: [ "textbox-prompt-colon", "prompt"]; +} + +dummy { + background-color: transparent; +} + +textbox-prompt-colon { + enabled: true; + expand: false; + str: " System"; + padding: 15px; + border: 0px 0px 0px 10px; + border-radius: 100% 100% 0px 100%; + border-color: @selected; + background-color: @urgent; + text-color: @foreground; +} +prompt { + enabled: true; + padding: 15px; + border: 0px; + border-radius: 0px 100% 100% 100%; + border-color: @selected; + background-color: @active; + text-color: @background; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 6; + lines: 1; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + margin: 30px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 35px 10px; + border-radius: 55px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-6/powermenu.sh b/home/packages/wayland/rofi-files/powermenu/type-6/powermenu.sh new file mode 100755 index 0000000..ad93faf --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-6/powermenu.sh @@ -0,0 +1,117 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu +# +## Available Styles +# +## style-1 style-2 style-3 style-4 style-5 + +# Current Theme +dir="$HOME/.config/rofi/powermenu/type-6" +theme='style-1' + +# CMDs +lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`" +uptime="`uptime -p | sed -e 's/up //g'`" +host=`hostname` + +# Options +hibernate='' +shutdown='' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p " $USER@$host" \ + -mesg " Uptime: $uptime" \ + -theme ${dir}/${theme}.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ + -theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ${dir}/${theme}.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$hibernate\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--hibernate' ]]; then + systemctl hibernate + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $hibernate) + run_cmd --hibernate + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/home/packages/wayland/rofi-files/powermenu/type-6/style-1.rasi b/home/packages/wayland/rofi-files/powermenu/type-6/style-1.rasi new file mode 100644 index 0000000..2af8289 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-6/style-1.rasi @@ -0,0 +1,147 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 15px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + spacing: 30px; + padding: 30px; + background-color: transparent; + background-image: url("~/.config/rofi/images/a.png", height); + children: [ "inputbar", "dummy", "message" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 0px; + border: 10px; + border-radius: 10px; + border-color: @background-alt; + background-color: transparent; + background-image: url("~/.config/rofi/images/a.png", height); +} + +/*****----- Inputbar -----*****/ +inputbar { + padding: 15px; + border-radius: 10px; + background-color: @urgent; + text-color: @foreground; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + background-color: inherit; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 10px; + background-color: @active; + text-color: @background; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + margin: 30px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 40px 10px; + border-radius: 10px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-6/style-2.rasi b/home/packages/wayland/rofi-files/powermenu/type-6/style-2.rasi new file mode 100644 index 0000000..f437590 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-6/style-2.rasi @@ -0,0 +1,147 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #2D1B14; + background-alt: #462D23; + foreground: #FFFFFF; + selected: #E25F3E; + active: #716251; + urgent: #934A1C; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 1000px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 24px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + spacing: 20px; + padding: 20px; + background-color: transparent; + background-image: url("~/.config/rofi/images/d.png", height); + children: [ "inputbar", "dummy", "message" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 0px; + border: 10px; + border-radius: 10px; + border-color: @background-alt; + background-color: transparent; + background-image: url("~/.config/rofi/images/d.png", height); +} + +/*****----- Inputbar -----*****/ +inputbar { + padding: 15px; + border-radius: 100%; + background-color: @urgent; + text-color: @foreground; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + background-color: inherit; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 100%; + background-color: @active; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 20px; + margin: 20px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 40px 10px; + border-radius: 100%; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-6/style-3.rasi b/home/packages/wayland/rofi-files/powermenu/type-6/style-3.rasi new file mode 100644 index 0000000..c03a032 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-6/style-3.rasi @@ -0,0 +1,147 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #231419; + background-alt: #2D1E23; + foreground: #FFFFFF; + selected: #426647; + active: #2E3F34; + urgent: #D08261; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 10px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + spacing: 0px; + padding: 30px; + background-color: transparent; + background-image: url("~/.config/rofi/images/e.jpg", width); + children: [ "inputbar", "dummy", "message" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 0px; + border: 10px; + border-radius: 10px; + border-color: @background-alt; + background-color: transparent; + background-image: url("~/.config/rofi/images/e.jpg", height); +} + +/*****----- Inputbar -----*****/ +inputbar { + padding: 15px; + border-radius: 10px; + background-color: @urgent; + text-color: @background; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + background-color: inherit; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 15px; + border-radius: 10px; + background-color: @active; + text-color: @foreground; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 3; + lines: 2; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + margin: 30px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 18px 10px; + border-radius: 20px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-6/style-4.rasi b/home/packages/wayland/rofi-files/powermenu/type-6/style-4.rasi new file mode 100644 index 0000000..89978d1 --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-6/style-4.rasi @@ -0,0 +1,149 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #131D1F; + background-alt: #183A43; + foreground: #FFFFFF; + selected: #649094; + active: #E9CC9D; + urgent: #FEA861; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + background-color: transparent; + orientation: horizontal; + children: [ "imagebox", "listview" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + expand: false; + width: 640px; + spacing: 0px; + padding: 100px; + background-color: transparent; + background-image: url("~/.config/rofi/images/i.jpg", height); + children: [ "inputbar", "dummy", "message" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 0px; + border: 10px; + border-radius: 0px; + border-color: @background-alt; + background-color: transparent; + background-image: url("~/.config/rofi/images/i.jpg", height); +} + +/*****----- Inputbar -----*****/ +inputbar { + padding: 20px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + background-color: inherit; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 20px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + margin: 30px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 20px 10px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/powermenu/type-6/style-5.rasi b/home/packages/wayland/rofi-files/powermenu/type-6/style-5.rasi new file mode 100644 index 0000000..ad5525a --- /dev/null +++ b/home/packages/wayland/rofi-files/powermenu/type-6/style-5.rasi @@ -0,0 +1,149 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + show-icons: false; +} + +/*****----- Global Properties -----*****/ +* { + font: "JetBrains Mono Nerd Font 10"; + background: #11092D; + background-alt: #281657; + foreground: #FFFFFF; + selected: #DF5296; + active: #6E77FF; + urgent: #8E3596; +} + +/* +USE_BUTTONS=YES +*/ + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 800px; + x-offset: 0px; + y-offset: 0px; + + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + cursor: "default"; + background-color: @background; +} + +/*****----- Main Box -----*****/ +mainbox { + background-color: transparent; + orientation: horizontal; + children: [ "listview", "imagebox" ]; +} + +/*****----- Imagebox -----*****/ +imagebox { + expand: false; + width: 500px; + spacing: 0px; + padding: 100px; + background-color: transparent; + background-image: url("~/.config/rofi/images/j.jpg", height); + children: [ "inputbar", "dummy", "message" ]; +} + +/*****----- User -----*****/ +userimage { + margin: 0px 0px; + border: 10px; + border-radius: 0px; + border-color: @background-alt; + background-color: transparent; + background-image: url("~/.config/rofi/images/j.jpg", height); +} + +/*****----- Inputbar -----*****/ +inputbar { + padding: 20px; + border-radius: 0px; + background-color: @urgent; + text-color: @background; + children: [ "dummy", "prompt", "dummy"]; +} + +dummy { + background-color: transparent; +} + +prompt { + background-color: inherit; + text-color: inherit; +} + +/*****----- Message -----*****/ +message { + enabled: true; + margin: 0px; + padding: 20px; + border-radius: 0px; + background-color: @active; + text-color: @background; +} +textbox { + background-color: inherit; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 2; + lines: 3; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 30px; + margin: 30px; + background-color: transparent; + cursor: "default"; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + padding: 20px 10px; + border-radius: 0px; + background-color: @background-alt; + text-color: @foreground; + cursor: pointer; +} +element-text { + font: "feather bold 32"; + background-color: transparent; + text-color: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.5; +} +element selected.normal { + background-color: var(selected); + text-color: var(background); +} diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t1 b/home/packages/wayland/rofi-files/scripts/launcher_t1 new file mode 120000 index 0000000..9a28f03 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t1 @@ -0,0 +1 @@ +../launchers/type-1/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t2 b/home/packages/wayland/rofi-files/scripts/launcher_t2 new file mode 120000 index 0000000..4574d1d --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t2 @@ -0,0 +1 @@ +../launchers/type-2/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t3 b/home/packages/wayland/rofi-files/scripts/launcher_t3 new file mode 120000 index 0000000..e1c334c --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t3 @@ -0,0 +1 @@ +../launchers/type-3/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t4 b/home/packages/wayland/rofi-files/scripts/launcher_t4 new file mode 120000 index 0000000..e6cb56e --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t4 @@ -0,0 +1 @@ +../launchers/type-4/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t5 b/home/packages/wayland/rofi-files/scripts/launcher_t5 new file mode 120000 index 0000000..fc78e94 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t5 @@ -0,0 +1 @@ +../launchers/type-5/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t6 b/home/packages/wayland/rofi-files/scripts/launcher_t6 new file mode 120000 index 0000000..3b8d494 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t6 @@ -0,0 +1 @@ +../launchers/type-6/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/launcher_t7 b/home/packages/wayland/rofi-files/scripts/launcher_t7 new file mode 120000 index 0000000..dde37fe --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/launcher_t7 @@ -0,0 +1 @@ +../launchers/type-7/launcher.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/powermenu_t1 b/home/packages/wayland/rofi-files/scripts/powermenu_t1 new file mode 120000 index 0000000..9d864f6 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/powermenu_t1 @@ -0,0 +1 @@ +../powermenu/type-1/powermenu.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/powermenu_t2 b/home/packages/wayland/rofi-files/scripts/powermenu_t2 new file mode 120000 index 0000000..2833c51 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/powermenu_t2 @@ -0,0 +1 @@ +../powermenu/type-2/powermenu.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/powermenu_t3 b/home/packages/wayland/rofi-files/scripts/powermenu_t3 new file mode 120000 index 0000000..4386fa2 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/powermenu_t3 @@ -0,0 +1 @@ +../powermenu/type-3/powermenu.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/powermenu_t4 b/home/packages/wayland/rofi-files/scripts/powermenu_t4 new file mode 120000 index 0000000..e3e1703 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/powermenu_t4 @@ -0,0 +1 @@ +../powermenu/type-4/powermenu.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/powermenu_t5 b/home/packages/wayland/rofi-files/scripts/powermenu_t5 new file mode 120000 index 0000000..a20c500 --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/powermenu_t5 @@ -0,0 +1 @@ +../powermenu/type-5/powermenu.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-files/scripts/powermenu_t6 b/home/packages/wayland/rofi-files/scripts/powermenu_t6 new file mode 120000 index 0000000..3be8c2a --- /dev/null +++ b/home/packages/wayland/rofi-files/scripts/powermenu_t6 @@ -0,0 +1 @@ +../powermenu/type-6/powermenu.sh \ No newline at end of file diff --git a/home/packages/wayland/rofi-powermenu.nix b/home/packages/wayland/rofi-powermenu.nix new file mode 100644 index 0000000..787649b --- /dev/null +++ b/home/packages/wayland/rofi-powermenu.nix @@ -0,0 +1,85 @@ +{pkgs, ...}: +let + powermenu-script = pkgs.writeScriptBin "rofi-powermenu" '' + #!/usr/bin/env bash + + dir="$HOME/.config/rofi/powermenu/type-3" + theme='style-2' + + uptime="$(uptime -p | sed -e 's/up //g')" + host=$(hostnamectl hostname) + + shutdown='⛈' + reboot='⏻lock' + suspend' + lock='='sleep' + logout='log out' + yes='yes' + no='no' + + rofi_cmd() { + rofi -dmenu \ + -p "Uptime: $uptime" \ + -mesg "Uptime: $uptime" \ + -theme $dir/$theme.rasi + } + + confirm_cmd() { + rofi -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme $dir/shared/confirm.rasi + } + + confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd + } + + run_rofi() { + echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd + } + + run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--suspend' ]]; then + mpc -q pause + amixer set Master mute + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'niri' ]]; then + niri msg quit + fi + fi + else + exit 0 + fi + } + + chosen="$(run_rofi)" + case $chosen in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $lock) + qs -c noctalia ipc call lockScreen lock + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; + esac + ''; +in +{ + users.users.someone.packages = [pkgs.rofi powermenu-script pkgs.nerd-fonts.sauce-code-pro]; +} diff --git a/home/services/default.nix b/home/services/default.nix new file mode 100644 index 0000000..822e526 --- /dev/null +++ b/home/services/default.nix @@ -0,0 +1,6 @@ +{inputs, ...}: { + imports = [ + (inputs.import-tree ./system) + (inputs.import-tree ./wayland) + ]; +} diff --git a/home/services/system/cliphist.nix b/home/services/system/cliphist.nix new file mode 100644 index 0000000..4c677fb --- /dev/null +++ b/home/services/system/cliphist.nix @@ -0,0 +1,33 @@ +{ + config, + pkgs, + ... +}: let + configFile = "cliphist/cliphistrc"; +in { + users.users.someone.packages = with pkgs; [ + cliphist + wl-clipboard + ]; + + systemd.user.services.cliphist = { + description = "Clipboard management daemon"; + wantedBy = ["graphical-session.target"]; + after = ["graphical-session.target"]; + partOf = ["graphical-session.target"]; + + serviceConfig = { + ExecStart = "${pkgs.wl-clipboard}/bin/wl-paste --watch ${pkgs.cliphist}/bin/cliphist -max-dedupe-search 10 -max-items 500 store"; + Restart = "on-failure"; + Type = "simple"; + }; + + path = [pkgs.cliphist pkgs.wl-clipboard]; + }; + + xdg.configFile."${configFile}".text = '' + allow_images=true + max_entries=500 + database=${config.xdg.dataHome}/cliphist/db + ''; +} diff --git a/home/services/system/gpg-agent.nix b/home/services/system/gpg-agent.nix new file mode 100644 index 0000000..cbe47eb --- /dev/null +++ b/home/services/system/gpg-agent.nix @@ -0,0 +1,18 @@ +{ + config, + pkgs, + ... +}: { + systemd.user.services.gpg-agent = { + description = "GnuPG cryptographic agent and passphrase cache"; + documentation = ["man:gpg-agent(1)"]; + wantedBy = ["default.target"]; + + serviceConfig = { + Environment = "GNUPGHOME=${config.xdg.configHome}/gnupg"; + ExecStart = "${pkgs.gnupg}/bin/gpg-agent --supervised"; + ExecReload = "${pkgs.gnupg}/bin/gpgconf --reload gpg-agent"; + Type = "simple"; + }; + }; +} diff --git a/home/services/system/polkit-agent.nix b/home/services/system/polkit-agent.nix new file mode 100644 index 0000000..58a363c --- /dev/null +++ b/home/services/system/polkit-agent.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + polkit_gnome + ]; + + systemd.user.services.polkit-gnome = { + description = "GNOME PolicyKit Agent"; + wantedBy = ["graphical-session.target"]; + after = ["graphical-session.target"]; + partOf = ["graphical-session.target"]; + + serviceConfig = { + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + }; + }; +} diff --git a/home/services/wayland/ashell.nix b/home/services/wayland/ashell.nix new file mode 100644 index 0000000..72ca0cd --- /dev/null +++ b/home/services/wayland/ashell.nix @@ -0,0 +1,46 @@ +{ + config, + pkgs, + lib, + ... +}: { + users.users.someone.packages = [pkgs.ashell]; + + xdg.configFile."ashell/config.toml".text = '' +[modules] +left = [ [ "appLauncher", "Updates", "Workspaces", "ScreenMirror" ], "MediaPlayer" ] +center = [ "WindowTitle" ] +right = [ "SystemInfo", [ "Tray", "Clock", "Privacy", "Settings" ] ] + + +[system_info] +indicators = [ "Cpu", "Memory", "Temperature" ] + +[system_info.cpu] +warn_threshold = 60 +alert_threshold = 80 + +[system_info.memory] +warn_threshold = 70 +alert_threshold = 85 + +[system_info.temperature] +warn_threshold = 60 +alert_threshold = 80 + +[tempo] +clock_format = "%a %d %b %R" +weather_location = { City = "Amsterdam" } + +[appearance] +style = "Islands" + +[[ScreenMirror]] +name = "ScreenMirror" +icon = "" +command = "bash /etc/nixos/scripts/screen-mirror.sh" + + + ''; + +} diff --git a/home/services/wayland/dunst.nix b/home/services/wayland/dunst.nix new file mode 100644 index 0000000..8c54e95 --- /dev/null +++ b/home/services/wayland/dunst.nix @@ -0,0 +1,54 @@ +{ + config, + pkgs, + lib, + ... +}: { + users.users.someone.packages = [pkgs.dunst]; + + xdg.configFile."dunst/dunstrc".text = '' + [global] + width = 300 + height = 100 + offset = 10x10 + origin = top-right + frame_width = 0 + frame_color = "#1f1d2e" + separator_color = "#313244" + font = "Source Code Pro 10" + line_height = 4 + icon_position = left + max_icon_size = 48 + min_icon_size = 24 + show_age_threshold = 60 + word_wrap = yes + ellipsize = middle + ignore_newline = no + stack_duplicates = true + hide_duplicate_count = false + show_indicators = yes + enable_recursive_icon_lookup = true + always_merge_stack_duplicates = false + icon_theme = "Papirus-Dark" + corner_radius = 8 + scale = 1 + monitor = 0 + sort = yes + notification_limit = 0 + + [urgency_low] + background = "#1f1d2e" + foreground = "#cdd6f4" + frame_color = "#89b4fa" + + [urgency_normal] + background = "#1f1d2e" + foreground = "#cdd6f4" + frame_color = "#89b4fa" + + [urgency_critical] + background = "#1f1d2e" + foreground = "#f38ba8" + frame_color = "#f38ba8" + ''; +} diff --git a/home/services/wayland/gammastep.nix b/home/services/wayland/gammastep.nix new file mode 100644 index 0000000..13e8638 --- /dev/null +++ b/home/services/wayland/gammastep.nix @@ -0,0 +1,47 @@ +{ + config, + pkgs, + ... +}: let + configFile = "gammastep/config.ini"; + toINI = (pkgs.formats.ini {}).generate; +in { + users.users.someone.packages = with pkgs; [ + (gammastep.override { + withRandr = false; + withDrm = false; + withVidmode = false; + withAppIndicator = false; + }) + ]; + + systemd.user.services.gammastep = { + description = "Gammastep colour temperature adjuster"; + documentation = ["https://gitlab.com/chinstrap/gammastep/"]; + wantedBy = ["graphical-session.target"]; + after = ["graphical-session.target"]; + partOf = ["graphical-session.target"]; + + serviceConfig = { + ExecStart = "${pkgs.gammastep}/bin/gammastep -c ${config.xdg.configHome}/${configFile}"; + Restart = "on-failure"; + RestartSec = "3"; + }; + }; + + xdg.configFile."${configFile}".source = toINI "config.ini" { + manual = { + lat = "-34.58"; + lon = "-58.64"; + }; + + general = { + brightness-day = "1.0"; + brightness-night = "0.5"; + adjustment-method = "wayland"; + location-provider = "manual"; + temp-day = "5500"; + temp-night = "3500"; + }; + }; +} diff --git a/home/services/wayland/walker.nix b/home/services/wayland/walker.nix new file mode 100644 index 0000000..107db27 --- /dev/null +++ b/home/services/wayland/walker.nix @@ -0,0 +1,42 @@ +{ + config, + pkgs, + lib, + ... +}: { + users.users.someone.packages = [pkgs.walker pkgs.elephant]; + + xdg.configFile."walker/config.toml".text = '' + [keys] + launcher = "Mod+Space" + + [keys.quit] + quit = "Mod+Shift+Q" + reload = "Mod+Shift+R" + + [look] + all_monitors = true + background = "#1f1d2e" + foreground = "#cdd6f4" + selection = "#45475a" + active = "#89b4fa" + urgent = "#f38ba8" + alt_background = "#181825" + icon_theme = "Papirus-Dark" + terminal = "alacritty" + + [look.font] + name = "Source Code Pro" + size = 14 + ''; + + systemd.user.services.elephant = { + wantedBy = ["graphical-session.target"]; + after = ["graphical-session.target"]; + serviceConfig = { + ExecStart = "${pkgs.elephant}/bin/elephant"; + Restart = "on-failure"; + Type = "simple"; + }; + }; +} diff --git a/home/terminal/default.nix b/home/terminal/default.nix new file mode 100644 index 0000000..4dd47cc --- /dev/null +++ b/home/terminal/default.nix @@ -0,0 +1,22 @@ +{ + config, + inputs, + ... +}: { + imports = [ + (inputs.import-tree ./emulators) + (inputs.import-tree ./shell) + (inputs.import-tree ./software) + ]; + environment.sessionVariables = { + LESSHISTFILE = "${config.xdg.cacheHome}/less/history"; + LESKEY = "${config.xdg.configHome}/less/lesskey"; + XAUTHORITY = "${config.xdg.runtimeDir}/Xauthority"; + + EDITOR = "nvim"; + DIRENV_LOG_FORMAT = ""; + + # auto-run programs using nix-index-database + NIX_AUTO_RUN = "1"; + }; +} diff --git a/home/terminal/emulators/alacritty.nix b/home/terminal/emulators/alacritty.nix new file mode 100644 index 0000000..d1afac0 --- /dev/null +++ b/home/terminal/emulators/alacritty.nix @@ -0,0 +1,64 @@ +{ + pkgs, + lib, + ... +}: let + alacritty-wrapped = pkgs.writeShellScriptBin "alacritty-wayland" '' + export WAYLAND_DISPLAY="wayland-1" + export XDG_CURRENT_DESKTOP="Niri" + export XDG_SESSION_TYPE="wayland" + exec ${pkgs.alacritty}/bin/alacritty "$@" + ''; +in { + users.users.someone.packages = with pkgs; [ + alacritty + alacritty-wrapped + ]; + + xdg.configFile."alacritty/alacritty.toml".text = '' + [colors.bright] + black = "0x928374" + blue = "0x7daea3" + cyan = "0x89b482" + green = "0xa9b665" + magenta = "0xd3869b" + red = "0xea6962" + white = "0xdfbf8e" + yellow = "0xe3a84e" + + [colors.normal] + black = "0x665c54" + blue = "0x7daea3" + cyan = "0x89b482" + green = "0xa9b665" + magenta = "0xd3869b" + red = "0xea6962" + white = "0xdfbf8e" + yellow = "0xe78a4e" + + [colors.primary] + background = "0x1f0d00" + foreground = "0xdfbf8e" + + [env] + EDITOR = "nvim" + XDG_CURRENT_DESKTOP = "Niri" + XDG_SESSION_TYPE = "wayland" + + [font] + size = 13 + + [font.normal] + family = "SauceCodePro Nerd Font" + + [window] + decorations = "full" + opacity = 1.0 + + [terminal.shell] + program = "fish" + + [scrolling] + history = 5000 + ''; +} diff --git a/home/terminal/shell/carapace.nix b/home/terminal/shell/carapace.nix new file mode 100644 index 0000000..e689af8 --- /dev/null +++ b/home/terminal/shell/carapace.nix @@ -0,0 +1,27 @@ +{ + config, + pkgs, + ... +}: { + users.users.someone.packages = with pkgs; [ + carapace + carapace-bridge + zsh + bash + inshellisense + ]; + + environment.sessionVariables = { + CARAPACE_BRIDGES = "fish,zsh,bash,inshellisense"; + CARAPACE_CACHE_DIR = "${config.xdg.cacheHome}/carapace"; + }; + + xdg.configFile."carapace/carapace.toml".text = '' + [integrations.fish] + enabled = true + ''; + + xdg.configFile."fish/completions/carapace.fish".source = pkgs.runCommand "carapace-fish-init" {} '' + ${pkgs.carapace}/bin/carapace _carapace fish > $out + ''; +} diff --git a/home/terminal/shell/fish.nix b/home/terminal/shell/fish.nix new file mode 100644 index 0000000..1792f7b --- /dev/null +++ b/home/terminal/shell/fish.nix @@ -0,0 +1,216 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + fish + grc + (writeShellScriptBin "hx" '' + ${pkgs.helix}/bin/hx "$@" + '') + ]; + xdg.configFile = { + "fish/config.fish" = { + text = '' + for secret in discordo openrouter github twt gemini context7 exa + if test -f /run/agenix/$secret + set -l val (cat /run/agenix/$secret) + set -l up (string upper $secret) + switch $secret + case discordo + set -gx DISCORDO_TOKEN $val + set -gx OXICORD_TOKEN $val + case openrouter gemini context7 exa + set -gx "$up"_API_KEY $val + case '*' + set -gx "$up"_TOKEN $val + end + end + end + set -gx GNUPGHOME $HOME/.config/gnupg + set -gx NIXPKGS_ALLOW_UNFREE 1 + set -gx NIXPKGS_ALLOW_INSECURE 1 + set -gx EDITOR nvim + set -gx VISUAL nvim + set -g fish_greeting + # Vi keybindings + fish_vi_key_bindings + # Custom key bindings function (REQUIRED to properly unbind keys) + function fish_user_key_bindings + # Custom bindings + for mode in insert default + bind -M $mode ctrl-backspace backward-kill-word + bind -M $mode ctrl-z undo + bind -M $mode ctrl-b beginning-of-line + bind -M $mode ctrl-e end-of-line + end + bind -M insert \cx\ce edit_command_buffer + bind -M default \cx\ce edit_command_buffer + # History search with prefix (like nushell) + bind -M insert up history-prefix-search-backward + bind -M insert down history-prefix-search-forward + bind -M default up history-prefix-search-backward + bind -M default down history-prefix-search-forward + end + # Cursor shapes per mode + set fish_cursor_default block + set fish_cursor_insert line + set fish_cursor_replace_one underscore + set fish_cursor_visual block + # Syntax colors + set -g fish_color_autosuggestion brblack + set -g fish_color_command blue + set -g fish_color_error red + set -g fish_color_param normal + # Search highlight + set -g fish_color_search_match --background=normal + # Plugin settings + set -Ux fifc_editor nvim + set -U fifc_keybinding \cv + set -g __done_min_cmd_duration 10000 + ''; + }; + "fish/functions/extract.fish" = { + text = '' + function extract + if test -f "$argv[1]" + set file "$argv[1]" + set filename (basename "$file") + set dirname (string replace -r '\.tar\.bz2$|\.tar\.gz$|\.tbz2$|\.tgz$|\.tar$|\.bz2$|\.gz$|\.zip$|\.Z$|\.7z$|\.xz$|\.rar$' "" "$filename") + mkdir -p "$dirname" + switch $file + case "*.tar.bz2" + tar xjf "$file" -C "$dirname" + case "*.tar.gz" + tar xzf "$file" -C "$dirname" + case "*.tbz2" + tar xjf "$file" -C "$dirname" + case "*.tgz" + tar xzf "$file" -C "$dirname" + case "*.tar" + tar xf "$file" -C "$dirname" + case "*.bz2" + bunzip2 -c "$file" >"$dirname/$dirname" + case "*.gz" + gunzip -c "$file" >"$dirname/$dirname" + case "*.zip" + unzip "$file" -d "$dirname" + case "*.Z" + uncompress -c "$file" >"$dirname/$dirname" + case "*.7z" + 7z x "$file" -o"$dirname" + case "*.xz" + xz -dc "$file" >"$dirname/$dirname" + case "*.rar" + unrar x "$file" "$dirname" + case "*" + echo "'$file' cannot be extracted via extract()" + end + else + echo "'$argv[1]' is not a valid file" + end + end + ''; +}; + "fish/functions/weather.fish" = { + text = '' + function weather + if test "$argv[1]" = week + wthrr -f w $argv[2] + else if test -z "$argv[1]" + wthrr -f d + wthrr -f t + else + wthrr -f d $argv[1] + wthrr -f t $argv[1] + end +end + ''; +}; + "fish/functions/fcd.fish" = { + text = '' + function fcd + set -l dir (fd --type d | sk | string trim) + if test -n "$dir" + z $dir + end + end + ''; + }; + "fish/functions/installed.fish" = { + text = '' + function installed + nix-store --query --requisites /run/current-system/ | string replace -r '.*?-(.*)' '$1' | sort | uniq | sk + end + ''; + }; + "fish/functions/installedall.fish" = { + text = '' + function installedall + nix-store --query --requisites /run/current-system/ | sk | wl-copy + end + ''; + }; + "fish/functions/fm.fish" = { + text = '' + function fm + set -l tmp (mktemp -t "yazi-cwd.XXXXX") + yazi $argv --cwd-file $tmp + set -l cwd (cat $tmp) + if test -n "$cwd" -a "$cwd" != "$PWD" + cd $cwd + end + rm -f $tmp + end + ''; + }; + "fish/functions/gitgrep.fish" = { + text = '' + function gitgrep + git ls-files | rg $argv + end + ''; + }; + "fish/conf.d/aliases.fish" = { + text = '' + alias cleanup="sudo nix-collect-garbage --delete-older-than 1d" + alias listgen="sudo nix-env -p /nix/var/nix/profiles/system --list-generations" + alias nixremove="nix-store --gc" + alias bloat="nix path-info -Sh /run/current-system" + alias cleanram="sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'" + alias trimall="sudo fstrim -va" + alias c="clear" + alias test-build="sudo nixos-rebuild test --flake /etc/nixos#aesthetic" + alias switch-build="sudo nixos-rebuild switch --flake /etc/nixos#aesthetic" + alias add="git add ." + alias commit="git commit" + alias push="git push" + alias pull="git pull" + alias diff="git diff --staged" + alias gcld="git clone --depth 1" + alias koji="meteor" + alias gitui="lazygit" + alias ls="eza -lah --grid -s modified --smart-group --group-directories-first --icons" + alias l="eza -ah --grid -s modified --smart-group --group-directories-first --icons" + alias tree="eza --tree --icons --tree" + alias cat="${pkgs.bat}/bin/bat --paging=never --theme gruvbox-dark" + alias us="systemctl --user" + alias rs="sudo systemctl" + alias zed="zeditor" + alias nl="nl -ba" + alias cp="cp -riv" + alias mv="mv -iv" + alias mkdir="mkdir -pv" + alias less="bat -p --theme gruvbox-dark" + alias myip="curl ip.severijnse.eu" + alias pscpu="ps -eo pid,ppid,cmd,%mem,%cpu,etime --sort=-%cpu | head -n 21" + alias psmem="ps -eo pid,ppid,cmd,%mem,%cpu,etime --sort=-%mem | head -n 21" + alias weer="weather" + alias v="nvim" + alias copy="wl-copy" + alias send="croc" + alias img="loupe" + alias cat-md="glow" + alias du="dust" + alias df="duf" + ''; + }; + }; +} diff --git a/home/terminal/shell/starship.nix b/home/terminal/shell/starship.nix new file mode 100644 index 0000000..080e5f9 --- /dev/null +++ b/home/terminal/shell/starship.nix @@ -0,0 +1,143 @@ +{ config, pkgs, ... }: + +let + configFile = "starship/starship.toml"; + toTOML = (pkgs.formats.toml {}).generate; +in +{ + environment.sessionVariables = { + STARSHIP_CONFIG = "${config.xdg.configHome}/${configFile}"; + STARSHIP_LOG = "error"; + }; + + users.users.someone.packages = [ pkgs.starship ]; + + xdg.configFile = { + "${configFile}".source = toTOML "starship.toml" { + + "$schema" = "https://starship.rs/config-schema.json"; + + add_newline = true; + scan_timeout = 5; + command_timeout = 500; + + # IMPORTANT: no trailing backslashes + format = "[](color_orange)$os$username[](bg:color_yellow fg:color_orange)$directory[](fg:color_yellow bg:color_aqua)$git_branch$git_status[](fg:color_aqua bg:color_blue)$c$cpp$rust$golang$nodejs$php$java$kotlin$haskell$python[](fg:color_blue bg:color_bg3)$docker_context$conda$pixi[](fg:color_bg3 bg:color_bg1)$time[ ](fg:color_bg1)$line_break$character"; + + palette = "gruvbox_dark"; + + palettes.gruvbox_dark = { + color_fg0 = "#fbf1c7"; + color_bg1 = "#3c3836"; + color_bg3 = "#665c54"; + color_blue = "#458588"; + color_aqua = "#689d6a"; + color_green = "#98971a"; + color_orange = "#d65d0e"; + color_purple = "#b16286"; + color_red = "#cc241d"; + color_yellow = "#d79921"; + }; + + os = { + disabled = false; + style = "bg:color_orange fg:color_fg0"; + symbols = { + Windows = "󰍲"; + Ubuntu = "󰕈"; + SUSE = ""; + Raspbian = "󰐿"; + Mint = "󰣭"; + Macos = "󰀵"; + Manjaro = ""; + Linux = "󰌽"; + Gentoo = "󰣨"; + Fedora = "󰣛"; + Alpine = ""; + Amazon = ""; + Android = ""; + AOSC = ""; + Arch = "󰣇"; + Artix = "󰣇"; + EndeavourOS = ""; + CentOS = ""; + Debian = "󰣚"; + Redhat = "󱄛"; + RedHatEnterprise = "󱄛"; + Pop = ""; + }; + }; + + username = { + show_always = true; + style_user = "bg:color_orange fg:color_fg0"; + style_root = "bg:color_orange fg:color_fg0"; + format = "[ $user ]($style)"; + }; + + directory = { + style = "fg:color_fg0 bg:color_yellow"; + format = "[ $path ]($style)"; + truncation_length = 3; + truncation_symbol = "…/"; + substitutions = { + Documents = "󰈙 "; + Downloads = " "; + Music = "󰝚 "; + Pictures = " "; + Developer = "󰲋 "; + }; + }; + + git_branch = { + symbol = ""; + style = "bg:color_aqua"; + format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)"; + }; + + git_status = { + style = "bg:color_aqua"; + format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)"; + }; + + nodejs.symbol = ""; + c.symbol = " "; + cpp.symbol = " "; + rust.symbol = ""; + golang.symbol = ""; + php.symbol = ""; + java.symbol = ""; + kotlin.symbol = ""; + haskell.symbol = ""; + python.symbol = ""; + + docker_context.symbol = ""; + + time = { + disabled = false; + time_format = "%R"; + style = "bg:color_bg1"; + format = "[[  $time ](fg:color_fg0 bg:color_bg1)]($style)"; + }; + + line_break.disabled = false; + + character = { + disabled = false; + success_symbol = "[](bold fg:color_green)"; + error_symbol = "[](bold fg:color_red)"; + vimcmd_symbol = "[](bold fg:color_green)"; + vimcmd_replace_one_symbol = "[](bold fg:color_purple)"; + vimcmd_replace_symbol = "[](bold fg:color_purple)"; + vimcmd_visual_symbol = "[](bold fg:color_yellow)"; + }; + }; + + "fish/conf.d/starship.fish".text = '' + starship init fish | source + ''; + + "fish/completions/starship.fish".source = + "${pkgs.starship}/share/fish/vendor_completions.d/starship.fish"; + }; +} diff --git a/home/terminal/software/atuin.nix b/home/terminal/software/atuin.nix new file mode 100644 index 0000000..f2262d5 --- /dev/null +++ b/home/terminal/software/atuin.nix @@ -0,0 +1,40 @@ +{pkgs, ...}: let + configFile = "atuin/config.toml"; + toTOML = (pkgs.formats.toml {}).generate; +in { + users.users.someone.packages = [ + pkgs.atuin + ]; + + xdg.configFile = { + "${configFile}".source = toTOML "config.toml" { + auto_sync = false; + update_check = false; + workspaces = false; + ctrl_n_shortcuts = true; + dialect = "uk"; + filter_mode = "host"; + search_mode = "skim"; + filter_mode_shell_up_key_binding = "session"; + style = "compact"; + inline_height = 7; + show_help = false; + enter_accept = true; + history_filter = ["shit"]; + keymap_mode = "vim-normal"; + sync = { + records = true; + }; + }; + + "fish/conf.d/atuin.fish".source = + pkgs.runCommand "atuin-fish-init" { + XDG_CONFIG_HOME = "$PWD"; + XDG_DATA_HOME = "$PWD"; + ATUIN_CONFIG_DIR = "$PWD/atuin"; + } '' + mkdir -p atuin + ${pkgs.atuin}/bin/atuin init fish --disable-up-arrow > $out + ''; + }; +} diff --git a/home/terminal/software/autojump.nix b/home/terminal/software/autojump.nix new file mode 100644 index 0000000..d812736 --- /dev/null +++ b/home/terminal/software/autojump.nix @@ -0,0 +1,5 @@ +{pkgs, ...}: { + users.users.someone.packages = [pkgs.autojump]; + + xdg.configFile."fish/conf.d/autojump.fish".source = "${pkgs.autojump}/share/autojump/autojump.fish"; +} diff --git a/home/terminal/software/bat.nix b/home/terminal/software/bat.nix new file mode 100644 index 0000000..23001c2 --- /dev/null +++ b/home/terminal/software/bat.nix @@ -0,0 +1,31 @@ +{ + pkgs, + lib, + ... +}: let + configFile = "bat/config"; + + manPager = pkgs.writeShellScriptBin "manpager" '' + ${pkgs.coreutils}/bin/col -bx | ${pkgs.bat}/bin/bat -l man -p "$@" + ''; +in { + environment.sessionVariables = { + MANPAGER = "${manPager}/bin/manpager"; + MANROFFOPT = "-c"; + }; + + users.users.someone.packages = with pkgs; [ + bat + manPager + ]; + + xdg.configFile."${configFile}".text = + lib.generators.toKeyValue { + mkKeyValue = k: v: "--${lib.escapeShellArg k}=${lib.escapeShellArg v}"; + listsAsDuplicateKeys = true; + } { + pager = "less -FR"; + style = "plain"; + theme = "base16"; + }; +} diff --git a/home/terminal/software/bottom.nix b/home/terminal/software/bottom.nix new file mode 100644 index 0000000..d1252b7 --- /dev/null +++ b/home/terminal/software/bottom.nix @@ -0,0 +1,55 @@ +{pkgs, ...}: let + configFile = "bottom/bottom.toml"; + toTOML = (pkgs.formats.toml {}).generate; + + btopAlias = pkgs.symlinkJoin { + name = "btop"; + paths = [pkgs.bottom]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + rm $out/bin/btop 2>/dev/null || true + makeWrapper ${pkgs.bottom}/bin/btm $out/bin/btop + ''; + }; + + htopAlias = pkgs.symlinkJoin { + name = "htop"; + paths = [pkgs.bottom]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + rm $out/bin/htop 2>/dev/null || true + makeWrapper ${pkgs.bottom}/bin/btm $out/bin/htop \ + --add-flags "-b" + ''; + }; +in { + users.users.someone.packages = with pkgs; [ + bottom + btopAlias + htopAlias + ]; + + xdg.configFile."${configFile}".source = toTOML "bottom.toml" { + enable_gpu = true; + flags.group_processes = true; + row = [ + { + ratio = 2; + child = [ + {type = "cpu";} + {type = "mem";} + ]; + } + { + ratio = 3; + child = [ + { + type = "proc"; + ratio = 1; + default = true; + } + ]; + } + ]; + }; +} diff --git a/home/terminal/software/command-not-found.nix b/home/terminal/software/command-not-found.nix new file mode 100644 index 0000000..675d1ee --- /dev/null +++ b/home/terminal/software/command-not-found.nix @@ -0,0 +1,7 @@ +_: { + xdg.configFile."fish/functions/__fish_command_not_found_handler.fish".text = '' + function __fish_command_not_found_handler --on-event fish_command_not_found + /run/current-system/sw/bin/command-not-found $argv + end + ''; +} diff --git a/home/terminal/software/discordo.nix b/home/terminal/software/discordo.nix new file mode 100644 index 0000000..dced5b0 --- /dev/null +++ b/home/terminal/software/discordo.nix @@ -0,0 +1,131 @@ +{pkgs, ...}: let + configFile = "discordo/config.toml"; + toTOML = (pkgs.formats.toml {}).generate; +in { + users.users.someone.packages = with pkgs; [ + discordo + ]; + + xdg.configFile."${configFile}".source = toTOML "config.toml" { + mouse = false; + editor = "default"; + markdown = true; + hide_blocked_users = true; + show_attachment_links = true; + autocomplete_limit = 20; + messages_limit = 50; + + timestamps = { + enabled = true; + format = "15:04"; + }; + + notifications = { + enabled = true; + duration = 0; + sound = { + enabled = true; + only_on_ping = true; + }; + }; + + identify = { + status = "dnd"; + browser = "default"; + browser_version = "default"; + user_agent = "default"; + }; + + keys = { + focus_guilds_tree = "Ctrl+G"; + focus_messages_list = "Ctrl+T"; + focus_message_input = "Ctrl+P"; + toggle_guilds_tree = "Ctrl+B"; + quit = "Ctrl+C"; + logout = "Ctrl+D"; + + guilds_tree = { + select_previous = "Rune[k]"; + select_next = "Rune[j]"; + select_first = "Rune[g]"; + select_last = "Rune[G]"; + select_current = "Enter"; + yank_id = "Rune[i]"; + collapse_parent_node = "Rune[-]"; + move_to_parent_node = "Rune[p]"; + }; + + messages_list = { + select_previous = "Rune[k]"; + select_next = "Rune[j]"; + select_first = "Rune[g]"; + select_last = "Rune[G]"; + select_reply = "Rune[s]"; + reply = "Rune[r]"; + reply_mention = "Rune[R]"; + cancel = "Esc"; + delete = "Rune[d]"; + open = "Rune[o]"; + yank_content = "Rune[y]"; + yank_url = "Rune[u]"; + yank_id = "Rune[i]"; + }; + + message_input = { + send = "Enter"; + cancel = "Esc"; + tab_complete = "Tab"; + open_editor = "Ctrl+E"; + open_file_picker = "Ctrl+P"; + }; + + mentions_list = { + up = "Up"; + down = "Down"; + }; + }; + + theme = { + title = { + alignment = "left"; + normal_style = {attributes = "dim";}; + active_style = { + foreground = "purple"; + attributes = "bold"; + }; + }; + + border = { + enabled = true; + padding = [0 0 1 1]; + normal_style = {attributes = "dim";}; + active_style = { + foreground = "purple"; + attributes = "bold"; + }; + normal_set = "plain"; + active_set = "plain"; + }; + + guilds_tree = { + auto_expand_folders = false; + graphics = true; + graphics_color = "default"; + }; + + messages_list = { + reply_indicator = ">"; + forwarded_indicator = "<"; + mention_style = {foreground = "blue";}; + emoji_style = {foreground = "green";}; + url_style = {foreground = "blue";}; + attachment_style = {foreground = "yellow";}; + }; + + mentions_list = { + min_width = 20; + max_height = 0; + }; + }; + }; +} diff --git a/home/terminal/software/fum.nix b/home/terminal/software/fum.nix new file mode 100644 index 0000000..3477a13 --- /dev/null +++ b/home/terminal/software/fum.nix @@ -0,0 +1,124 @@ +{pkgs, ...}: let + configFile = "fum/config.jsonc"; +in { + users.users.someone.packages = with pkgs; [ + fum + playerctl + ]; + + xdg.configFile."${configFile}".text = builtins.toJSON { + players = [ + "zen" + "zen-browser" + "mozilla zen" + "helium" + ]; + debug = false; + keybinds = { + "esc;q" = "quit()"; + "h" = "prev()"; + "l" = "next()"; + " " = "play_pause()"; + "-" = "volume(-5)"; + "+" = "volume(+5)"; + "left" = "backward(2500)"; + "right" = "forward(2500)"; + }; + width = 60; + height = 8; + direction = "horizontal"; + layout = [ + { + type = "cover-art"; + width = 20; + height = 20; + } + { + type = "empty"; + size = 4; + } + { + type = "container"; + direction = "vertical"; + children = [ + { + type = "label"; + text = "󰝚 $title"; + fg = "blue"; + } + { + type = "label"; + text = "󰠃 $artists"; + fg = "gray"; + } + { + type = "label"; + text = " $album"; + fg = "gray"; + } + { + type = "container"; + children = []; + } + { + type = "container"; + height = 1; + align = "center"; + flex = "center"; + children = [ + { + type = "button"; + text = "󰒮"; + action = "prev()"; + } + { + type = "empty"; + size = 3; + } + { + type = "button"; + text = "$status-icon"; + action = "play_pause()"; + } + { + type = "empty"; + size = 3; + } + { + type = "button"; + text = "󰒭"; + action = "next()"; + } + ]; + } + { + type = "progress"; + progress = { + char = "━"; + fg = "magenta"; + }; + empty = { + char = "─"; + }; + } + { + type = "container"; + flex = "space-between"; + height = 1; + children = [ + { + type = "button"; + text = "$position"; + } + { + type = "button"; + text = "var($len-style, $length)"; + action = "toggle($len-style, $length, $remaining-length)"; + } + ]; + } + ]; + } + ]; + }; +} diff --git a/home/terminal/software/fzf.nix b/home/terminal/software/fzf.nix new file mode 100644 index 0000000..3a1bb99 --- /dev/null +++ b/home/terminal/software/fzf.nix @@ -0,0 +1,13 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + fzf + ]; + + xdg.configFile = { + "fish/conf.d/fzf.fish".source = "${pkgs.fzf}/share/fzf/key-bindings.fish"; + + "fish/conf.d/fzf-extra.fish".text = '' + set -gx FZF_DEFAULT_OPTS "--reverse --height 40% --border" + ''; + }; +} diff --git a/home/terminal/software/gh.nix b/home/terminal/software/gh.nix new file mode 100644 index 0000000..09bca72 --- /dev/null +++ b/home/terminal/software/gh.nix @@ -0,0 +1,29 @@ +{pkgs, ...}: let + configFile = "gh/config.yml"; + hostsFile = "gh/hosts.yml"; + toYAML = (pkgs.formats.yaml {}).generate; +in { + users.users.someone.packages = with pkgs; [ + gh + ]; + + xdg.configFile."${configFile}".source = toYAML "config.yml" { + version = 1; + git_protocol = "https"; + editor = "nvim"; + prompt = "enabled"; + prefer_editor_prompt = "disabled"; + pager = "less -FR"; + aliases = { + co = "pr checkout"; + }; + http_unix_socket = ""; + browser = "zen"; + }; + + xdg.configFile."${hostsFile}".text = '' + github.com: + git_protocol: https + user: someone + ''; +} diff --git a/home/terminal/software/git.nix b/home/terminal/software/git.nix new file mode 100644 index 0000000..a5161b7 --- /dev/null +++ b/home/terminal/software/git.nix @@ -0,0 +1,127 @@ +{ + config, + pkgs, + ... +}: let + configFile = "git/config"; + ignoreFile = "git/ignore"; + toINI = (pkgs.formats.ini {}).generate; +in { + users.users.someone.packages = with pkgs; [ + git + delta + gnupg + git-lfs + peco + ]; + + xdg.configFile."${configFile}".source = toINI "config" { + alias = { + af = "!git add $(git ls-files -m -o --exclude-standard | fzf -m)"; + br = "branch"; + ca = "commit -am"; + co = "checkout"; + d = "diff"; + df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}"; + "edit-unmerged" = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`"; + fuck = "commit --amend -m"; + hist = "log --pretty=format:\"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)\" --graph --date=relative --decorate --all"; + llog = "log --graph --name-status --pretty=format:\"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset\" --date=relative"; + pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)"; + ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)"; + st = "status"; + }; + commit = { + gpgSign = "true"; + }; + core = { + editor = "nvim"; + pager = "${pkgs.delta}/bin/delta"; + whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol"; + excludesFile = "${config.xdg.configHome}/${ignoreFile}"; + }; + delta = { + features = "unobtrusive-line-numbers decorations"; + navigate = "true"; + "side-by-side" = "true"; + "true-color" = "never"; + }; + "delta-decorations" = { + "commit-decoration-style" = "bold grey box ul"; + "file-decoration-style" = "ul"; + "file-style" = "bold blue"; + "hunk-header-decoration-style" = "box"; + }; + "delta-unobtrusive-line-numbers" = { + "line-numbers" = "true"; + "line-numbers-left-format" = "{nm:>4}│"; + "line-numbers-left-style" = "grey"; + "line-numbers-right-format" = "{np:>4}│"; + "line-numbers-right-style" = "grey"; + }; + diff = { + colorMoved = "default"; + }; + "filter-lfs" = { + clean = "git-lfs clean -- %f"; + process = "git-lfs filter-process"; + required = "true"; + smudge = "git-lfs smudge -- %f"; + }; + gpg = { + format = "openpgp"; + }; + "gpg-openpgp" = { + program = "${pkgs.gnupg}/bin/gpg"; + }; + init = { + defaultBranch = "main"; + }; + interactive = { + diffFilter = "${pkgs.delta}/bin/delta --color-only"; + }; + merge = { + conflictstyle = "diff3"; + stat = "true"; + }; + pull = { + ff = "only"; + }; + push = { + autoSetupRemote = "true"; + default = "current"; + }; + rebase = { + autoSquash = "true"; + autoStash = "true"; + }; + repack = { + usedeltabaseoffset = "true"; + }; + rerere = { + autoupdate = "true"; + enabled = "true"; + }; + tag = { + gpgSign = "true"; + }; + user = { + email = "jory@severijnse.eu"; + name = "Jory Severijnse"; + signingKey = "0F8835ED078FDBF2"; + }; + }; + + xdg.configFile."${ignoreFile}".text = '' + *~ + *.swp + *result* + .direnv + node_modules + .opencode/ + .gemini/ + GEMINI.md + AGENTS.md + .sisyphus + ''; +} diff --git a/home/terminal/software/glow.nix b/home/terminal/software/glow.nix new file mode 100644 index 0000000..58b0f50 --- /dev/null +++ b/home/terminal/software/glow.nix @@ -0,0 +1,13 @@ +{pkgs, ...}: let + configFile = "glow/glow.yml"; + toYAML = (pkgs.formats.yaml {}).generate; +in { + users.users.someone.packages = [pkgs.glow]; + xdg.configFile."${configFile}".source = toYAML "glow.yml" { + style = "auto"; + mouse = false; + pager = false; + width = 80; + all = false; + }; +} diff --git a/home/terminal/software/gpg.nix b/home/terminal/software/gpg.nix new file mode 100644 index 0000000..6b51abd --- /dev/null +++ b/home/terminal/software/gpg.nix @@ -0,0 +1,51 @@ +{ + config, + pkgs, + ... +}: let + gpgConfigFile = "gnupg/gpg.conf"; + agentConfigFile = "gnupg/gpg-agent.conf"; +in { + users.users.someone.packages = with pkgs; [ + gnupg + pinentry-gnome3 + ]; + + xdg.configFile = { + "${gpgConfigFile}".text = '' + cert-digest-algo SHA512 + charset utf-8 + default-key 0F8835ED078FDBF2 + default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed + fixed-list-mode + keyid-format 0xlong + list-options show-uid-validity + no-comments + no-emit-version + no-symkey-cache + personal-cipher-preferences AES256 AES192 AES + personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed + personal-digest-preferences SHA512 SHA384 SHA256 + require-cross-certification + s2k-cipher-algo AES256 + s2k-digest-algo SHA512 + use-agent + verify-options show-uid-validity + with-fingerprint + ''; + "${agentConfigFile}".text = '' + enable-ssh-support + grab + pinentry-program ${pkgs.pinentry-gnome3}/bin/pinentry-curses + ''; + "fish/conf.d/gpg.fish".source = pkgs.writeText "gpg.fish" '' + set -gx GPG_TTY (tty) + ${pkgs.gnupg}/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null + ''; + }; + + environment.sessionVariables = { + GPG_TTY = "$(tty)"; + SSH_AUTH_SOCK = "${config.xdg.runtimeDir}/gnupg/S.gpg-agent.ssh"; + }; +} diff --git a/home/terminal/software/lazygit.nix b/home/terminal/software/lazygit.nix new file mode 100644 index 0000000..4d99a05 --- /dev/null +++ b/home/terminal/software/lazygit.nix @@ -0,0 +1,31 @@ +{pkgs, ...}: let + configFile = "lazygit/config.yml"; + toYAML = (pkgs.formats.yaml {}).generate; +in { + users.users.someone.packages = [pkgs.lazygit]; + xdg.configFile."${configFile}".source = toYAML "config.yml" { + disableStartupPopups = true; + git = { + commit = { + signOff = true; + }; + parseEmoji = true; + }; + gui = { + nerdFontsVersion = "3"; + showBottomLine = false; + showCommandLog = false; + showListFooter = false; + showRandomTip = false; + theme = { + activeBorderColor = ["magenta" "bold"]; + inactiveBorderColor = ["black"]; + }; + }; + notARepository = "skip"; + promptToReturnFromSubprocess = false; + update = { + method = "never"; + }; + }; +} diff --git a/home/terminal/software/mods.nix b/home/terminal/software/mods.nix new file mode 100644 index 0000000..e7482bb --- /dev/null +++ b/home/terminal/software/mods.nix @@ -0,0 +1,81 @@ +{pkgs, ...}: let + configFile = "mods/mods.yml"; + toYAML = (pkgs.formats.yaml {}).generate; +in { + users.users.someone.packages = with pkgs; [ + mods + ]; + + xdg.configFile = { + "${configFile}".source = toYAML "mods.yml" { + default-model = "google/gemma-3n-e4b-it:free"; + default-api = "openrouter"; + format-text = { + markdown = "{{ index .Config.FormatText \"markdown\" }}"; + json = "{{ index .Config.FormatText \"json\" }}"; + }; + roles = { + default = []; + }; + format = false; + role = "default"; + raw = false; + quiet = false; + temp = 1.0; + topp = 1.0; + topk = 50; + no-limit = false; + word-wrap = 80; + include-prompt-args = false; + include-prompt = 0; + max-retries = 5; + fanciness = 10; + status-text = "Generating"; + theme = "charm"; + max-input-chars = 12250; + max-completion-tokens = 100; + apis = { + openrouter = { + base-url = "https://openrouter.ai/api/v1"; + api-key = ""; + api-key-env = "OPENROUTER_API_KEY"; + models = { + "kwaipilot/kat-coder-pro:free" = { + aliases = ["kat-coder"]; + max-input-chars = 256000; + }; + "openrouter/polaris-alpha" = { + aliases = ["polaris"]; + max-input-chars = 256000; + }; + "deepseek/deepseek-chat-v3.1:free" = { + aliases = ["deepseek"]; + max-input-chars = 164000; + }; + "openai/gpt-oss-20b:free" = { + aliases = ["gpt"]; + max-input-chars = 131000; + }; + "qwen/qwen3-coder:free" = { + aliases = ["qwen"]; + max-input-chars = 256000; + }; + "google/gemma-3n-e4b-it:free" = { + aliases = ["gemma"]; + max-input-chars = 8000; + }; + "meta-llama/llama-4-maverick:free" = { + aliases = ["maverick"]; + max-input-chars = 128000; + }; + "moonshotai/kimi-k2:free" = { + aliases = ["kimi"]; + max-input-chars = 33000; + }; + }; + }; + }; + }; + "fish/completions/mods.fish".source = "${pkgs.mods}/share/fish/vendor_completions.d/mods.fish"; + }; +} diff --git a/home/terminal/software/nix-your-shell.nix b/home/terminal/software/nix-your-shell.nix new file mode 100644 index 0000000..a9cc652 --- /dev/null +++ b/home/terminal/software/nix-your-shell.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + users.users.someone.packages = [pkgs.nix-your-shell]; + + xdg.configFile."fish/conf.d/nix-your-shell.fish".source = pkgs.runCommand "nix-your-shell-init" {} '' + ${pkgs.nix-your-shell}/bin/nix-your-shell fish > $out + ''; +} diff --git a/home/terminal/software/nix.nix b/home/terminal/software/nix.nix new file mode 100644 index 0000000..16dd287 --- /dev/null +++ b/home/terminal/software/nix.nix @@ -0,0 +1,42 @@ +{ + pkgs, + self, + ... +}: let + direnvConfigFile = "direnv/direnv.toml"; + direnvRcFile = "direnv/direnvrc"; +in { + users.users.someone.packages = with pkgs; [ + alejandra + deadnix + statix + self.packages.${stdenv.hostPlatform.system}.repl + direnv + nix-direnv + ]; + + # Direnv configuration + xdg = { + configFile = { + "${direnvConfigFile}".source = (pkgs.formats.toml {}).generate "direnv.toml" { + global = { + log_format = "-"; + log_filter = "^$"; + }; + }; + # Direnv stdlib configuration + "${direnvRcFile}".text = '' + # Nix integration + source ${pkgs.nix-direnv}/share/nix-direnv/direnvrc + ''; + + "fish/conf.d/direnv.fish".source = pkgs.runCommand "direnv-fish-hook" {} '' + ${pkgs.direnv}/bin/direnv hook fish > $out + ''; + }; + }; + + environment.sessionVariables = { + DIRENV_LOG_FORMAT = ""; + }; +} diff --git a/home/terminal/software/opencode/_languages.nix b/home/terminal/software/opencode/_languages.nix new file mode 100644 index 0000000..bbb5af9 --- /dev/null +++ b/home/terminal/software/opencode/_languages.nix @@ -0,0 +1,75 @@ +{pkgs}: let + formatterBins = { + alejandra = "${pkgs.alejandra}/bin/alejandra"; + biome = "${pkgs.biome}/bin/biome"; + oxfmt = "${pkgs.oxfmt}/bin/oxfmt"; + shfmt = "${pkgs.shfmt}/bin/shfmt"; + }; + + lspBins = { + astro-ls = "${pkgs.astro-language-server}/bin/astro-ls"; + biome = "${pkgs.biome}/bin/biome"; + marksman = "${pkgs.marksman}/bin/marksman"; + nil = "${pkgs.nil}/bin/nil"; + tailwindcss = "${pkgs.tailwindcss-language-server}/bin/tailwindcss-language-server"; + volar = "${pkgs.vue-language-server}/bin/vue-language-server"; + }; +in { + packages = with pkgs; [ + astro-language-server + biome + marksman + nil + tailwindcss-language-server + vue-language-server + alejandra + oxfmt + shfmt + ]; + + formatter = { + shfmt = { + command = [formatterBins.shfmt "-i" "2"]; + extensions = ["sh" "bash"]; + }; + oxfmt = { + command = [formatterBins.oxfmt]; + extensions = ["yaml" "js" "json" "jsx" "md" "ts" "tsx" "css" "html" "vue"]; + }; + biome = { + command = [formatterBins.biome "format" "--stdin-file-path"]; + extensions = ["astro"]; + }; + alejandra = { + command = [formatterBins.alejandra "-q"]; + extensions = ["nix"]; + }; + }; + + lsp = { + astro-ls = { + command = [lspBins.astro-ls "--stdio"]; + extensions = ["astro"]; + }; + biome = { + command = [lspBins.biome "lsp-proxy"]; + extensions = ["js" "ts" "json" "jsx" "tsx"]; + }; + nil = { + command = [lspBins.nil]; + extensions = ["nix"]; + }; + marksman = { + command = [lspBins.marksman]; + extensions = ["md"]; + }; + tailwindcss = { + command = [lspBins.tailwindcss "--stdio"]; + extensions = ["css" "html"]; + }; + volar = { + command = [lspBins.volar "--stdio"]; + extensions = ["vue"]; + }; + }; +} diff --git a/home/terminal/software/opencode/_providers.nix b/home/terminal/software/opencode/_providers.nix new file mode 100644 index 0000000..94dba96 --- /dev/null +++ b/home/terminal/software/opencode/_providers.nix @@ -0,0 +1,141 @@ +{ + config = { + google = { + npm = "@ai-sdk/google"; + models = { + antigravity-gemini-3-pro = { + name = "Gemini 3 Pro (Antigravity)"; + limit = { + context = 1048576; + output = 65535; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + variants = { + low = {thinkingLevel = "low";}; + high = {thinkingLevel = "high";}; + }; + }; + antigravity-gemini-3-flash = { + name = "Gemini 3 Flash (Antigravity)"; + limit = { + context = 1048576; + output = 65536; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + variants = { + minimal = {thinkingLevel = "minimal";}; + low = {thinkingLevel = "low";}; + medium = {thinkingLevel = "medium";}; + high = {thinkingLevel = "high";}; + }; + }; + antigravity-claude-sonnet-4-5 = { + name = "Claude Sonnet 4.5 (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + antigravity-claude-sonnet-4-5-thinking = { + name = "Claude Sonnet 4.5 Thinking (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + variants = { + low = {thinkingConfig = {thinkingBudget = 8192;};}; + max = {thinkingConfig = {thinkingBudget = 32768;};}; + }; + }; + antigravity-claude-opus-4-5-thinking = { + name = "Claude Opus 4.5 Thinking (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + variants = { + low = {thinkingConfig = {thinkingBudget = 8192;};}; + max = {thinkingConfig = {thinkingBudget = 32768;};}; + }; + }; + antigravity-claude-opus-4-6-thinking = { + name = "Claude Opus 4.6 Thinking (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + variants = { + low = {thinkingConfig = {thinkingBudget = 8192;};}; + max = {thinkingConfig = {thinkingBudget = 32768;};}; + }; + }; + gemini-2-5-flash = { + name = "Gemini 2.5 Flash (Gemini CLI)"; + limit = { + context = 1048576; + output = 65536; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + gemini-2-5-pro = { + name = "Gemini 2.5 Pro (Gemini CLI)"; + limit = { + context = 1048576; + output = 65536; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + gemini-3-flash-preview = { + name = "Gemini 3 Flash Preview (Gemini CLI)"; + limit = { + context = 1048576; + output = 65536; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + gemini-3-pro-preview = { + name = "Gemini 3 Pro Preview (Gemini CLI)"; + limit = { + context = 1048576; + output = 65535; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + }; + }; + }; +} diff --git a/home/terminal/software/opencode/_skills.nix b/home/terminal/software/opencode/_skills.nix new file mode 100644 index 0000000..191f67e --- /dev/null +++ b/home/terminal/software/opencode/_skills.nix @@ -0,0 +1,137 @@ +{pkgs}: let + fetchSkill = { + name, + owner, + repo, + rev, + path, + hash, + }: + pkgs.stdenv.mkDerivation { + name = "opencode-skill-${name}"; + src = pkgs.fetchFromGitHub { + inherit owner repo rev hash; + }; + + installPhase = '' + mkdir -p $out + cp ${path} $out/SKILL.md + ''; + }; + + fetchSkillDir = { + name, + owner, + repo, + rev, + basePath, + hash, + }: + pkgs.stdenv.mkDerivation { + name = "opencode-skill-${name}"; + src = pkgs.fetchFromGitHub { + inherit owner repo rev hash; + }; + + installPhase = '' + mkdir -p $out + cp -r ${basePath}/* $out/ + ''; + }; + + localSkill = { + name, + path, + }: + pkgs.stdenv.mkDerivation { + name = "opencode-skill-${name}"; + src = path; + installPhase = '' + mkdir -p $out + cp SKILL.md $out/SKILL.md + ''; + }; + + skills = { + technical-writing = fetchSkill { + name = "technical-writing"; + owner = "proffesor-for-testing"; + repo = "agentic-qe"; + rev = "990aee4a6a747f2db0ef77a2f67d58462f61e608"; + path = ".claude/skills/technical-writing/SKILL.md"; + hash = "sha256-PdIVhLp5/quigz325ZeG4NaWUgPsD3PgykSD61FFjLo="; + }; + + blog-post-writer = fetchSkillDir { + name = "blog-post-writer"; + owner = "nicknisi"; + repo = "dotfiles"; + rev = "f1be3f2b669c8e3401b589141f9a56651e45a1a7"; + basePath = "home/.claude/skills/blog-post-writer"; + hash = "sha256-U1GqtQMgzimGbbDJpqIGrBnu5HiSTZDETAKFhijMU9s="; + }; + + frontend-design = fetchSkill { + name = "frontend-design"; + owner = "anthropics"; + repo = "claude-code"; + rev = "d213a74fc8e3b6efded52729196e0c2d4c3abb3e"; + path = "plugins/frontend-design/skills/frontend-design/SKILL.md"; + hash = "sha256-SleLxTUjM7HNHc78YklikuFwix2DPaTDIACUnsSQCrA="; + }; + + flutter-development = fetchSkill { + name = "flutter-development"; + owner = "aj-geddes"; + repo = "useful-ai-prompts"; + rev = "ce8c39c22df0e0e64c853817a7f8d79f0ea331e2"; + path = "skills/flutter-development/SKILL.md"; + hash = "sha256-BCvO+P2URoTiUOSV8PTq62ckyxXLEHtIml0EkZGRbK8="; + }; + + writing-documentation = fetchSkillDir { + name = "writing-documentation"; + owner = "dhruvbaldawa"; + repo = "ccconfigs"; + rev = "451b604718d39fcc2c008d22e550bdf60c7115da"; + basePath = "essentials/skills/writing-documentation"; + hash = "sha256-7V1xG2FmzqWdnWmVV6WWKBAvY6QHWo+UKzh0Uu/Xg/w="; + }; + + changelog-generator = fetchSkill { + name = "changelog-generator"; + owner = "composioHQ"; + repo = "awesome-claude-skills"; + rev = "362d35428562ad05d1faa1767abaf39d6e3a8e7a"; + path = "changelog-generator/SKILL.md"; + hash = "sha256-tSEO0h9J3lPVePFoy7A7c1K6umNNE/21/2RbaJD4Abc="; + }; + + readme-generator = fetchSkill { + name = "readme-generator"; + owner = "Shpigford"; + repo = "skills"; + rev = "bdd6f84e38e460246079dd44755c587522ddf60e"; + path = "readme/SKILL.md"; + hash = "sha256-M6ZSxwrq9tGkxJi6BVoSRh6+fPlQPUmZVg595wldsNI="; + }; + + memory-aware-architect = localSkill { + name = "memory-aware-architect"; + path = ./skills/memory-aware-architect; + }; + }; + + allSkills = pkgs.runCommand "opencode-skills" {} '' + mkdir -p $out/skill + + ${pkgs.lib.concatStringsSep "\n" (pkgs.lib.mapAttrsToList (name: skill: '' + mkdir -p $out/skill/${name} + cp -r ${skill}/* $out/skill/${name}/ + '') + skills)} + ''; +in { + packages = []; + skillsSource = allSkills; +} diff --git a/home/terminal/software/opencode/default.nix b/home/terminal/software/opencode/default.nix new file mode 100644 index 0000000..abe9271 --- /dev/null +++ b/home/terminal/software/opencode/default.nix @@ -0,0 +1,112 @@ +{pkgs, ...}: let + languages = import ./_languages.nix {inherit pkgs;}; + providers = import ./_providers.nix; + skills = import ./_skills.nix {inherit pkgs;}; + + inherit (pkgs) opencode; + + opencodeEnv = pkgs.buildEnv { + name = "opencode-env"; + paths = + languages.packages + ++ skills.packages; + }; + opencodeInitScript = pkgs.writeShellScript "opencode-init" '' + mkdir -p "$HOME/.local/cache/opencode/node_modules/@opencode-ai" + mkdir -p "$HOME/.config/opencode/node_modules/@opencode-ai" + if [ -d "$HOME/.config/opencode/node_modules/@opencode-ai/plugin" ]; then + if [ ! -L "$HOME/.local/cache/opencode/node_modules/@opencode-ai/plugin" ]; then + ln -sf "$HOME/.config/opencode/node_modules/@opencode-ai/plugin" \ + "$HOME/.local/cache/opencode/node_modules/@opencode-ai/plugin" + fi + fi + exec ${opencode}/bin/opencode "$@" + ''; + opencodeWrapped = + pkgs.runCommand "opencode-wrapped" { + buildInputs = [pkgs.makeWrapper]; + } '' + mkdir -p $out/bin + makeWrapper ${opencodeInitScript} $out/bin/opencode \ + --prefix PATH : ${opencodeEnv}/bin \ + --prefix LD_LIBRARY_PATH : "${pkgs.lib.makeLibraryPath [pkgs.stdenv.cc.cc.lib]}" + ''; + configFile = "opencode/config.json"; + tuiFile = "opencode/tui.json"; + in { + users.users.someone.packages = [ + opencodeWrapped + ]; + xdg.configFile = { + "${configFile}".text = builtins.toJSON { + "$schema" = "https://opencode.ai/config.json"; + plugin = [ + "opencode-antigravity-auth@latest" + "@tarquinen/opencode-dcp@latest" + "oh-my-openagent@latest" + ]; + small_model = "google/gemma-3n-e4b-it:free"; + autoupdate = false; + share = "disabled"; + disabled_providers = [ + "amazon-bedrock" + "anthropic" + "azure-openai" + "azure-cognitive-services" + "baseten" + "cerebras" + "cloudflare-ai-gateway" + "cortecs" + "deep-infra" + "fireworks-ai" + "google-vertex-ai" + "groq" + "hugging-face" + "helicone" + "llama.cpp" + "io-net" + "lmstudio" + "moonshot-ai" + "nebius-token-factory" + "ollama" + "ollama-cloud" + "openai" + "sap-ai-core" + "ovhcloud-ai-endpoints" + "together-ai" + "venice-ai" + "xai" + "zai" + "zenmux" + ]; + enabled_providers = ["opencode" "google" "openrouter"]; + mcp = { + gh_grep = { + type = "remote"; + url = "https://mcp.grep.app/"; + enabled = true; + timeout = 10000; + }; + deepwiki = { + type = "remote"; + url = "https://mcp.deepwiki.com/mcp"; + enabled = true; + timeout = 10000; + }; + context7 = { + type = "remote"; + url = "https://mcp.context7.com/mcp"; + enabled = true; + timeout = 10000; + }; + }; + inherit (languages) formatter lsp; + provider = providers.config; + }; + "${tuiFile}".text = builtins.toJSON { + "$schema" = "https://opencode.ai/tui.json"; + theme = "gruvbox"; + }; + "opencode/skill".source = skills.skillsSource + "/skill"; + }; + } diff --git a/home/terminal/software/opencode/skills/memory-aware-architect/SKILL.md b/home/terminal/software/opencode/skills/memory-aware-architect/SKILL.md new file mode 100644 index 0000000..888d814 --- /dev/null +++ b/home/terminal/software/opencode/skills/memory-aware-architect/SKILL.md @@ -0,0 +1,190 @@ +--- +name: memory-aware-architect +description: Mandatory persistent memory integration for project development. Use when working on any codebase that uses opencode-mem for context persistence. Always searches memory before planning, coding, refactoring, or debugging. Suggests adding new facts after completing significant tasks. Works with any programming language, framework, or architecture style. +license: MIT +--- + +# Memory-Aware Architect + +## Core Workflow (Mandatory) + +### 1. Search Memory First (Required at Task Start) + +Before responding to any architecture, refactoring, feature implementation, debugging, or project-related query, execute one or more semantic searches in persistent memory using the `memory` tool. + +Craft specific, descriptive queries based on the user's task and the project context: + +```javascript +// Architecture & design patterns +memory({ mode: "search", query: "architecture pattern layers components structure" }) + +// Technology stack & frameworks +memory({ mode: "search", query: "framework library dependencies tech stack" }) + +// Error handling & logging +memory({ mode: "search", query: "error handling logging monitoring patterns" }) + +// Testing strategy +memory({ mode: "search", query: "testing unit integration e2e test patterns" }) + +// Specific features or modules +memory({ mode: "search", query: "authentication user management JWT session" }) +memory({ mode: "search", query: "database schema models relationships ORM" }) +memory({ mode: "search", query: "API endpoints routes controllers handlers" }) +``` + +**Key principles for effective searches:** +- Include relevant technical terms from the user's request +- Search for both broad patterns and specific implementations +- When user mentions modules/components/features, include those exact terms +- Run multiple searches if the task involves different aspects (e.g., frontend + backend + database) + +### 2. Integrate Retrieved Facts + +- Use retrieved memories to inform all planning, reasoning, and code generation +- Never re-explain concepts, patterns, or decisions already stored in memory +- Trust the existing memory over assumptions—the project has its own conventions +- If critical context is missing, ask for clarification—but prioritize existing memory content +- If no relevant memories found, mention: "No prior context found in memory for [topic]" + +### 3. Add New Knowledge (After Significant Work) + +After completing important tasks (refactors, new features, architectural decisions, significant fixes), identify valuable new knowledge and suggest adding it to memory: + +```javascript +memory({ mode: "add", content: "[concise, precise description of new decision/implementation]" }) +``` + +**What makes good memory content:** +- Architectural decisions and their rationale +- Established patterns and conventions +- Technology choices and configuration details +- Non-obvious implementation details +- Gotchas, edge cases, or lessons learned +- Integration patterns between components +- Performance optimizations applied + +**Examples across different project types:** + +```javascript +// Frontend project +memory({ mode: "add", content: "Use React.memo() for all list item components to prevent unnecessary re-renders; measured 40% performance improvement" }) + +// Backend API +memory({ mode: "add", content: "All API endpoints use middleware chain: auth → rate-limit → validation → controller; defined in src/middleware/index.js" }) + +// Database +memory({ mode: "add", content: "User sessions table uses UUID v4 for session_id with 24-hour TTL; cleanup cron runs daily at 3 AM UTC" }) + +// DevOps +memory({ mode: "add", content: "Deploy staging with 'npm run deploy:staging'; auto-runs migrations and health checks before traffic switch" }) + +// Architecture decision +memory({ mode: "add", content: "Switched from REST to GraphQL for mobile API to reduce over-fetching; web still uses REST for caching benefits" }) +``` + +## Universal Best Practices + +These guidelines apply regardless of project type, but always defer to project-specific patterns stored in memory: + +### Memory-First Mindset +- **Always search before assuming** - The project may have established conventions +- **Consistency over cleverness** - Follow existing patterns even if you'd do it differently +- **Document decisions, not just code** - Future you (or Claude) needs to understand *why* + +### What to Search For +- Project structure and organization +- Naming conventions (files, functions, variables, classes) +- Error handling and logging patterns +- Testing approaches and tools +- Code style preferences (formatting, comments, documentation) +- Dependency management and versions +- Build and deployment processes +- Third-party integrations and API patterns + +### What to Add to Memory +- Deviations from framework defaults +- Performance optimizations +- Security considerations +- Cross-cutting concerns (auth, logging, caching, etc.) +- Module/component responsibilities +- Data flow and state management +- Configuration and environment setup +- Team conventions and preferences + +## Example Usage Patterns + +### User: "Add user authentication to the app" + +**Correct Response Flow:** +1. Search memory: "authentication", "user management", "security patterns", "session handling" +2. Check what auth approach is already established (JWT? Sessions? OAuth?) +3. Apply existing security patterns from memory +4. Implement following project conventions +5. Suggest adding: "Implemented JWT authentication with refresh tokens; access token TTL 15min, refresh TTL 7 days; stored in httpOnly cookies" + +### User: "Fix the bug where the dashboard loads slowly" + +**Correct Response Flow:** +1. Search memory: "dashboard", "performance", "loading", "caching", "data fetching" +2. Identify existing performance patterns or known issues from memory +3. Debug using project-specific context +4. If you find and fix a non-obvious issue, suggest adding: "Dashboard slow load caused by N+1 query in user stats endpoint; fixed with single JOIN query and added Redis cache (5min TTL)" + +### User: "Refactor the payment module to be more testable" + +**Correct Response Flow:** +1. Search memory: "payment", "testing patterns", "dependency injection", "mocking" +2. Apply project's established testing and architecture patterns +3. Refactor maintaining consistency with existing code structure +4. Suggest adding: "Refactored PaymentService to use dependency injection; accepts payment gateway as constructor param for easier mocking in tests" + +## Anti-Patterns to Avoid + +- ❌ Skipping the initial memory search (breaks continuity) +- ❌ Re-explaining concepts already in memory (wastes tokens) +- ❌ Ignoring retrieved patterns when generating code (creates inconsistency) +- ❌ Forgetting to suggest memory additions after significant work (loses knowledge) +- ❌ Assuming standard conventions without checking memory first (may conflict with project) +- ❌ Adding trivial or obvious information to memory (noise) +- ❌ Writing vague memory content like "implemented feature X" (not useful later) + +## Quick Reference + +**When to Search Memory:** +- Start of any development task +- Before making architectural decisions +- When encountering unfamiliar parts of codebase +- Before refactoring existing code +- When debugging issues +- When adding new features or modules + +**When to Add to Memory:** +- After implementing significant features +- When making architectural decisions +- After fixing non-trivial bugs +- When establishing new patterns or conventions +- After performance optimizations +- When integrating external services +- After learning project-specific gotchas + +**Default Response Flow:** +``` +1. memory search (1+ queries based on task) + ↓ +2. analyze retrieved facts and patterns + ↓ +3. generate solution consistent with project + ↓ +4. suggest memory add for new knowledge (if applicable) +``` + +**Search Query Formula:** +``` +[feature/module name] + [technical aspect] + [related patterns] + +Examples: +- "user profile component React state management" +- "payment processing error handling retry logic" +- "database migration rollback strategy" +``` diff --git a/home/terminal/software/pay-respects.nix b/home/terminal/software/pay-respects.nix new file mode 100644 index 0000000..b27363f --- /dev/null +++ b/home/terminal/software/pay-respects.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + users.users.someone.packages = [pkgs.pay-respects]; + + xdg.configFile."fish/conf.d/pay-respects.fish".source = pkgs.runCommand "pay-respects-init" {} '' + ${pkgs.pay-respects}/bin/pay-respects fish --alias > $out + ''; +} diff --git a/home/terminal/software/skim.nix b/home/terminal/software/skim.nix new file mode 100644 index 0000000..852068e --- /dev/null +++ b/home/terminal/software/skim.nix @@ -0,0 +1,39 @@ +{pkgs, ...}: let + configFile = "skim/skimrc"; + + skimDefault = pkgs.symlinkJoin { + name = "sk-default"; + paths = [pkgs.skim]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/sk \ + --add-flags "--cmd '${pkgs.ripgrep}/bin/rg --files --hidden'" + ''; + }; + + skimCd = pkgs.writeShellScriptBin "sk-cd" '' + exec ${pkgs.skim}/bin/sk \ + --preview "${pkgs.eza}/bin/eza --icons --git --color always -T -L 3 {} | head -200" \ + --exact \ + "$@" + ''; +in { + users.users.someone.packages = with pkgs; [ + skim + ripgrep + eza + skimDefault + skimCd + ]; + + xdg.configFile = { + "${configFile}".text = '' + preview-window: "right:60%" + # General settings + multi: true + tiebreak: "index,begin,end,length" + ''; + + "fish/conf.d/skim.fish".source = "${pkgs.skim}/share/fish/vendor_completions.d/sk.fish"; + }; +} diff --git a/home/terminal/software/ssh.nix b/home/terminal/software/ssh.nix new file mode 100644 index 0000000..615fee1 --- /dev/null +++ b/home/terminal/software/ssh.nix @@ -0,0 +1,35 @@ +{ + config, + pkgs, + ... +}: let + sshConfigFile = "ssh/config"; +in { + users.users.someone.packages = with pkgs; [ + openssh + ]; + + xdg.configFile."ssh/config" = { + source = config.age.secrets.ssh_config.path; + }; + + home.file.".ssh/config" = { + source = config.xdg.configHome + "/ssh/config"; + mutable = false; + }; + + environment.sessionVariables = { + SSH_AUTH_SOCK = "${config.xdg.runtimeDir}/gnupg/S.gpg-agent.ssh"; + SSH_CONFIG = "${config.xdg.configHome}/ssh/config"; + }; + + systemd.user.services.ssh-agent = { + description = "SSH agent service"; + wantedBy = ["default.target"]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.openssh}/bin/ssh-agent -D -a ${config.xdg.runtimeDir}/ssh-agent.socket"; + Restart = "on-failure"; + }; + }; +} diff --git a/home/terminal/software/television.nix b/home/terminal/software/television.nix new file mode 100644 index 0000000..c4e1ee0 --- /dev/null +++ b/home/terminal/software/television.nix @@ -0,0 +1,13 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + television + nix-search-tv + ]; + + xdg.configFile = { + "nix-search-tv/config.json".text = builtins.toJSON { + indexes = ["nixos" "nixpkgs" "nur"]; + }; + "fish/completions/tv.fish".source = "${pkgs.television}/share/fish/vendor_completions.d/tv.fish"; + }; +} diff --git a/home/terminal/software/tui.nix b/home/terminal/software/tui.nix new file mode 100644 index 0000000..5e45eef --- /dev/null +++ b/home/terminal/software/tui.nix @@ -0,0 +1,46 @@ +{ + inputs, + pkgs, + ... +}: { + users.users.someone.packages = with pkgs; + [ + # archives + zip + unzip + unrar + ouch + + # misc + mako + fontconfig + + # utils + dust + duf + fd + file + killall + jq + ps_mem + inshellisense + + fum + gtt + meteor-git + nix-search-tv + scope-tui + tuicam + wiremix + zfxtop + opencode + ] + ++ (with inputs.mynixpkgs.packages.${stdenv.hostPlatform.system}; [ + dawn + dfft + loupe + nekot + omm + prs + ]); +} diff --git a/home/terminal/software/twitch.nix b/home/terminal/software/twitch.nix new file mode 100644 index 0000000..377663b --- /dev/null +++ b/home/terminal/software/twitch.nix @@ -0,0 +1,89 @@ +{pkgs, ...}: let + twitchHLSConfig = "twitch-hls-client/config"; + twtConfig = "twt/config.toml"; + + toINI = (pkgs.formats.ini {}).generate; + toTOML = (pkgs.formats.toml {}).generate; + + twitchHLSSettings = { + General = { + quality = "best"; + debug = false; + }; + Player = { + player = "${pkgs.mpv}/bin/mpv"; + player-args = "- --profile=low-latency"; + quiet = true; + no-kill = false; + }; + HLS = { + servers = "https://eu.luminous.dev/live/[channel],https://eu2.luminous.dev/live/[channel],https://as.luminous.dev/live/[channel]"; + print-streams = false; + no-low-latency = false; + codecs = "av1,h265,h264"; + }; + HTTP = { + force-https = true; + force-ipv4 = false; + user-agent = "Mozilla/5.0 (X11; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"; + http-retries = 3; + http-timeout = 10; + }; + }; + + twtSettings = { + twitch = { + username = "someone"; + channel = "bunzopy"; + server = "irc.chat.twitch.tv"; + }; + terminal = { + delay = 30; + maximum_messages = 500; + verbose = false; + first_state = "Dashboard"; + }; + storage = { + channels = true; + mentions = false; + }; + filters = { + enabled = false; + reversed = false; + }; + frontend = { + show_datetimes = false; + datetime_format = "%a %b %e %T"; + username_shown = true; + palette = "vibrant"; + title_shown = true; + margin = 0; + badges = false; + theme = "dark"; + username_highlight = true; + state_tabs = false; + cursor_shape = "user"; + blinking_cursor = false; + inverted_scrolling = false; + show_scroll_offset = false; + twitch_emotes = false; + betterttv_emotes = false; + seventv_emotes = false; + frankerfacez_emotes = false; + favorite_channels = ["oxatani" "roman_pascucci"]; + recent_channel_count = 5; + border_type = "plain"; + hide_chat_border = false; + right_align_usernames = false; + show_unsupported_screen_size = true; + }; + }; +in { + users.users.someone.packages = with pkgs; [ + twitch-hls-client + mpv + ]; + + xdg.configFile."${twitchHLSConfig}".source = toINI "config" twitchHLSSettings; + xdg.configFile."${twtConfig}".source = toTOML "config.toml" twtSettings; +} diff --git a/home/terminal/software/xdg.nix b/home/terminal/software/xdg.nix new file mode 100644 index 0000000..324627b --- /dev/null +++ b/home/terminal/software/xdg.nix @@ -0,0 +1,70 @@ +{ + pkgs, + lib, + ... +}: let + browser = ["zen.desktop"]; + imageViewer = ["lightview.desktop"]; + videoPlayer = ["mpv.desktop"]; + audioPlayer = ["io.bassi.Amberol.desktop"]; + + xdgAssociations = type: program: list: + builtins.listToAttrs (map (e: { + name = "${type}/${e}"; + value = program; + }) + list); + + image = xdgAssociations "image" imageViewer ["png" "jpg" "jpeg" "gif" "webp" "bmp" "tiff" "tif" "ico" "svg" "avif" "heic" "heif"]; + video = xdgAssociations "video" videoPlayer ["mp4" "avi" "mkv" "mov" "wmv" "flv" "webm" "m4v" "3gp" "ogv" "ts" "mts" "m2ts"]; + audio = xdgAssociations "audio" audioPlayer ["mp3" "flac" "wav" "aac" "ogg" "oga" "opus" "m4a" "wma" "ape" "alac" "aiff"]; + + browserTypes = + (xdgAssociations "application" browser ["json" "x-extension-htm" "x-extension-html" "x-extension-shtml" "x-extension-xht" "x-extension-xhtml"]) + // (xdgAssociations "x-scheme-handler" browser ["about" "ftp" "http" "https" "unknown"]); + + associations = + { + "application/pdf" = ["org.gnome.Papers.desktop"]; + "application/zip" = ["org.gnome.FileRoller.desktop"]; + "application/x-7z-compressed" = ["org.gnome.FileRoller.desktop"]; + "application/x-rar-compressed" = ["org.gnome.FileRoller.desktop"]; + "application/x-tar" = ["org.gnome.FileRoller.desktop"]; + "application/gzip" = ["org.gnome.FileRoller.desktop"]; + "text/html" = browser; + "text/plain" = ["org.gnome.TextEditor.desktop"]; + "text/markdown" = ["org.gnome.TextEditor.desktop"]; + "x-scheme-handler/chrome" = ["zen.desktop"]; + } + // image // video // audio // browserTypes; + + userDirsConfig = pkgs.writeText "user-dirs.dirs" '' + XDG_DESKTOP_DIR="$HOME/Desktop" + XDG_DOWNLOAD_DIR="$HOME/Downloads" + XDG_TEMPLATES_DIR="$HOME/Templates" + XDG_PUBLICSHARE_DIR="$HOME/Public" + XDG_DOCUMENTS_DIR="$HOME/Documents" + XDG_MUSIC_DIR="$HOME/Music" + XDG_PICTURES_DIR="$HOME/Pictures" + XDG_VIDEOS_DIR="$HOME/Videos" + ''; +in { + users.users.someone.packages = with pkgs; [ + xdg-utils + (writeShellScriptBin "xdg-terminal-exec" ''${pkgs.alacritty}/bin/alacritty'') + ]; + + xdg = { + mime = { + enable = true; + defaultApplications = associations; + }; + configFile."user-dirs.dirs".source = userDirsConfig; + configFile."mimeapps.list".text = '' + [Default Applications] + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (k: v: "${k}=${lib.concatStringsSep ";" v}") associations)} + [Added Associations] + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (k: v: "${k}=${lib.concatStringsSep ";" v}") associations)} + ''; + }; +} diff --git a/home/terminal/software/yazi/default.nix b/home/terminal/software/yazi/default.nix new file mode 100644 index 0000000..57e5ba1 --- /dev/null +++ b/home/terminal/software/yazi/default.nix @@ -0,0 +1,31 @@ +{ + config, + pkgs, + ... +}: let + configFile = "yazi/yazi.toml"; + toTOML = (pkgs.formats.toml {}).generate; +in { + users.users.someone.packages = [pkgs.yazi]; + xdg.configFile."${configFile}".source = toTOML "yazi.toml" { + mgr = { + layout = [1 4 3]; + sort_by = "alphabetical"; + sort_sensitive = true; + sort_reverse = false; + sort_dir_first = true; + linemode = "none"; + show_hidden = false; + show_symlink = true; + }; + preview = { + tab_size = 2; + max_width = 600; + max_height = 900; + cache_dir = "${config.xdg.cacheHome}"; + }; + flavor = { + dark = "noctalia"; + }; + }; +} diff --git a/home/terminal/software/yazi/theme/icons.nix b/home/terminal/software/yazi/theme/icons.nix new file mode 100644 index 0000000..7c885a5 --- /dev/null +++ b/home/terminal/software/yazi/theme/icons.nix @@ -0,0 +1,129 @@ +{pkgs, ...}: let + configFile = "yazi/theme.toml"; + toTOML = (pkgs.formats.toml {}).generate; +in { + users.users.someone.packages = [pkgs.yazi]; + xdg.configFile."${configFile}".source = toTOML "theme.toml" { + icons = { + "*" = ""; + "*.7z" = ""; + "*.HEIC" = ""; + "*.aac" = ""; + "*.avi" = ""; + "*.avif" = ""; + "*.bin" = ""; + "*.bmp" = ""; + "*.bz2" = ""; + "*.c" = ""; + "*.conf" = ""; + "*.cpp" = ""; + "*.css" = ""; + "*.csv" = ""; + "*.doc" = ""; + "*.doct" = ""; + "*.docx" = ""; + "*.dot" = ""; + "*.exe" = ""; + "*.fish" = ""; + "*.flac" = ""; + "*.gif" = ""; + "*.go" = ""; + "*.gz" = ""; + "*.h" = ""; + "*.hpp" = ""; + "*.hs" = ""; + "*.html" = ""; + "*.ico" = ""; + "*.ini" = ""; + "*.java" = ""; + "*.jpeg" = ""; + "*.jpg" = ""; + "*.js" = ""; + "*.json" = ""; + "*.jsx" = ""; + "*.lock" = ""; + "*.lua" = ""; + "*.m4a" = ""; + "*.md" = ""; + "*.mkv" = ""; + "*.mov" = ""; + "*.mp2" = ""; + "*.mp3" = ""; + "*.mp4" = ""; + "*.nix" = ""; + "*.ods" = ""; + "*.ogg" = ""; + "*.ots" = ""; + "*.pdf" = ""; + "*.php" = ""; + "*.pkg" = ""; + "*.png" = ""; + "*.pom" = ""; + "*.pot" = ""; + "*.potx" = ""; + "*.ppm" = ""; + "*.ppmx" = ""; + "*.pps" = ""; + "*.ppsx" = ""; + "*.ppt" = ""; + "*.pptx" = ""; + "*.py" = ""; + "*.rb" = ""; + "*.rs" = ""; + "*.rst" = ""; + "*.sass" = ""; + "*.scss" = ""; + "*.sh" = ""; + "*.svg" = ""; + "*.swift" = ""; + "*.tar" = ""; + "*.toml" = ""; + "*.ts" = ""; + "*.tsx" = ""; + "*.txt" = ""; + "*.vim" = ""; + "*.wav" = ""; + "*.webm" = ""; + "*.webp" = ""; + "*.xcf" = ""; + "*.xlc" = ""; + "*.xlm" = ""; + "*.xls" = ""; + "*.xlsm" = ""; + "*.xlsx" = ""; + "*.xlt" = ""; + "*.xz" = ""; + "*.yaml" = ""; + "*.yml" = ""; + "*.zip" = ""; + "*/" = "󰉋"; + ".DS_Store" = ""; + ".bashprofile" = ""; + ".bashrc" = ""; + ".config/" = ""; + ".git/" = ""; + ".gitattributes" = ""; + ".gitignore" = ""; + ".gitmodules" = ""; + ".ssh/" = "󰢬"; + ".vimrc" = ""; + ".zprofile" = ""; + ".zshenv" = ""; + ".zshrc" = ""; + COPYING = "󰿃"; + Containerfile = "󰡨"; + "Desktop/" = ""; + "Development/" = ""; + Dockerfile = "󰡨"; + "Documents/" = ""; + "Downloads/" = "󰉍"; + LICENSE = "󰿃"; + "Library/" = ""; + "Movies/" = ""; + "Music/" = "󱍙"; + "Pictures/" = "󰉏"; + "Public/" = ""; + "Videos/" = ""; + }; + }; +} diff --git a/home/terminal/software/zoxide.nix b/home/terminal/software/zoxide.nix new file mode 100644 index 0000000..6e7beee --- /dev/null +++ b/home/terminal/software/zoxide.nix @@ -0,0 +1,9 @@ +{pkgs, ...}: { + users.users.someone.packages = with pkgs; [ + zoxide + ]; + + xdg.configFile."fish/conf.d/zoxide.fish".source = pkgs.runCommand "zoxide-fish-init" {} '' + ${pkgs.zoxide}/bin/zoxide init fish > $out + ''; +} diff --git a/home/xdg-compat.nix b/home/xdg-compat.nix new file mode 100644 index 0000000..4790532 --- /dev/null +++ b/home/xdg-compat.nix @@ -0,0 +1,174 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.xdg; + username = "someone"; + fileType = lib.types.submodule { + options = { + text = lib.mkOption { + type = lib.types.nullOr lib.types.lines; + default = null; + }; + source = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + }; + mutable = lib.mkOption { + type = lib.types.bool; + default = false; + description = "If true, copy the file instead of symlinking, allowing the application to modify it"; + }; + }; + }; + userOpts = _: { + options = { + configFiles = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + cacheFiles = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + dataFiles = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + stateFiles = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + homeFiles = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + }; + }; + + mkLinkScript = baseDir: name: file: let + target = + if file.text != null + then pkgs.writeText name file.text + else file.source; + fullPath = "${baseDir}/${name}"; + parentDir = builtins.dirOf fullPath; + in + if file.mutable + then '' + mkdir -p "${parentDir}" + if [ -L "${fullPath}" ]; then + # Replace symlink with a copy + rm -f "${fullPath}" + cp "${target}" "${fullPath}" + chmod +w "${fullPath}" + elif [ -e "${fullPath}" ]; then + : + else + cp "${target}" "${fullPath}" + chmod +w "${fullPath}" + fi + '' + else '' + mkdir -p "${parentDir}" + if [ -L "${fullPath}" ]; then + current_target=$(readlink "${fullPath}") + if [ "$current_target" != "${target}" ]; then + rm -f "${fullPath}" + ln -s "${target}" "${fullPath}" + fi + elif [ -e "${fullPath}" ]; then + rm -f "${fullPath}" + ln -s "${target}" "${fullPath}" + else + ln -s "${target}" "${fullPath}" + fi + ''; +in { + options = { + users.users = lib.mkOption {type = lib.types.attrsOf (lib.types.submodule userOpts);}; + home = { + homeDirectory = lib.mkOption { + type = lib.types.path; + default = "/home/${username}"; + }; + file = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + }; + xdg = { + configHome = lib.mkOption { + type = lib.types.path; + default = "/home/${username}/.config"; + }; + cacheHome = lib.mkOption { + type = lib.types.path; + default = "/home/${username}/.cache"; + }; + dataHome = lib.mkOption { + type = lib.types.path; + default = "/home/${username}/.local/share"; + }; + stateHome = lib.mkOption { + type = lib.types.path; + default = "/home/${username}/.local/state"; + }; + runtimeDir = lib.mkOption { + type = lib.types.str; + default = "/run/user/1000"; + }; + configFile = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + cacheFile = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + dataFile = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + stateFile = lib.mkOption { + type = lib.types.attrsOf fileType; + default = {}; + }; + }; + }; + + config = { + users.users.${username} = { + configFiles = cfg.configFile; + cacheFiles = cfg.cacheFile; + dataFiles = cfg.dataFile; + stateFiles = cfg.stateFile; + homeFiles = config.home.file; + }; + + environment.sessionVariables = { + XDG_CONFIG_HOME = cfg.configHome; + XDG_CACHE_HOME = cfg.cacheHome; + XDG_DATA_HOME = cfg.dataHome; + XDG_STATE_HOME = cfg.stateHome; + }; + + system.activationScripts.xdgUserFiles = lib.stringAfter ["users"] '' + ${lib.concatStringsSep "\n" ( + lib.flatten ( + lib.mapAttrsToList ( + user: userCfg: + (lib.mapAttrsToList (mkLinkScript cfg.configHome) userCfg.configFiles) + ++ (lib.mapAttrsToList (mkLinkScript cfg.cacheHome) userCfg.cacheFiles) + ++ (lib.mapAttrsToList (mkLinkScript cfg.dataHome) userCfg.dataFiles) + ++ (lib.mapAttrsToList (mkLinkScript cfg.stateHome) userCfg.stateFiles) + ++ (lib.mapAttrsToList (mkLinkScript config.home.homeDirectory) userCfg.homeFiles) + ) + config.users.users + ) + )} + ''; + }; +} diff --git a/hosts/aesthetic/default.nix b/hosts/aesthetic/default.nix new file mode 100644 index 0000000..ecb7ee0 --- /dev/null +++ b/hosts/aesthetic/default.nix @@ -0,0 +1,198 @@ +{ + config, + inputs, + lib, + pkgs, + self, + ... +}: { + imports = [ + ./hardware-configuration.nix + ]; + + boot = { + # load modules on boot + kernelPackages = lib.mkForce pkgs.linuxPackages_latest; + extraModulePackages = with config.boot.kernelPackages; [v4l2loopback]; + kernelModules = ["i2c-dev"]; + kernelParams = [ + "amd_pstate=active" # Enable AMD P-state CPU scaling driver + "amd_iommu=force" # Force AMD IOMMU for better DMA protection + "mitigations=off" # Disable CPU security mitigations (improves performance, reduces security) + "ideapad_laptop" # Allow Lenovo IdeaPad v4 Dynamic Thermal Control + # "nvme_core.default_ps_max_latency_us=0" # Set NVMe power state latency to minimum (max performance) + "preempt=voluntary" + "nowatchdog" + "psi=1" + + "randomize_kstack_offset=on" # Randomize kernel stack offset on each syscall (mitigates some exploits) + "vsyscall=none" # Disable vsyscall (removes legacy syscall interface, improves security) + "slab_nomerge" # Disable merging of similar SLAB caches (hardens against some heap attacks) + "module.sig_enforce=1" # Only allow loading kernel modules with valid signatures (prevents unsigned modules) + "lockdown=confidentiality" # Enable kernel lockdown in confidentiality mode (restricts kernel access even for root) + "page_poison=1" # Fill freed memory pages with poison value (helps detect use-after-free bugs) + "page_alloc.shuffle=1" # Randomize page allocator order (mitigates some memory corruption attacks) + "sysrq_always_enabled=0" # Disable magic SysRq key entirely (prevents low-level system commands) + "rootflags=noatime" # Mount root filesystem with noatime (improves performance, disables file access time updates) + "lsm=landlock,lockdown,yama,integrity,apparmor,bpf,tomoyo,selinux" # Enable and order Linux Security Modules (stacked LSMs for security) + "fbcon=nodefer" # Do not defer kernel messages to framebuffer console (shows messages immediately) + + # Additional security hardening for HSI compliance (validated) + "init_on_alloc=1" # Initialize allocated memory + "init_on_free=1" # Initialize freed memory + ]; + kernel.sysctl = { + "vm.swappiness" = 10; # Lower tendency to swap (default is 60) + "vm.vfs_cache_pressure" = 50; # Reduce cache pressure (default is 100) + "vm.dirty_ratio" = 10; # Lower max % of dirty memory before writeback (default is 20) + "vm.dirty_background_ratio" = 5; # Lower % of dirty memory to start background writeback (default is 10) + + "kernel.nmi_watchdog" = 0; # Disable NMI watchdog (slightly improves performance) + + # Network performance optimizations + "net.core.netdev_budget" = 600; + "net.core.netdev_max_backlog" = 16384; + "net.ipv4.tcp_no_metrics_save" = 1; + "net.ipv4.tcp_moderate_rcvbuf" = 1; + + "kernel.sysrq" = 0; # Disable magic SysRq key (prevents low-level system commands) + "kernel.kptr_restrict" = 2; # Hide kernel pointers from unprivileged users (security) + "kernel.ftrace_enabled" = false; # Disable kernel function tracing (security, disables debugging) + "kernel.dmesg_restrict" = 1; # Restrict access to dmesg for non-root users (security) + "fs.protected_fifos" = 2; # Fully restrict writing to FIFOs not owned by the writer (security) + "fs.protected_regular" = 2; # Fully restrict writing to regular files not owned by the writer (security) + "fs.suid_dumpable" = 0; # Disable core dumps for setuid programs (security) + "net.core.bpf_jit_harden" = 2; # Harden BPF JIT compiler for all users + + # Additional security hardening + "kernel.core_uses_pid" = 1; # Append PID to core filenames + "kernel.randomize_va_space" = 2; # Full ASLR + "vm.mmap_rnd_bits" = 32; # Increase ASLR entropy for mmap + "vm.mmap_rnd_compat_bits" = 16; # Increase ASLR entropy for compat mmap + "dev.tty.ldisc_autoload" = 0; # Disable TTY line discipline autoloading + "vm.unprivileged_userfaultfd" = 0; # Disable unprivileged userfaultfd + }; + + blacklistedKernelModules = [ + # Obscure network protocols. + "af_802154" # IEEE 802.15.4 + "appletalk" # Appletalk + "atm" # ATM + "ax25" # Amatuer X.25 + "decnet" # DECnet + "econet" # Econet + "ipx" # Internetwork Packet Exchange + "n-hdlc" # High-level Data Link Control + "netrom" # NetRom + "p8022" # IEEE 802.3 + "p8023" # Novell raw IEEE 802.3 + "psnap" # SubnetworkAccess Protocol + "rds" # Reliable Datagram Sockets + "rose" # ROSE + "tipc" # Transparent Inter-Process Communication + "x25" # X.25 + + # Old or rare or insufficiently audited filesystems. + "adfs" # Active Directory Federation Services + "affs" # Amiga Fast File System + "befs" # "Be File System" + "bfs" # BFS, used by SCO UnixWare OS for the /stand slice + "cramfs" # compressed ROM/RAM file system + "efs" # Extent File System + "erofs" # Enhanced Read-Only File System + "exofs" # EXtended Object File System + "f2fs" # Flash-Friendly File System + "freevxfs" # Veritas filesystem driver + "gfs2" # Global File System 2 + "hfs" # Hierarchical File System (Macintosh) + "hfsplus" # Same as above, but with extended attributes. + "hpfs" # High Performance File System (used by OS/2) + "jffs2" # Journalling Flash File System (v2) + "jfs" # Journaled File System - only useful for VMWare sessions + "ksmbd" # SMB3 Kernel Server + "minix" # minix fs - used by the minix OS + "nilfs2" # New Implementation of a Log-structured File System + "omfs" # Optimized MPEG Filesystem + "qnx4" # Extent-based file system used by the QNX4 OS. + "qnx6" # Extent-based file system used by the QNX6 OS. + "squashfs" # compressed read-only file system (used by live CDs) + "sysv" # implements all of Xenix FS, SystemV/386 FS and Coherent FS. + "udf" # https://docs.kernel.org/5.15/filesystems/udf.html + "vivid" # Virtual Video Test Driver (unnecessary) + + # Disable Thunderbolt and FireWire to prevent DMA attacks + "firewire-core" + "thunderbolt" + ]; + + extraModprobeConfig = '' + options v4l2loopback exclusive_caps=1 card_label="OBS Virtual Output" + options rtw88_core disable_lps_deep=y + options rtw88_pci disable_aspm=y + ''; + }; + + networking.hostName = "aesthetic"; + + security.tpm2.enable = true; + + # Additional security hardening for HSI compliance + security = { + forcePageTableIsolation = true; + protectKernelImage = true; + apparmor = { + enable = true; + killUnconfinedConfinables = true; + }; + }; + + services = { + # for SSD/NVME + fstrim.enable = true; + }; + + hardware = { + enableRedistributableFirmware = true; + cpu.amd.updateMicrocode = true; + i2c.enable = true; + }; + + # Additional systemd hardening + systemd = { + coredump.extraConfig = '' + Storage=none + ProcessSizeMax=0 + ''; + }; + + environment.systemPackages = [pkgs.cryptsetup pkgs.age inputs.agenix.packages.${pkgs.system}.default]; + + age.identityPaths = ["/etc/ssh/ssh_host_ed25519_key"]; + + age.secrets = { + gitea_laptop = { + file = ../../secrets/gitea_laptop.age; + mode = "600"; + owner = "someone"; + group = "users"; + }; + hetzner_server = { + file = ../../secrets/hetzner_server.age; + mode = "600"; + owner = "someone"; + group = "users"; + }; + aur = { + file = ../../secrets/aur.age; + mode = "600"; + owner = "someone"; + group = "users"; + }; + ssh_config = { + file = ../../secrets/ssh_config.age; + mode = "600"; + owner = "someone"; + group = "users"; + }; + }; +} diff --git a/hosts/aesthetic/hardware-configuration.nix b/hosts/aesthetic/hardware-configuration.nix new file mode 100644 index 0000000..da2271a --- /dev/null +++ b/hosts/aesthetic/hardware-configuration.nix @@ -0,0 +1,44 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot = { + initrd = { + availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci"]; + kernelModules = []; + }; + kernelModules = ["kvm-amd"]; + extraModulePackages = []; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/c04808ac-32eb-481c-b99f-f109fd1bcb8b"; + fsType = "btrfs"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/C5C6-EDC1"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + swapDevices = [ + { + device = "/var/lib/swapfile"; + size = 8 * 1024; + randomEncryption.enable = true; + } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/default.nix b/hosts/default.nix new file mode 100644 index 0000000..f1609bf --- /dev/null +++ b/hosts/default.nix @@ -0,0 +1,33 @@ +{ + self, + inputs, + ... +}: { + flake.nixosConfigurations = let + # shorten paths + inherit (inputs.nixpkgs.lib) nixosSystem; + mod = "${self}/system"; + home = "${self}/home"; + + # get the basic config to build on top of + inherit (import "${self}/system") desktop laptop; + + # get these into the module system + specialArgs = {inherit inputs self;}; + in { + aesthetic = nixosSystem { + inherit specialArgs; + modules = + desktop + ++ laptop + ++ [ + ./aesthetic + "${mod}/services/gnome-services.nix" + "${mod}/core/limine.nix" + "${home}" + + inputs.agenix.nixosModules.default + ]; + }; + }; +} diff --git a/lib/repl.nix b/lib/repl.nix new file mode 100644 index 0000000..3a05d38 --- /dev/null +++ b/lib/repl.nix @@ -0,0 +1,51 @@ +{ + flakePath ? null, + hostnamePath ? "/etc/hostname", + registryPath ? /etc/nix/registry.json, +}: let + inherit (builtins) getFlake head match currentSystem readFile pathExists filter fromJSON; + + selfFlake = + if pathExists registryPath + then filter (it: it.from.id == "self") (fromJSON (readFile registryPath)).flakes + else []; + + flakePath' = + toString + ( + if flakePath != null + then flakePath + else if selfFlake != [] + then (head selfFlake).to.path + else "/etc/nixos" + ); + + flake = + if pathExists flakePath' + then getFlake flakePath' + else {}; + hostname = + if pathExists hostnamePath + then head (match "([a-zA-Z0-9\\-]+)\n" (readFile hostnamePath)) + else ""; + + nixpkgsFromInputsPath = flake.inputs.nixpkgs.outPath or ""; + nixpkgs = + flake.pkgs.${ + currentSystem + }.nixpkgs + or ( + if nixpkgsFromInputsPath != "" + then import nixpkgsFromInputsPath {} + else {} + ); + + nixpkgsOutput = removeAttrs (nixpkgs // nixpkgs.lib or {}) ["options" "config"]; +in + {inherit flake;} + // flake + // builtins + // (flake.nixosConfigurations or {}) + // flake.nixosConfigurations.${hostname} or {} + // nixpkgsOutput + // {getFlake = path: getFlake (toString path);} diff --git a/nixpkgs/bitwig.nix b/nixpkgs/bitwig.nix new file mode 100644 index 0000000..d8994f6 --- /dev/null +++ b/nixpkgs/bitwig.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, ... }: +{ + nixpkgs.overlays = [ + (final: prev: { + bitwig-studio = prev.bitwig-studio.overrideAttrs (oldAttrs: { + version = "6.0"; + src = pkgs.fetchurl { + url = "https://www.bitwig.com/dl/Bitwig%20Studio/6.0/installer_linux/"; + hash = "8eb09381ac5f79685f2b02de28b9aa4d0592ed155b5671ea2742270a2a669bc9"; + }; + # Inherit the original package's meta information + meta = oldAttrs.meta; + }); + }) + ]; +} diff --git a/pkgs/Apple-Fonts/default.nix b/pkgs/Apple-Fonts/default.nix new file mode 100644 index 0000000..64082dc --- /dev/null +++ b/pkgs/Apple-Fonts/default.nix @@ -0,0 +1,42 @@ +{ + stdenv, + lib, + fetchFromGitHub, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "apple-fonts"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "0xsharkboy"; + repo = "Apple-Fonts-Collection"; + tag = "v${finalAttrs.version}"; + sha256 = "sha256-8EZ7fYy6CONgyj3dHOsaVSF0oMRH+SRZclwdrMSA0h8="; + }; + + dontBuild = true; + + installPhase = let + fontDirs = ["NewYork" "SF-Compact" "SF-Mono" "SF-Pro"]; + in '' + runHook preInstall + + mkdir -p $out/share/fonts/{opentype,truetype} + + ${lib.concatMapStringsSep "\n" (dir: '' + cp ${dir}/*.otf $out/share/fonts/opentype/ 2>/dev/null || true + cp ${dir}/*.ttf $out/share/fonts/truetype/ 2>/dev/null || true + '') + fontDirs} + + runHook postInstall + ''; + + meta = { + description = "Apple Fonts Collection including SF Pro, SF Compact, SF Mono, and New York"; + homepage = "https://github.com/0xsharkboy/Apple-Fonts-Collection"; + changelog = "https://github.com/0xsharkboy/Apple-Fonts-Collection/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..e037e45 --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,12 @@ +{ + systems = ["x86_64-linux"]; + + perSystem = {pkgs, ...}: { + packages = { + # instant repl with automatic flake loading + repl = pkgs.callPackage ./repl {}; + + apple-fonts = pkgs.callPackage ./Apple-Fonts {}; + }; + }; +} diff --git a/pkgs/repl/default.nix b/pkgs/repl/default.nix new file mode 100644 index 0000000..e009fb5 --- /dev/null +++ b/pkgs/repl/default.nix @@ -0,0 +1,25 @@ +# modified from https://github.com/gytis-ivaskevicius/flake-utils/plus +{ + coreutils, + gnused, + writeShellScriptBin, +}: let + repl = ../../lib/repl.nix; + example = command: desc: "\\n\\u001b[33m ${command}\\u001b[0m - ${desc}"; +in + writeShellScriptBin "repl" '' + case "$1" in + "-h"|"--help"|"help") + printf "%b\n\e[4mUsage\e[0m: \ + ${example "repl" "Loads system flake if available."} \ + ${example "repl /path/to/flake.nix" "Loads specified flake."}\n" + ;; + *) + if [ -z "$1" ]; then + nix repl -f ${repl} + else + nix repl --arg flakePath $(${coreutils}/bin/readlink -f $1 | ${gnused}/bin/sed 's|/flake.nix||') ${repl} + fi + ;; + esac + '' diff --git a/scripts/screen-mirror.sh b/scripts/screen-mirror.sh new file mode 100755 index 0000000..b56dcbe --- /dev/null +++ b/scripts/screen-mirror.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +if pkill -x wl-mirror; then + notify-send "wl-mirror" "Mirroring stopped" -i video-display + exit 0 +fi + +if command -v niri >/dev/null && niri msg outputs >/dev/null 2>&1; then + ACTIVE_OUTPUTS=$(niri msg outputs | awk -F'[()]' '/^Output/ {print $2}') + SOURCE_TOOL="Niri" +elif command -v wlr-randr >/dev/null; then + ACTIVE_OUTPUTS=$(wlr-randr | awk '/^[^ ]/ {name=$1} /Enabled: yes/ {print name}') + SOURCE_TOOL="wlr-randr" +else + notify-send "Mirror Error" "Neither 'niri' nor 'wlr-randr' found." -u critical + exit 1 +fi + +INTERNAL="" +EXTERNAL="" + +for out in $ACTIVE_OUTPUTS; do + if [[ $out == eDP* ]]; then + INTERNAL="$out" + else + EXTERNAL="$out" + fi +done + +if [[ -z "$INTERNAL" ]]; then + notify-send "Mirror Error" "Internal screen (eDP) not found." -u critical + exit 1 +fi + +if [[ -z "$EXTERNAL" ]]; then + notify-send "Mirror Status" "No external monitor detected." -u low + exit 1 +fi + +notify-send "wl-mirror ($SOURCE_TOOL)" "Mirroring $INTERNAL ➔ $EXTERNAL" -i video-display + +wl-mirror --fullscreen-output "$EXTERNAL" --scaling fit "$INTERNAL" || \ +notify-send "Mirror Error" "Failed to start wl-mirror" -u critical diff --git a/secrets/aur.age b/secrets/aur.age new file mode 100644 index 0000000..0316237 Binary files /dev/null and b/secrets/aur.age differ diff --git a/secrets/gitea_laptop.age b/secrets/gitea_laptop.age new file mode 100644 index 0000000..b09d6ef Binary files /dev/null and b/secrets/gitea_laptop.age differ diff --git a/secrets/hetzner_server.age b/secrets/hetzner_server.age new file mode 100644 index 0000000..5a4d271 --- /dev/null +++ b/secrets/hetzner_server.age @@ -0,0 +1,6 @@ +age-encryption.org/v1 +-> ssh-ed25519 o3KszQ O4xOtTDK/DH+r81x55jFRFtPAFpTpvCiUcUBy/bm320 +K8kjoDS2ODYJdNZCUmhTfQOWFHEFCkb90d9K5fEnxYo +--- j1a/Uo7QXWC0dnbSGKaRj/T9GkChC7BQf6kYC0HN8f4 +}N ,xoT#cdb,owah@Z&WU]S6T )Yg +/?Ԡ8B£O7zRQي6sfSka$J'jBf,Խc Zn ذogproLIPL gA2L~---T-f>PAa'npPص'ײ.oKn:@̶m~Psŋu[z+ԵCf*+~WXx6(3io~lw;5BjF~En} * dnAڄo#;Dw~h^"zbY֍CPpTQID H_ BBh.+4({3}T3?g{~PτeF,T/_ ̽ \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix new file mode 100644 index 0000000..575ca8e --- /dev/null +++ b/secrets/secrets.nix @@ -0,0 +1,16 @@ +let + host = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICL0B9moxOPY4XYim8826M+Tf0sWErwWljz1gkDZPwuF root@aesthetic"; +in { + "gitea_laptop.age".publicKeys = [ + host + ]; + "hetzner_server.age".publicKeys = [ + host + ]; + "aur.age".publicKeys = [ + host + ]; + "ssh_config.age".publicKeys = [ + host + ]; +} diff --git a/secrets/ssh_config.age b/secrets/ssh_config.age new file mode 100644 index 0000000..bce2dd6 Binary files /dev/null and b/secrets/ssh_config.age differ diff --git a/system/core/boot.nix b/system/core/boot.nix new file mode 100644 index 0000000..a00b5a8 --- /dev/null +++ b/system/core/boot.nix @@ -0,0 +1,37 @@ +{ config, pkgs, lib, ... }: + +{ + boot = { + bootspec.enable = true; + + initrd.systemd.enable = true; + + supportedFilesystems = [ "ntfs" ]; + + kernelPackages = pkgs.linuxPackages_latest; + + consoleLogLevel = 3; + + kernelParams = [ + "quiet" + "systemd.show_status=auto" + "rd.udev.log_level=3" + "plymouth.use-simpledrm" + ]; + + plymouth.enable = true; + + tmp = { + useTmpfs = true; + cleanOnBoot = true; + }; + }; + + systemd.services.nix-daemon.environment.TMPDIR = "/var/tmp"; + + environment.systemPackages = [ + config.boot.kernelPackages.cpupower + pkgs.brightnessctl + pkgs.ddcutil + ]; +} diff --git a/system/core/default.nix b/system/core/default.nix new file mode 100644 index 0000000..020f40e --- /dev/null +++ b/system/core/default.nix @@ -0,0 +1,43 @@ +{lib, ...}: { + imports = [ + ./security.nix + ./users.nix + ../nix + ../programs/fish.nix + ]; + + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; + }; + + console.keyMap = "us"; + + # don't touch this + system = { + switch.enable = true; + stateVersion = lib.mkDefault "25.05"; + }; + + time = { + timeZone = lib.mkDefault "Europe/Amsterdam"; + hardwareClockInLocalTime = lib.mkDefault true; + }; + + # compresses half the ram for use as swap + zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 25; + }; +} diff --git a/system/core/limine.nix b/system/core/limine.nix new file mode 100644 index 0000000..8d1ae6f --- /dev/null +++ b/system/core/limine.nix @@ -0,0 +1,19 @@ +{ lib, pkgs, ... }: + +{ + boot.loader = { + limine = { + enable = true; + efiSupport = true; + biosSupport = true; + biosDevice = "/dev/nvme1n1"; + maxGenerations = 10; + style.wallpapers = [ + pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath + ]; + }; + + grub.enable = lib.mkForce false; + systemd-boot.enable = lib.mkForce false; + }; +} diff --git a/system/core/security.nix b/system/core/security.nix new file mode 100644 index 0000000..7434ef9 --- /dev/null +++ b/system/core/security.nix @@ -0,0 +1,87 @@ +# security tweaks borrowed from @hlissner +{ + boot.kernel.sysctl = { + # The Magic SysRq key is a key combo that allows users connected to the + # system console of a Linux kernel to perform some low-level commands. + + ## TCP hardening + # Prevent bogus ICMP errors from filling up logs. + "net.ipv4.icmp_ignore_bogus_error_responses" = 1; + # Reverse path filtering causes the kernel to do source validation of + # packets received from all interfaces. This can mitigate IP spoofing. + "net.ipv4.conf.default.rp_filter" = 1; + "net.ipv4.conf.all.rp_filter" = 1; + # Do not accept IP source route packets (we're not a router) + "net.ipv4.conf.all.accept_source_route" = 0; + "net.ipv6.conf.all.accept_source_route" = 0; + # Don't send ICMP redirects (again, we're not a router) + "net.ipv4.conf.all.send_redirects" = 0; + "net.ipv4.conf.default.send_redirects" = 0; + # Refuse ICMP redirects (MITM mitigations) + "net.ipv4.conf.all.accept_redirects" = 0; + "net.ipv4.conf.default.accept_redirects" = 0; + "net.ipv4.conf.all.secure_redirects" = 0; + "net.ipv4.conf.default.secure_redirects" = 0; + "net.ipv6.conf.all.accept_redirects" = 0; + "net.ipv6.conf.default.accept_redirects" = 0; + # Protects against SYN flood attacks + "net.ipv4.tcp_syncookies" = 1; + # Incomplete protection again TIME-WAIT assassination + "net.ipv4.tcp_rfc1337" = 1; + + ## TCP optimization + # TCP Fast Open is a TCP extension that reduces network latency by packing + # data in the sender’s initial TCP SYN. Setting 3 = enable TCP Fast Open for + # both incoming and outgoing connections: + "net.ipv4.tcp_fastopen" = 3; + + # Enable IPv4 forwarding for VPN/container routing + "net.ipv4.ip_forward" = 1; + # Bufferbloat mitigations + slight improvement in throughput & latency + "net.ipv4.tcp_congestion_control" = "bbr"; + "net.core.default_qdisc" = "cake"; + + ## Network performance optimizations + # Increase network buffer sizes + "net.core.rmem_default" = 262144; + "net.core.rmem_max" = 134217728; + "net.core.wmem_default" = 262144; + "net.core.wmem_max" = 134217728; + + # TCP buffer sizes + "net.ipv4.tcp_rmem" = "4096 131072 134217728"; + "net.ipv4.tcp_wmem" = "4096 65536 134217728"; + + # TCP performance + "net.ipv4.tcp_window_scaling" = 1; + "net.ipv4.tcp_timestamps" = 1; + "net.ipv4.tcp_sack" = 1; + "net.ipv4.tcp_fack" = 1; + "net.ipv4.tcp_low_latency" = 1; + "net.ipv4.tcp_adv_win_scale" = 1; + + # Reduce TIME_WAIT sockets + "net.ipv4.tcp_fin_timeout" = 15; + "net.ipv4.tcp_tw_reuse" = 1; + }; + + boot.kernelModules = ["tcp_bbr"]; + + security = { + # allow wayland lockers to unlock the screen + # userland niceness + rtkit.enable = true; + polkit.enable = true; + + sudo-rs = { + enable = true; + execWheelOnly = true; + wheelNeedsPassword = false; + }; + + # don't ask for password for wheel group + sudo = { + wheelNeedsPassword = false; + }; + }; +} diff --git a/system/core/users.nix b/system/core/users.nix new file mode 100644 index 0000000..e995346 --- /dev/null +++ b/system/core/users.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + users.users.someone = { + isNormalUser = true; + shell = pkgs.fish; + ignoreShellProgramCheck = true; + initialPassword = "nixos"; + extraGroups = [ + "adbusers" + "input" + "networkmanager" + "plugdev" + "video" + "wheel" + "kvm" + "i2c" + "docker" + ]; + }; +} diff --git a/system/default.nix b/system/default.nix new file mode 100644 index 0000000..663c48b --- /dev/null +++ b/system/default.nix @@ -0,0 +1,28 @@ +let + desktop = [ + ./core/boot.nix + ./core/default.nix + + ./hardware/graphics.nix + ./hardware/fwupd.nix + + ./network/default.nix + + ./programs + + ./services + ./services/docker.nix + ./services/greetd.nix + ./services/pipewire.nix + ./services/xdg-portal-fix.nix + ]; + + laptop = + desktop + ++ [ + ./hardware/bluetooth.nix + ./services/power.nix + ]; +in { + inherit desktop laptop; +} diff --git a/system/hardware/bluetooth.nix b/system/hardware/bluetooth.nix new file mode 100644 index 0000000..dda7833 --- /dev/null +++ b/system/hardware/bluetooth.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + hardware.bluetooth = { + enable = true; + package = pkgs.bluez5-experimental; + }; + + systemd.user.services.telephony_client.enable = false; +} diff --git a/system/hardware/fwupd.nix b/system/hardware/fwupd.nix new file mode 100644 index 0000000..a62f709 --- /dev/null +++ b/system/hardware/fwupd.nix @@ -0,0 +1,3 @@ +{ + services.fwupd.enable = true; +} diff --git a/system/hardware/graphics.nix b/system/hardware/graphics.nix new file mode 100644 index 0000000..316490c --- /dev/null +++ b/system/hardware/graphics.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + libva + libva-vdpau-driver + libvdpau-va-gl + libGL + mesa + ]; + extraPackages32 = with pkgs.pkgsi686Linux; [ + libva-vdpau-driver + libvdpau-va-gl + ]; + }; +} diff --git a/system/network/avahi.nix b/system/network/avahi.nix new file mode 100644 index 0000000..c885e9c --- /dev/null +++ b/system/network/avahi.nix @@ -0,0 +1,12 @@ +{ + # network discovery, mDNS + services.avahi = { + enable = true; + nssmdns4 = true; + publish = { + enable = true; + domain = true; + userServices = true; + }; + }; +} diff --git a/system/network/default.nix b/system/network/default.nix new file mode 100644 index 0000000..f87ed32 --- /dev/null +++ b/system/network/default.nix @@ -0,0 +1,31 @@ +{pkgs, ...}: { + networking = { + nameservers = ["1.1.1.1" "1.0.0.1"]; + + nftables.enable = true; + + networkmanager = { + enable = true; + dns = "none"; + wifi.powersave = true; + plugins = with pkgs; [ + networkmanager-openvpn + ]; + }; + + useDHCP = false; + dhcpcd.enable = false; + }; + + services = { + openssh = { + enable = true; + settings.UseDns = true; + }; + }; + + # Don't wait for network startup + systemd.services.NetworkManager-wait-online.serviceConfig.ExecStart = ["" "${pkgs.networkmanager}/bin/nm-online -q"]; + # Editable /etc/hosts for htb machines + environment.etc.hosts.enable = false; +} diff --git a/system/nix/default.nix b/system/nix/default.nix new file mode 100644 index 0000000..9625853 --- /dev/null +++ b/system/nix/default.nix @@ -0,0 +1,42 @@ +{ + config, + pkgs, + inputs, + lib, + ... +}: { + imports = [ + ./nh.nix + ./nixpkgs.nix + ./substituters.nix + ]; + + # we need git for flakes + environment.systemPackages = [pkgs.git]; + + nix = let + flakeInputs = lib.filterAttrs (_: v: lib.isType "flake" v) inputs; + in { + package = pkgs.lix; + + # pin the registry to avoid downloading and evaling a new nixpkgs version every time + registry = lib.mapAttrs (_: v: {flake = v;}) flakeInputs; + + # set the path for channels compat + nixPath = lib.mapAttrsToList (key: _: "${key}=flake:${key}") config.nix.registry; + + settings = { + auto-optimise-store = true; + builders-use-substitutes = true; + experimental-features = ["nix-command" "flakes"]; + flake-registry = "/etc/nix/registry.json"; + + # for direnv GC roots + keep-derivations = true; + keep-outputs = true; + + trusted-users = ["root" "@wheel"]; + accept-flake-config = false; + }; + }; +} diff --git a/system/nix/nh.nix b/system/nix/nh.nix new file mode 100644 index 0000000..043522c --- /dev/null +++ b/system/nix/nh.nix @@ -0,0 +1,13 @@ +_: { + # nh default flake + environment.variables.NH_FLAKE = "/etc/nixos"; + + programs.nh = { + enable = true; + # weekly cleanup + clean = { + enable = true; + extraArgs = "--keep-since 7d"; + }; + }; +} diff --git a/system/nix/nixpkgs.nix b/system/nix/nixpkgs.nix new file mode 100644 index 0000000..9e5d06f --- /dev/null +++ b/system/nix/nixpkgs.nix @@ -0,0 +1,10 @@ +_: { + nixpkgs = { + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "electron-38.7.1" + ]; + }; + }; +} diff --git a/system/nix/substituters.nix b/system/nix/substituters.nix new file mode 100644 index 0000000..d444ddb --- /dev/null +++ b/system/nix/substituters.nix @@ -0,0 +1,25 @@ +{ + nix.settings = { + substituters = [ + # high priority since it's almost always used + "https://cache.nixos.org?priority=10" + + "https://attic.xuyh0120.win/lantian" + "https://chaotic-nyx.cachix.org/" + "https://fufexan.cachix.org" + "https://niri.cachix.org" + "https://nix-community.cachix.org" + ]; + + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + + "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" + "fufexan.cachix.org-1:LwCDjCJNJQf5XD2BV+yamQIMZfcKWR9ISIFy5curUsY=" + "lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc=" + "someone.cachix.org-1:2K7KEjzbd3U+qMQRte/DGqttosw8EGgGVvu8vKu8D6A=" + "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; +} diff --git a/system/programs/default.nix b/system/programs/default.nix new file mode 100644 index 0000000..5c0b7b8 --- /dev/null +++ b/system/programs/default.nix @@ -0,0 +1,11 @@ +_: { + imports = [ + ./fonts.nix + ./xdg.nix + ]; + + programs = { + dconf.enable = true; + seahorse.enable = true; + }; +} diff --git a/system/programs/fish.nix b/system/programs/fish.nix new file mode 100644 index 0000000..5c75fc5 --- /dev/null +++ b/system/programs/fish.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + environment = { + shells = [pkgs.fish]; + pathsToLink = ["/share/fish"]; + }; + + programs = { + less.enable = true; + }; +} diff --git a/system/programs/fonts.nix b/system/programs/fonts.nix new file mode 100644 index 0000000..213541d --- /dev/null +++ b/system/programs/fonts.nix @@ -0,0 +1,54 @@ +{ + inputs, + pkgs, + ... +}: { + fonts = { + packages = with pkgs; [ + # icon fonts + material-symbols + + # normal fonts + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + + # nerdfonts + nerd-fonts.symbols-only + nerd-fonts.sauce-code-pro + cozette + + inputs.self.packages.${stdenv.hostPlatform.system}.apple-fonts + ]; + + # causes more issues than it solves + enableDefaultPackages = false; + + fontconfig = { + enable = true; + antialias = true; + hinting = { + enable = true; + autohint = false; + style = "full"; + }; + subpixel = { + lcdfilter = "default"; + rgba = "rgb"; + }; + defaultFonts = let + addAll = builtins.mapAttrs (_: v: ["Symbols Nerd Font"] ++ v ++ ["Noto Color Emoji"]); + in + addAll { + serif = ["New York Small"]; + sansSerif = ["SF Pro Display"]; + monospace = ["SauceCodePro Nerd Font"]; + emoji = ["Noto Color Emoji"]; + }; + }; + fontDir = { + enable = true; + decompressFonts = true; + }; + }; +} diff --git a/system/programs/qt.nix b/system/programs/qt.nix new file mode 100644 index 0000000..0b041f8 --- /dev/null +++ b/system/programs/qt.nix @@ -0,0 +1,7 @@ +{ + qt = { + enable = true; + platformTheme = "gnome"; + style = "adwaita-dark"; + }; +} diff --git a/system/programs/xdg.nix b/system/programs/xdg.nix new file mode 100644 index 0000000..b3913b7 --- /dev/null +++ b/system/programs/xdg.nix @@ -0,0 +1,28 @@ +{ + lib, + pkgs, + ... +}: { + xdg.portal = { + enable = true; + config = { + common = { + default = ["gnome" "gtk"]; + "org.freedesktop.impl.portal.ScreenCast" = "gnome"; + "org.freedesktop.impl.portal.Screenshot" = "gnome"; + "org.freedesktop.impl.portal.RemoteDesktop" = "gnome"; + "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; + "org.freedesktop.impl.portal.OpenURI" = "gtk"; + "org.freedesktop.impl.portal.OpenFile" = "gtk"; + }; + }; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-gnome + ]; + }; + + environment.sessionVariables = { + NIX_XDG_DESKTOP_PORTAL_DIR = lib.mkForce null; + }; +} diff --git a/system/services/default.nix b/system/services/default.nix new file mode 100644 index 0000000..075b850 --- /dev/null +++ b/system/services/default.nix @@ -0,0 +1,30 @@ +{ + lib, + pkgs, + ... +}: { + services = { + printing = { + enable = true; + drivers = [pkgs.hplip]; + }; + + irqbalance.enable = true; + thermald.enable = true; + speechd.enable = lib.mkForce false; + }; + + # Use in place of hypridle's before_sleep_cmd, since systemd does not wait for + # it to complete + powerManagement = { + enable = true; + cpuFreqGovernor = "schedutil"; + powerDownCommands = '' + # Lock all sessions + loginctl lock-sessions + + # Wait for lockscreen(s) to be up + sleep 1 + ''; + }; +} diff --git a/system/services/docker.nix b/system/services/docker.nix new file mode 100644 index 0000000..a878015 --- /dev/null +++ b/system/services/docker.nix @@ -0,0 +1,3 @@ +{ + virtualisation.docker.enable = true; +} diff --git a/system/services/gnome-services.nix b/system/services/gnome-services.nix new file mode 100644 index 0000000..3109091 --- /dev/null +++ b/system/services/gnome-services.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + services = { + # needed for GNOME services outside of GNOME Desktop + dbus = { + implementation = "broker"; + packages = with pkgs; [ + gcr + gnome-settings-daemon + libsecret + ]; + }; + gnome.gnome-keyring.enable = true; + + gvfs.enable = true; + }; +} diff --git a/system/services/greetd.nix b/system/services/greetd.nix new file mode 100644 index 0000000..09b21fe --- /dev/null +++ b/system/services/greetd.nix @@ -0,0 +1,22 @@ +{pkgs, ...}: { + # greetd display manager + services = { + greetd = let + session = { + command = "${pkgs.niri}/bin/niri-session"; + user = "someone"; + }; + in { + enable = true; + settings = { + terminal.vt = 1; + default_session = session; + initial_session = session; + }; + }; + displayManager.autoLogin = { + user = "someone"; + enable = true; + }; + }; +} diff --git a/system/services/location.nix b/system/services/location.nix new file mode 100644 index 0000000..4860172 --- /dev/null +++ b/system/services/location.nix @@ -0,0 +1,17 @@ +{ + # enable location service + location.provider = "geoclue2"; + + # provide location + services.geoclue2 = { + enable = true; + geoProviderUrl = "https://beacondb.net/v1/geolocate"; + submissionUrl = "https://beacondb.net/v2/geosubmit"; + submissionNick = "geoclue"; + + appConfig.gammastep = { + isAllowed = true; + isSystem = false; + }; + }; +} diff --git a/system/services/pipewire.nix b/system/services/pipewire.nix new file mode 100644 index 0000000..f83cc07 --- /dev/null +++ b/system/services/pipewire.nix @@ -0,0 +1,39 @@ +{pkgs, ...}: { + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + jack.enable = true; + pulse.enable = true; + + wireplumber = { + enable = true; + configPackages = [ + (pkgs.writeTextDir "share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" '' + bluez_monitor.properties = { + ["bluez5.enable-sbc-xq"] = true, + ["bluez5.enable-msbc"] = true, + ["bluez5.enable-hw-volume"] = true, + ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]", + ["bluez5.a2dp.ldac.quality"] = "auto", + ["bluez5.a2dp.aac.bitratemode"] = 0, + ["bluez5.default.rate"] = 48000, + ["bluez5.default.channels"] = 2, + ["bluez5.headset-profile"] = "a2dp-only" + } + '') + ]; + }; + + extraConfig.pipewire."99-custom" = { + "context.properties" = { + default.clock = { + rate = 48000; + quantum = 1024; + min-quantum = 32; + max-quantum = 2048; + }; + }; + }; + }; +} diff --git a/system/services/power.nix b/system/services/power.nix new file mode 100644 index 0000000..6f90e22 --- /dev/null +++ b/system/services/power.nix @@ -0,0 +1,20 @@ +{ + services = { + logind.settings.Login = { + powerKey = "suspend"; + lidSwitch = "suspend"; + lidSwitchExternalPower = "lock"; + }; + + power-profiles-daemon.enable = true; + + # battery info + upower = { + enable = true; + percentageLow = 20; + percentageCritical = 10; + percentageAction = 3; + criticalPowerAction = "PowerOff"; + }; + }; +} diff --git a/system/services/xdg-portal-fix.nix b/system/services/xdg-portal-fix.nix new file mode 100644 index 0000000..4b51df0 --- /dev/null +++ b/system/services/xdg-portal-fix.nix @@ -0,0 +1,7 @@ +{...}: { + systemd.user.services.xdg-desktop-portal = { + serviceConfig = { + UnsetEnvironment = "NIX_XDG_DESKTOP_PORTAL_DIR"; + }; + }; +}