Initial commit
@@ -0,0 +1,4 @@
|
|||||||
|
.direnv
|
||||||
|
.pre-commit-config.yaml
|
||||||
|
secrets/id_ed25519
|
||||||
|
secrets/id_ed25519.pub
|
||||||
@@ -0,0 +1,177 @@
|
|||||||
|
<p align="center"><img src="https://i.imgur.com/X5zKxvp.png" width=300px></p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://hyprland.org/">
|
||||||
|
<img src="https://img.shields.io/static/v1?label=NIRI&message=latest&style=flat&logo=hyprland&colorA=24273A&colorB=8AADF4&logoColor=CAD3F5"/>
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/zemmsoares/awesome-rices">
|
||||||
|
<img src="https://raw.githubusercontent.com/zemmsoares/awesome-rices/main/assets/awesome-rice-badge.svg" alt="awesome-rice-badge">
|
||||||
|
</a>
|
||||||
|
<a href="https://nixos.wiki/wiki/Flakes">
|
||||||
|
<img src="https://img.shields.io/static/v1?label=Nix-Flake&message=check&style=flat&logo=nixos&colorA=24273A&colorB=9173ff&logoColor=CAD3F5">
|
||||||
|
</a>
|
||||||
|
<a href="https://nixos.org/">
|
||||||
|
<img src="https://img.shields.io/badge/NixOS-unstable-informational.svg?style=flat&logo=nixos&logoColor=CAD3F5&colorA=24273A&colorB=8AADF4">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h1 align="center">芯 (Shin)</h1>
|
||||||
|
|
||||||
|
### ⚠ <sup><sub><samp>PLEASE RESPECT THE CREDITS IF YOU USE SOMETHING FROM MY DESKTOP/SETUP.</samp></sub></sup>
|
||||||
|
|
||||||
|
> **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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<pre align="center"><p align="center"><a href="#seedling--setup">SETUP</a> • <a href="#herb--guides">GUIDES</a> • <a href="#four_leaf_clover--key-bindings">KEYBINDS</a> • <a href="https://linu.dev/kaku">GALLERY</a></p></pre>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<a href="#octocat--hi-there-thanks-for-dropping-by">
|
||||||
|
<picture>
|
||||||
|
<img alt="" align="right" width="400px" src="/assets/6.png"/>
|
||||||
|
</picture>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
- **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
|
||||||
|
|
||||||
|
## 🌼 <samp>INSTALLATION (NixOS)</samp>
|
||||||
|
|
||||||
|
> 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:
|
||||||
|
|
||||||
|
### ⚠ <sup><sub><samp>DON'T FORGET IT</samp></sub></sup>
|
||||||
|
|
||||||
|
```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
|
||||||
|
|
||||||
|
### 🐙 <sup><sub><samp>Remember <strong>Default</strong> User & password are: nixos</samp></sub></sup>
|
||||||
|
|
||||||
|
- Change Default password for User.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
passwd YourUser
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🌻 <samp>TODO LIST</samp>
|
||||||
|
|
||||||
|
### 🧩 <samp>ADDITIONAL TIPS</samp>
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
## 🍀 <samp>KEY BINDINGS</samp>
|
||||||
|
|
||||||
|
## 💐 <samp>ACKNOWLEDGEMENTS</samp>
|
||||||
|
|
||||||
|
| | | 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) | | |
|
||||||
|
| | | | | |
|
||||||
|
|
||||||
|
## 🌳 <samp>CONTRIBUTING</samp>
|
||||||
|
|
||||||
|
WIP
|
||||||
|
|
||||||
|
## 🎃 <samp>SECURITY POLICY</samp>
|
||||||
|
|
||||||
|
<pre align="center">
|
||||||
|
<a href="#readme">BACK TO TOP</a>
|
||||||
|
</pre>
|
||||||
|
After Width: | Height: | Size: 1.5 MiB |
@@ -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
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
tt.*
|
||||||
|
.tests
|
||||||
|
doc/tags
|
||||||
|
debug
|
||||||
|
.repro
|
||||||
|
foo.*
|
||||||
|
*.log
|
||||||
|
data
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"neodev": {
|
||||||
|
"library": {
|
||||||
|
"enabled": true,
|
||||||
|
"plugins": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neoconf": {
|
||||||
|
"plugins": {
|
||||||
|
"lua_ls": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
|
require("config.lazy")
|
||||||
|
require("custom_colorschemes.alacritty_colour_jory").setup()
|
||||||
@@ -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" }
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"extras": [
|
||||||
|
"lazyvim.plugins.extras.ai.copilot",
|
||||||
|
"lazyvim.plugins.extras.ai.copilot-chat"
|
||||||
|
],
|
||||||
|
"news": {
|
||||||
|
"NEWS.md": "11866"
|
||||||
|
},
|
||||||
|
"version": 8
|
||||||
|
}
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
{
|
||||||
|
"<leader>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", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||||
|
vim.keymap.set("n", "<leader>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<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||||
|
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 <tab> 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, {
|
||||||
|
["<Tab>"] = 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" }),
|
||||||
|
["<S-Tab>"] = 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,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
column_width = 120
|
||||||
@@ -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
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -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"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
users.users.someone.packages = with pkgs; [
|
||||||
|
alsa-utils
|
||||||
|
easyeffects
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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; };
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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 = {};
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|
||||||
@@ -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 <span weight='light' size='small'><i>($term_cmd)</i></span>"
|
||||||
|
option_2=" Files <span weight='light' size='small'><i>($file_cmd)</i></span>"
|
||||||
|
option_3=" Editor <span weight='light' size='small'><i>($text_cmd)</i></span>"
|
||||||
|
option_4=" Browser <span weight='light' size='small'><i>($web_cmd)</i></span>"
|
||||||
|
option_5=" Music <span weight='light' size='small'><i>($music_cmd)</i></span>"
|
||||||
|
option_6=" Settings <span weight='light' size='small'><i>($setting_cmd)</i></span>"
|
||||||
|
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
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
@@ -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
|
||||||
|
|
||||||
@@ -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"
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Fonts
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetBrains Mono Nerd Font 10";
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
## Current Theme
|
||||||
|
|
||||||
|
type="$HOME/.config/rofi/applets/type-1"
|
||||||
|
style='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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #222D32FF;
|
||||||
|
background-alt: #29353BFF;
|
||||||
|
foreground: #B8C2C6FF;
|
||||||
|
selected: #00BCD4FF;
|
||||||
|
active: #21FF90FF;
|
||||||
|
urgent: #FF4B60FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #2F343FFF;
|
||||||
|
background-alt: #383C4AFF;
|
||||||
|
foreground: #BAC5D0FF;
|
||||||
|
selected: #5294E2FF;
|
||||||
|
active: #98C379FF;
|
||||||
|
urgent: #E06B74FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #000000FF;
|
||||||
|
background-alt: #101010FF;
|
||||||
|
foreground: #FFFFFFFF;
|
||||||
|
selected: #62AEEFFF;
|
||||||
|
active: #98C379FF;
|
||||||
|
urgent: #E06B74FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1E1D2FFF;
|
||||||
|
background-alt: #282839FF;
|
||||||
|
foreground: #D9E0EEFF;
|
||||||
|
selected: #7AA2F7FF;
|
||||||
|
active: #ABE9B3FF;
|
||||||
|
urgent: #F28FADFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #000B1EFF;
|
||||||
|
background-alt: #0A1528FF;
|
||||||
|
foreground: #0ABDC6FF;
|
||||||
|
selected: #0ABDC6FF;
|
||||||
|
active: #00FF00FF;
|
||||||
|
urgent: #FF0000FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1E1F29FF;
|
||||||
|
background-alt: #282A36FF;
|
||||||
|
foreground: #FFFFFFFF;
|
||||||
|
selected: #BD93F9FF;
|
||||||
|
active: #50FA7BFF;
|
||||||
|
urgent: #FF5555FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #323D43FF;
|
||||||
|
background-alt: #3C474DFF;
|
||||||
|
foreground: #DAD1BEFF;
|
||||||
|
selected: #7FBBB3FF;
|
||||||
|
active: #A7C080FF;
|
||||||
|
urgent: #E67E80FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #282828FF;
|
||||||
|
background-alt: #353535FF;
|
||||||
|
foreground: #EBDBB2FF;
|
||||||
|
selected: #83A598FF;
|
||||||
|
active: #B8BB26FF;
|
||||||
|
urgent: #FB4934FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1D1F28FF;
|
||||||
|
background-alt: #282A36FF;
|
||||||
|
foreground: #FDFDFDFF;
|
||||||
|
selected: #79E6F3FF;
|
||||||
|
active: #5ADECDFF;
|
||||||
|
urgent: #F37F97FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #021B21FF;
|
||||||
|
background-alt: #0C252BFF;
|
||||||
|
foreground: #F2F1B9FF;
|
||||||
|
selected: #44B5B1FF;
|
||||||
|
active: #7CBF9EFF;
|
||||||
|
urgent: #C2454EFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #2E3440FF;
|
||||||
|
background-alt: #383E4AFF;
|
||||||
|
foreground: #E5E9F0FF;
|
||||||
|
selected: #81A1C1FF;
|
||||||
|
active: #A3BE8CFF;
|
||||||
|
urgent: #BF616AFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1E2127FF;
|
||||||
|
background-alt: #282B31FF;
|
||||||
|
foreground: #FFFFFFFF;
|
||||||
|
selected: #61AFEFFF;
|
||||||
|
active: #98C379FF;
|
||||||
|
urgent: #E06C75FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #F1F1F1FF;
|
||||||
|
background-alt: #E0E0E0FF;
|
||||||
|
foreground: #252525FF;
|
||||||
|
selected: #008EC4FF;
|
||||||
|
active: #10A778FF;
|
||||||
|
urgent: #C30771FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #002B36FF;
|
||||||
|
background-alt: #073642FF;
|
||||||
|
foreground: #EEE8D5FF;
|
||||||
|
selected: #268BD2FF;
|
||||||
|
active: #859900FF;
|
||||||
|
urgent: #DC322FFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Levi Lacoss (fishyfishfish55)
|
||||||
|
* Github : @fishyfishfish55
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #15161EFF;
|
||||||
|
background-alt: #1A1B26FF;
|
||||||
|
foreground: #C0CAF5FF;
|
||||||
|
selected: #33467CFF;
|
||||||
|
active: #414868FF;
|
||||||
|
urgent: #F7768EFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #F5E7DEFF;
|
||||||
|
background-alt: #EBDCD2FF;
|
||||||
|
foreground: #34302DFF;
|
||||||
|
selected: #D97742FF;
|
||||||
|
active: #BF8F60FF;
|
||||||
|
urgent: #B23636FF;
|
||||||
|
}
|
||||||
@@ -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} [<span weight='light' size='small'><i>({generic})</i></span>]";
|
||||||
|
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";
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 266 KiB |
|
After Width: | Height: | Size: 197 KiB |
|
After Width: | Height: | Size: 223 KiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 441 KiB |
|
After Width: | Height: | Size: 648 KiB |
|
After Width: | Height: | Size: 339 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 666 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 2.7 KiB |