Compare commits
1 Commits
main
...
85e506ec00
Author | SHA1 | Date | |
---|---|---|---|
|
85e506ec00 |
@@ -1,38 +0,0 @@
|
|||||||
name: Nix Build
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
workflow_run:
|
|
||||||
workflows: []
|
|
||||||
types: [completed]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-nixos:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: "Install Nix ❄️"
|
|
||||||
uses: cachix/install-nix-action@v31
|
|
||||||
|
|
||||||
# - uses: DeterminateSystems/nix-installer-action@v4
|
|
||||||
- uses: DeterminateSystems/magic-nix-cache-action@v13
|
|
||||||
- uses: DeterminateSystems/flake-checker-action@v12
|
|
||||||
|
|
||||||
- name: "Install Cachix ❄️"
|
|
||||||
uses: cachix/cachix-action@v16
|
|
||||||
with:
|
|
||||||
name: helcel
|
|
||||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
|
||||||
|
|
||||||
|
|
||||||
- name: "Build NixOS CI config ❄️"
|
|
||||||
run: |
|
|
||||||
nix build .#nixosConfigurations.ci.config.system.build.toplevel
|
|
||||||
|
|
||||||
- name: "Build NixOS Sandbox config ❄️"
|
|
||||||
run: |
|
|
||||||
nix build .#nixosConfigurations.sandbox.config.system.build.toplevel
|
|
||||||
|
|
60
.gitea/workflows/update.yml → .gitea/workflows/main.yml
Normal file → Executable file
60
.gitea/workflows/update.yml → .gitea/workflows/main.yml
Normal file → Executable file
@@ -1,30 +1,30 @@
|
|||||||
name: update-flake-lock
|
name: update-flake-lock
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 2 * * 6,7'
|
- cron: '0 0 * * *' # runs weekly on Sunday at 00:00 ... 0 0 * * 0
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
USER: "runner"
|
USER: "runner"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lockfile:
|
lockfile:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
- name: Install nix
|
- name: Install nix
|
||||||
uses: DeterminateSystems/nix-installer-action@v19
|
uses: DeterminateSystems/nix-installer-action@v7
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
||||||
extra_nix_config: |
|
extra_nix_config: |
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes
|
||||||
- name: Update flake.lock
|
- name: Update flake.lock
|
||||||
uses: DeterminateSystems/update-flake-lock@v27
|
uses: DeterminateSystems/update-flake-lock@v20
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GT_TOKEN_FOR_UPDATES }}
|
token: ${{ secrets.GT_TOKEN_FOR_UPDATES }}
|
||||||
pr-title: "[chore] Update flake.lock"
|
pr-title: "[chore] Update flake.lock"
|
||||||
pr-labels: |
|
pr-labels: |
|
||||||
dependencies
|
dependencies
|
||||||
automated
|
automated
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,3 @@
|
|||||||
result
|
result
|
||||||
age-key.txt
|
age-key.txt
|
||||||
.decrypted~common.yaml
|
.decrypted~common.yaml
|
||||||
.decrypted*
|
|
||||||
|
27
.sops.yaml
27
.sops.yaml
@@ -4,55 +4,38 @@ keys:
|
|||||||
- &sora 4E241635F8EDD2919D2FB44CA362EA0491E2EEA0
|
- &sora 4E241635F8EDD2919D2FB44CA362EA0491E2EEA0
|
||||||
# Hosts
|
# Hosts
|
||||||
- &hosts:
|
- &hosts:
|
||||||
- &ci age13qv9dn9806paqgpjwmmkwtdzvv4qpv0ulksq0epnn8ufaxeug5zskyas3z
|
|
||||||
- &iriy age1ms8f0ysv6vakxepvt69fejczs6tddexepesdv4rkgtheehj3nu4sc6290s
|
- &iriy age1ms8f0ysv6vakxepvt69fejczs6tddexepesdv4rkgtheehj3nu4sc6290s
|
||||||
- &avalon age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
- &avalon age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||||
- &valinor age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
- &valinor age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||||
- &asgard age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
- &asgard age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||||
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: modules/shared/sops/private/iriy.[a-z]+
|
- path_regex: secrets/iriy.ya?ml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *iriy
|
- *iriy
|
||||||
pgp:
|
pgp:
|
||||||
- *sora
|
- *sora
|
||||||
- path_regex: modules/shared/sops/private/avalon.[a-z]+
|
- path_regex: secrets/avalon.ya?ml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *avalon
|
- *avalon
|
||||||
pgp:
|
pgp:
|
||||||
- *sora
|
- *sora
|
||||||
- path_regex: modules/shared/sops/private/valinor.[a-z]+
|
- path_regex: secrets/valinor.ya?ml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *valinor
|
- *valinor
|
||||||
pgp:
|
pgp:
|
||||||
- *sora
|
- *sora
|
||||||
- path_regex: modules/shared/sops/private/asgard.[a-z]+
|
- path_regex: secrets/asgard.ya?ml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *asgard
|
- *asgard
|
||||||
pgp:
|
pgp:
|
||||||
- *sora
|
- *sora
|
||||||
|
|
||||||
- path_regex: modules/shared/sops/common.[a-z]+
|
- path_regex: secrets/common.ya?ml$
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *valinor
|
|
||||||
- *iriy
|
|
||||||
- *avalon
|
|
||||||
- *asgard
|
|
||||||
pgp:
|
|
||||||
- *sora
|
|
||||||
|
|
||||||
- path_regex: modules/shared/sops/mock.[a-z]+
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *ci
|
|
||||||
|
|
||||||
|
|
||||||
- path_regex: modules/server/sops/server.[a-z]+
|
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *valinor
|
- *valinor
|
||||||
|
375
flake.lock
generated
375
flake.lock
generated
@@ -1,35 +1,13 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"arion": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"haskell-flake": "haskell-flake",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1745165725,
|
|
||||||
"narHash": "sha256-OnHV8Us04vRsWM0uL1cQez8DumhRi6yE+4K4VLtH6Ws=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "arion",
|
|
||||||
"rev": "4f59059633b14364b994503b179a701f5e6cfb90",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "arion",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-schemes": {
|
"base16-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696158499,
|
"lastModified": 1689473676,
|
||||||
"narHash": "sha256-5yIHgDTPjoX/3oDEfLSQ0eJZdFL1SaCfb9d6M0RmOTM=",
|
"narHash": "sha256-L0RhUr9+W5EPWBpLcmkKpUeCEWRs/kLzVMF3Vao2ZU0=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-schemes",
|
"repo": "base16-schemes",
|
||||||
"rev": "a9112eaae86d9dd8ee6bb9445b664fba2f94037a",
|
"rev": "d95123ca6377cd849cfdce92c0a24406b0c6a789",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -45,11 +23,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751313918,
|
"lastModified": 1699867978,
|
||||||
"narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
|
"narHash": "sha256-+arl45HUOcBdKiRGrKXZYXDyBQ6MQGkYPZa/28f6Yzo=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
|
"rev": "e67f2bf515343da378c3f82f098df8ca01bccc5f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -59,55 +37,65 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-compat": {
|
||||||
"inputs": {
|
"flake": false,
|
||||||
"nixpkgs-lib": [
|
|
||||||
"arion",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733312601,
|
"lastModified": 1650374568,
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||||
"owner": "hercules-ci",
|
"owner": "edolstra",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-compat",
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "edolstra",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"systems": "systems_2"
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733312601,
|
"lastModified": 1694529238,
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "numtide",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-utils",
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "numtide",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils-plus": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696331477,
|
||||||
|
"narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=",
|
||||||
|
"owner": "gytis-ivaskevicius",
|
||||||
|
"repo": "flake-utils-plus",
|
||||||
|
"rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "gytis-ivaskevicius",
|
||||||
|
"repo": "flake-utils-plus",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754564048,
|
"lastModified": 1699997707,
|
||||||
"narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=",
|
"narHash": "sha256-ugb+1TGoOqqiy3axyEZpfF6T4DQUGjfWZ3Htry1EfvI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113",
|
"rev": "5689f3ebf899f644a1aabe8774d4f37eb2f6c2f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -116,22 +104,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"haskell-flake": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1675296942,
|
|
||||||
"narHash": "sha256-u1X1sblozi5qYEcLp1hxcyo8FfDHnRUVX3dJ/tW19jY=",
|
|
||||||
"owner": "srid",
|
|
||||||
"repo": "haskell-flake",
|
|
||||||
"rev": "c2cafce9d57bfca41794dc3b99c593155006c71e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "srid",
|
|
||||||
"ref": "0.1.0",
|
|
||||||
"repo": "haskell-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -139,31 +111,77 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753592768,
|
"lastModified": 1700087144,
|
||||||
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
|
"narHash": "sha256-LJP1RW0hKNWmv2yRhnjkUptMXInKpn/rV6V6ofuZkHU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
|
"rev": "ab1459a1fb646c40419c732d05ec0bf2416d4506",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.05",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprland": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"systems": "systems",
|
||||||
|
"wlroots": "wlroots",
|
||||||
|
"xdph": "xdph"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1700168597,
|
||||||
|
"narHash": "sha256-N+FsHxNTnSnqQW0e1SbMm3Vw59PZ7KTj+vR1hivSWCw=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"rev": "1d9bfa60a19975274afb5fd9a3492f8cb6742c2e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-protocols": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1691753796,
|
||||||
|
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-colors": {
|
"nix-colors": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16-schemes": "base16-schemes",
|
"base16-schemes": "base16-schemes",
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1707825078,
|
"lastModified": 1695388192,
|
||||||
"narHash": "sha256-hTfge2J2W+42SZ7VHXkf4kjU+qzFqPeC9k66jAUBMHk=",
|
"narHash": "sha256-2jelpE7xK+4M7jZNyWL7QYOYegQLYBDQS5bvdo8XRUQ=",
|
||||||
"owner": "misterio77",
|
"owner": "misterio77",
|
||||||
"repo": "nix-colors",
|
"repo": "nix-colors",
|
||||||
"rev": "b01f024090d2c4fc3152cd0cf12027a7b8453ba1",
|
"rev": "37227f274b34a3b51649166deb94ce7fec2c6a4c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -172,45 +190,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixUnstable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1754711617,
|
|
||||||
"narHash": "sha256-WrZ280bT6NzNbBo+CKeJA/NW1rhvN/RUPZczqCpu2mI=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "00b574b1ba8a352f0601c4dde4faff4b534ebb1e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754689972,
|
"lastModified": 1698134075,
|
||||||
"narHash": "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc=",
|
"narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fc756aa6f5d3e2e5666efcf865d190701fef150a",
|
"rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1697935651,
|
"lastModified": 1694911725,
|
||||||
"narHash": "sha256-qOfWjQ2JQSQL15KLh6D7xQhx0qgZlYZTYlcEiRuAMMw=",
|
"narHash": "sha256-8YqI+YU1DGclEjHsnrrGfqsQg3Wyga1DfTbJrN3Ud0c=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "e1e11fdbb01113d85c7f41cada9d2847660e3902",
|
"rev": "819180647f428a3826bfc917a54449da1e532ce0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -219,13 +221,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699756042,
|
||||||
|
"narHash": "sha256-bHHjQQBsEPOxLL+klYU2lYshDnnWY12SewzQ7n5ab2M=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "9502d0245983bb233da8083b55d60d96fd3c29ff",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "release-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754498491,
|
"lastModified": 1699963925,
|
||||||
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
|
"narHash": "sha256-LE7OV/SwkIBsCpAlIPiFhch/J+jBDGEZjNfdnzCnCrY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
|
"rev": "bf744fe90419885eefced41b3e5ae442d732712d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -235,17 +253,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
"nixpkgs_3": {
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754771961,
|
"lastModified": 1699374756,
|
||||||
"narHash": "sha256-aLtVkt7vTReGT/M51TvKpUNOhvs+XFAdimadlUiOPfg=",
|
"narHash": "sha256-X21OIoVcJejN9JKoLuoZSx3ZZkMh/iSpJ+GGrSNQyGU=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "9b92dad3804b543a8b5db878aabf7132d601fa91",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1700175621,
|
||||||
|
"narHash": "sha256-sj3N9y+afXMB1z0LQf+SCdNOB15Qolew+5osctuusmA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "27dfc5e3bedd281be925bc290351890571a720d2",
|
"rev": "c4030da6892c521da5c4f6f31006ddf97ee63d8b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -256,29 +286,50 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"arion": "arion",
|
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"hardware": "hardware",
|
"hardware": "hardware",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"hyprland": "hyprland",
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
"nixUnstable": "nixUnstable",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
|
"snowfall-lib": "snowfall-lib",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"snowfall-lib": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-utils-plus": "flake-utils-plus",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754328224,
|
"lastModified": 1696432959,
|
||||||
"narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=",
|
"narHash": "sha256-oJQZv2MYyJaVyVJY5IeevzqpGvMGKu5pZcCCJvb+xjc=",
|
||||||
|
"owner": "snowfallorg",
|
||||||
|
"repo": "lib",
|
||||||
|
"rev": "92803a029b5314d4436a8d9311d8707b71d9f0b6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "snowfallorg",
|
||||||
|
"repo": "lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sops-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699951338,
|
||||||
|
"narHash": "sha256-1GeczM7XfgHcYGYiYNcdwSFu3E62vmh4d7mffWZvyzE=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4",
|
"rev": "0e3a94167dcd10a47b89141f35b2ff9e04b34c46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -286,6 +337,84 @@
|
|||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wlroots": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"host": "gitlab.freedesktop.org",
|
||||||
|
"lastModified": 1699292815,
|
||||||
|
"narHash": "sha256-HXu98PyBMKEWLqiTb8viuLDznud/SdkdJsx5A5CWx7I=",
|
||||||
|
"owner": "wlroots",
|
||||||
|
"repo": "wlroots",
|
||||||
|
"rev": "5de9e1a99d6642c2d09d589aa37ff0a8945dcee1",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"host": "gitlab.freedesktop.org",
|
||||||
|
"owner": "wlroots",
|
||||||
|
"repo": "wlroots",
|
||||||
|
"rev": "5de9e1a99d6642c2d09d589aa37ff0a8945dcee1",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xdph": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-protocols"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1697981233,
|
||||||
|
"narHash": "sha256-y8q4XUwx+gVK7i2eLjfR32lVo7TYvEslyzrmzYEaPZU=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"rev": "22e7a65ff9633e1dedfa5317fdffc49f68de2ff2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
61
flake.nix
61
flake.nix
@@ -1,14 +1,13 @@
|
|||||||
{
|
{
|
||||||
description = "SoraFlake";
|
description = "SoraFlake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# Trick renovate into working: "github:NixOS/nixpkgs/nixpkgs-unstable"
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixUnstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
||||||
hardware.url = "github:nixos/nixos-hardware";
|
hardware.url = "github:nixos/nixos-hardware";
|
||||||
nur.url = "github:nix-community/nur";
|
nur.url = "github:nix-community/nur";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -17,39 +16,45 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# hyprland = {
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
# url = "github:hyprwm/Hyprland";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
# };
|
|
||||||
sops-nix = {
|
|
||||||
url = "github:Mic92/sops-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
nix-colors.url = "github:misterio77/nix-colors";
|
nix-colors.url = "github:misterio77/nix-colors";
|
||||||
|
|
||||||
arion.url = "github:hercules-ci/arion";
|
snowfall-lib = {
|
||||||
arion.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:snowfallorg/lib";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs:
|
||||||
let gen = import ./generator.nix { inherit inputs; };
|
let
|
||||||
in {
|
lib = inputs.snowfall-lib.mkLib {
|
||||||
devShells = import ./shells { inherit inputs; };
|
inherit inputs;
|
||||||
|
src = ./.;
|
||||||
|
};
|
||||||
|
in lib.mkFlake {
|
||||||
|
|
||||||
nixosConfigurations = {
|
package-namespace = "custom";
|
||||||
valinor = gen.generate { host = "valinor"; };
|
|
||||||
iriy = gen.generate { host = "iriy"; };
|
channels-config = {
|
||||||
efir = gen.generate { host = "efir"; };
|
allowUnfree = true;
|
||||||
avalon = gen.generate { host = "avalon"; };
|
permittedInsecurePackages = [ ];
|
||||||
ci = gen.generate { host = "ci"; };
|
|
||||||
sandbox = gen.generate { host = "sandbox"; };
|
|
||||||
};
|
};
|
||||||
darwinConfigurations = { asgard = gen.generate { host = "asgard"; }; };
|
|
||||||
homeConfigurations = {
|
systems = {
|
||||||
yomi = gen.generate { host = "example"; };
|
modules = {
|
||||||
example = gen.generate { host = "example"; };
|
darwin = with inputs; [ sops-nix.nixosModules.sops ];
|
||||||
|
|
||||||
|
home = with inputs; [
|
||||||
|
nix-colors.homeManagerModules
|
||||||
|
hyprland.homeManagerModules
|
||||||
|
];
|
||||||
|
|
||||||
|
nixos = with inputs; [ sops-nix.nixosModules.sops ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ===== Unsupported/NotImplemented ======
|
# ===== Unsupported/NotImplemented ======
|
||||||
|
@@ -1,68 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
generate = { host }:
|
|
||||||
let
|
|
||||||
syscfg = import ./systems/${host}/cfg.nix;
|
|
||||||
nameValuePair = name: value: { inherit name value; };
|
|
||||||
in ({
|
|
||||||
"nixos" = inputs.nixpkgs.lib.nixosSystem {
|
|
||||||
system = syscfg.syscfg.system;
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./modules/shared/syscfg
|
|
||||||
./modules/shared/sops
|
|
||||||
./modules/nixos
|
|
||||||
syscfg
|
|
||||||
./systems/${host}
|
|
||||||
inputs.arion.nixosModules.arion
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
home-manager.users = builtins.listToAttrs (map (userConfig:
|
|
||||||
nameValuePair userConfig.username {
|
|
||||||
imports = [
|
|
||||||
./modules/shared/syscfg
|
|
||||||
./modules/shared/colors
|
|
||||||
./modules/home
|
|
||||||
syscfg
|
|
||||||
{ usercfg = userConfig; }
|
|
||||||
inputs.nix-colors.homeManagerModule
|
|
||||||
# inputs.hyprland.homeManagerModules.default
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
];
|
|
||||||
}) syscfg.syscfg.users);
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
"macos" = inputs.darwin.lib.darwinSystem {
|
|
||||||
system = syscfg.system;
|
|
||||||
modules = [
|
|
||||||
./modules/shared/syscfg
|
|
||||||
./modules/shared/sops
|
|
||||||
syscfg
|
|
||||||
./systems/${host}
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
inputs.home-manager.darwinModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
home-manager.users = builtins.listToAttrs (map (userConfig:
|
|
||||||
nameValuePair userConfig.username {
|
|
||||||
imports = [
|
|
||||||
inputs.nix-colors.homeManagerModule
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
];
|
|
||||||
}) syscfg.syscfg.users);
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"home" = inputs.home-manager.lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./modules/home ];
|
|
||||||
};
|
|
||||||
_ = throw "Unsupported system";
|
|
||||||
}.${syscfg.syscfg.type});
|
|
||||||
}
|
|
13
homes/x86_64-darwin/sora@asgard/home.nix
Executable file
13
homes/x86_64-darwin/sora@asgard/home.nix
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs; [ ];
|
||||||
|
stateVersion = "23.05";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
# FIND SETTINGS FROM /home/cli/zsh
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
17
homes/x86_64-linux/sora@avalon/default.nix
Normal file
17
homes/x86_64-linux/sora@avalon/default.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ ... }: {
|
||||||
|
imports = [ ./display.nix ];
|
||||||
|
|
||||||
|
config.homecfg = {
|
||||||
|
username = "sora";
|
||||||
|
make = {
|
||||||
|
gui = false;
|
||||||
|
cli = true;
|
||||||
|
game = false;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
email = "soraefir+git@pm.me";
|
||||||
|
username = "soraefir";
|
||||||
|
key = "4E241635F8EDD2919D2FB44CA362EA0491E2EEA0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
17
homes/x86_64-linux/sora@iriy/default.nix
Normal file
17
homes/x86_64-linux/sora@iriy/default.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ ... }: {
|
||||||
|
imports = [ ./display.nix ];
|
||||||
|
|
||||||
|
config.homecfg = {
|
||||||
|
username = "sora";
|
||||||
|
make = {
|
||||||
|
gui = true;
|
||||||
|
cli = true;
|
||||||
|
game = true;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
email = "soraefir+git@pm.me";
|
||||||
|
username = "soraefir";
|
||||||
|
key = "4E241635F8EDD2919D2FB44CA362EA0491E2EEA0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
17
homes/x86_64-linux/sora@iriy/display.nix
Normal file
17
homes/x86_64-linux/sora@iriy/display.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
services.kanshi = {
|
||||||
|
enable = true;
|
||||||
|
systemdTarget = "graphical-session.target";
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
outputs = [{
|
||||||
|
criteria = "CEX CX133 0x00000001";
|
||||||
|
mode = "1920x1200@59.972";
|
||||||
|
position = "0,0";
|
||||||
|
status = "enable";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
17
homes/x86_64-linux/sora@valinor/default.nix
Normal file
17
homes/x86_64-linux/sora@valinor/default.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ config, ... }: {
|
||||||
|
imports = [ ./display.nix ];
|
||||||
|
|
||||||
|
config.homecfg = {
|
||||||
|
username = "sora";
|
||||||
|
make = {
|
||||||
|
gui = true;
|
||||||
|
cli = true;
|
||||||
|
game = true;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
email = "soraefir+git@pm.me";
|
||||||
|
username = "soraefir";
|
||||||
|
key = "4E241635F8EDD2919D2FB44CA362EA0491E2EEA0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
33
homes/x86_64-linux/sora@valinor/display.nix
Normal file
33
homes/x86_64-linux/sora@valinor/display.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
services.kanshi = {
|
||||||
|
enable = true;
|
||||||
|
systemdTarget = "graphical-session.target";
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
outputs = [{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
mode = "1920x1080@60.020";
|
||||||
|
position = "0,0";
|
||||||
|
status = "enable";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
d0 = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "CEX CX133 0x00000001";
|
||||||
|
mode = "2560x1600@59.972";
|
||||||
|
position = "0,0";
|
||||||
|
status = "enable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
mode = "1920x1080@60.020";
|
||||||
|
position = "2560,0";
|
||||||
|
status = "enable";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -1,21 +1,12 @@
|
|||||||
{ lib, config, ... }: {
|
{ config, ... }: {
|
||||||
|
|
||||||
#environment.sessionVariables.SOPS_AGE_KEY_FILE = keyFilePath;
|
|
||||||
systemd.user.startServices = "sd-switch";
|
systemd.user.startServices = "sd-switch";
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "${config.usercfg.username}";
|
username = "${config.homecfg.username}";
|
||||||
homeDirectory = "/home/${config.usercfg.username}";
|
homeDirectory = "/home/${config.homecfg.username}";
|
||||||
|
|
||||||
stateVersion = "24.11";
|
stateVersion = "23.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#SOPS
|
|
||||||
# sops.defaultSopsFile = ./sops/${config.usercfg.username}.yaml;
|
|
||||||
# sops.age.keyFile = "/var/lib/sops-nix/age-key.txt";
|
|
||||||
# sops.age.generateKey = true;
|
|
||||||
# sops.secrets."github_user_key" = { };
|
|
||||||
# sops.secrets."curse_forge_key" = { };
|
|
||||||
}
|
}
|
||||||
|
@@ -1,69 +0,0 @@
|
|||||||
curse_forge_key: ENC[AES256_GCM,data:PhhwPhUys/WDzXb40iFlrUcwFEJVzi49vDlm5Hpc7IUwbBiQI1Zvi6115THMvarnGESDyouPfoZP0wha,iv:x//EzR4QwdD0UxqV97yUepc39DopoqiDT21unpF9R2E=,tag:5jM1EibWo0wI+PS70+kb/Q==,type:str]
|
|
||||||
github_user_key: ENC[AES256_GCM,data:RvBsQjWGd2qRCvBzcpMv8FIXGY/GiPd9o0x2Oq+NlbXxR2NMqNBNLw==,iv:99AcmOWFft7XQAn7YrGjZuCvz0M5wUkYeInsWwyeUFM=,tag:wkw2YQGi9j/8XtOFd8KhdQ==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBraWFDRFUxQ2l5OWV1OXNK
|
|
||||||
UExEbWZkM0kzVk1rZG4yY3pBLzdMVWVJS0UwCnhlWFJ5T2lZUXJyNkg1ejQxaU1t
|
|
||||||
L3F2RUhldTY3N2xXL0hwczNKRzNjcncKLS0tIEkycHoxcDBGNyt2V3RDY29wNGVp
|
|
||||||
TGg5Rk05VkRsaXM1Q0NxMmtMajRORDAKqjFldiAYJKjmnkeDkwanjYvhL6645DZ5
|
|
||||||
dVXExjqO/DG733ge8HFyKzpfpkzRymV1giUwxBdII1dd0mJ2ncINeA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1ms8f0ysv6vakxepvt69fejczs6tddexepesdv4rkgtheehj3nu4sc6290s
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3UkRjblIvYStZUzQyRHA1
|
|
||||||
ZGVXeHhrN0kyVkxZdms5U3gwVFlPMW12MVJjCjRkVURpZXBzb0tYenB4dGxKamh6
|
|
||||||
VXVBMmo1Ujkvd2VTRExyWE5MbVJaclUKLS0tIDVhRkYzZmEzUG00Q2IwOWZUMVVt
|
|
||||||
ODVIbytpcjN1cVMyaG1qVVdkRmtaMzQKNsvD9DpK/raDBob+IcuNk72tQDts36kJ
|
|
||||||
QhtoLy8MvUymi49PdEWrgyf68w5XwRO/U4iINhR0qzm0glg/XcyHjA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJc3hKWkk3ckNOY2UyTVhG
|
|
||||||
MmtLaEd0K04yaGxiOUoxMXkzOEFnYis4VkhnCktDRFM2bS8vb05OWDdwa0RwRlNO
|
|
||||||
cmlZemtxVGZ6S0tNTDV1cmE1N0pVWnMKLS0tIE9EZllycHJpcEY2R1pwOFhOZEU3
|
|
||||||
L01IcytDd3BPb0VOTW9DQ2lUdUVJS0kKiD+C+3mK1b/eIwCEFanFgYGLNk3JNPQ7
|
|
||||||
i1UqzbHVxSd0q/YVwdKAcj0jA6EezGm275tgq7IVsy2sHkvRMaEDtQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAweVU3TkxFZzRnd2I2clN2
|
|
||||||
ZTlTWmhwQkhVc1hnOXFvZVVDSWpHMVh1TGtrCkc3M1pUTnZCMHpvYXB5ZVhreGxa
|
|
||||||
ZVY2cG5Ja2ltL3k2Q1VEalc5TTNFMXcKLS0tIGd5UWl0RGVXT211Zm51dlB6WFZ1
|
|
||||||
STRtTVpVTCtVZ1FUNENqWFFVNTNuaVUKN6HRiZjTdENeif8dJ29urBxPXDaosjjY
|
|
||||||
InN4Ko6YUaGfvB1DTrKIzrxOpsHS+XjisoGfT71tJwwEOoREklEO/A==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-12-23T18:05:22Z"
|
|
||||||
mac: ENC[AES256_GCM,data:YSi2xIwz50VxUDL3QzGVUwRWUgZhvudSLCKgwIbWm8gkuAJ/V2sVRhJNVQJ1YvLO44ob5hmrgR4wSnOdAbS7FrpbLcJuoYBjVUTDjy+j6otnIDxEcYeciHhZ1pV/OiydBmJC+lZ4+SRdWdokL2HaXRKgc9QT9e/MdAbFIzI1x90=,iv:8rj8yEqHTMgoGu31RVskYizmROB/5I0ajZJ/EcmlVfE=,tag:PILFCyXY8sXYGxCEHS7qCg==,type:str]
|
|
||||||
pgp:
|
|
||||||
- created_at: "2023-04-20T10:20:17Z"
|
|
||||||
enc: |-
|
|
||||||
-----BEGIN PGP MESSAGE-----
|
|
||||||
|
|
||||||
wcFMA6R3Y9nD7qMBAQ/8CVWQaYKfOzvPIllZyyWpUjHRLLXaR8MNJ8U5WI/tdwdN
|
|
||||||
9UScDYJFuYRW7Q9s4Mt961kBGpaHqe9MUZBxUDlYX59+EN3FbO/eMQ5OqI05ESmL
|
|
||||||
TvZB4+S9C5o73nuypSDNvYz+Lgq6DO25ZPhXdtPhx2DE4G31/wft/LpxhjalIjI8
|
|
||||||
MU0Dv22R4qC+glJbe4GIF2IJ8XoxnnzjiGeSqiyv0QIBM0SzOtA5sKwNohWBnW7g
|
|
||||||
7vxOTm5+kyzG0dDjt3tFApgPDaA1wjofzhRuuveF52VBsuIA2opFdpqkyICvK6rn
|
|
||||||
NB5kUaPlY6A0m+n0oHSfY5wm/AnHNE4Oob/ifumAaB0EAJVUTRauI5M8SeJF0ya1
|
|
||||||
U0IQ9N2lb7Y6q4pqHywIa6fnylsqCfxInAYKMuslRq8f9t/qakb4/MYcnPrwpzjw
|
|
||||||
73/naiNoJmG6NVTkM52qTtOqZAmsaQd5cigTuPW2Z2CJq1yLZEVGSSd1DUGUjBDK
|
|
||||||
nQGucpVVVpD+ifrIPz+Iqwy+5NoZZm/Oa9pKJGFzqXinnDNZaqtgpmTw9QxcSeaP
|
|
||||||
VvGZG9CDd89MtAm1VQyuqi1bQ2faq3G0xNrLl7xUsfmjx4ofW+JXR87OzvGfLPhu
|
|
||||||
Sjl3kS9j5/MEBRBg3n9gNkgSu5Sy3ilhckY3yjTgAT9Gw2giDhCiUXi1/7KrGprS
|
|
||||||
UQHPCSsjyWsyuYVa3lAP/WPdVclc4WOdfYcetUCXBVP7LQr0bq+IG+2J0nnY3mDt
|
|
||||||
Va5k4sP1qu6Ecrs2JioQ1V2H+VmcrRykBWnMXl1tDSWKMA==
|
|
||||||
=pS8X
|
|
||||||
-----END PGP MESSAGE-----
|
|
||||||
fp: 4E241635F8EDD2919D2FB44CA362EA0491E2EEA0
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.9.2
|
|
@@ -6,86 +6,86 @@
|
|||||||
# Theme generated from: ${config.colorScheme.slug}
|
# Theme generated from: ${config.colorScheme.slug}
|
||||||
|
|
||||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||||
theme[main_bg]="#${config.colorScheme.palette.base00}"
|
theme[main_bg]="#${config.colorScheme.colors.base00}"
|
||||||
|
|
||||||
# Main text color
|
# Main text color
|
||||||
theme[main_fg]="#${config.colorScheme.palette.base07}"
|
theme[main_fg]="#${config.colorScheme.colors.base07}"
|
||||||
|
|
||||||
# Title color for boxes
|
# Title color for boxes
|
||||||
theme[title]="#${config.colorScheme.palette.base07}"
|
theme[title]="#${config.colorScheme.colors.base07}"
|
||||||
|
|
||||||
# Higlight color for keyboard shortcuts
|
# Higlight color for keyboard shortcuts
|
||||||
theme[hi_fg]="#${config.colorScheme.palette.base0E}"
|
theme[hi_fg]="#${config.colorScheme.colors.base0E}"
|
||||||
|
|
||||||
# Background color of selected item in processes box
|
# Background color of selected item in processes box
|
||||||
theme[selected_bg]="#${config.colorScheme.palette.base0C}"
|
theme[selected_bg]="#${config.colorScheme.colors.base0C}"
|
||||||
|
|
||||||
# Foreground color of selected item in processes box
|
# Foreground color of selected item in processes box
|
||||||
theme[selected_fg]="#${config.colorScheme.palette.base00}"
|
theme[selected_fg]="#${config.colorScheme.colors.base00}"
|
||||||
|
|
||||||
# Color of inactive/disabled text
|
# Color of inactive/disabled text
|
||||||
theme[inactive_fg]="#${config.colorScheme.palette.base02}"
|
theme[inactive_fg]="#${config.colorScheme.colors.base02}"
|
||||||
|
|
||||||
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||||
theme[graph_text]="#${config.colorScheme.palette.base05}"
|
theme[graph_text]="#${config.colorScheme.colors.base05}"
|
||||||
|
|
||||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||||
theme[proc_misc]="#${config.colorScheme.palette.base0C}"
|
theme[proc_misc]="#${config.colorScheme.colors.base0C}"
|
||||||
|
|
||||||
# Cpu box outline color
|
# Cpu box outline color
|
||||||
theme[cpu_box]="#${config.colorScheme.palette.base02}"
|
theme[cpu_box]="#${config.colorScheme.colors.base02}"
|
||||||
|
|
||||||
# Memory/disks box outline color
|
# Memory/disks box outline color
|
||||||
theme[mem_box]="#${config.colorScheme.palette.base02}"
|
theme[mem_box]="#${config.colorScheme.colors.base02}"
|
||||||
|
|
||||||
# Net up/down box outline color
|
# Net up/down box outline color
|
||||||
theme[net_box]="#${config.colorScheme.palette.base02}"
|
theme[net_box]="#${config.colorScheme.colors.base02}"
|
||||||
|
|
||||||
# Processes box outline color
|
# Processes box outline color
|
||||||
theme[proc_box]="#${config.colorScheme.palette.base02}"
|
theme[proc_box]="#${config.colorScheme.colors.base02}"
|
||||||
|
|
||||||
# Box divider line and small boxes line color
|
# Box divider line and small boxes line color
|
||||||
theme[div_line]="#${config.colorScheme.palette.base02}"
|
theme[div_line]="#${config.colorScheme.colors.base02}"
|
||||||
|
|
||||||
# Temperature graph colors
|
# Temperature graph colors
|
||||||
theme[temp_start]="#${config.colorScheme.palette.base0D}"
|
theme[temp_start]="#${config.colorScheme.colors.base0D}"
|
||||||
theme[temp_mid]=""
|
theme[temp_mid]=""
|
||||||
theme[temp_end]="#${config.colorScheme.palette.base0F}"
|
theme[temp_end]="#${config.colorScheme.colors.base0F}"
|
||||||
|
|
||||||
# CPU graph colors
|
# CPU graph colors
|
||||||
theme[cpu_start]="#${config.colorScheme.palette.base0C}"
|
theme[cpu_start]="#${config.colorScheme.colors.base0C}"
|
||||||
theme[cpu_mid]=""
|
theme[cpu_mid]=""
|
||||||
theme[cpu_end]="#${config.colorScheme.palette.base0C}"
|
theme[cpu_end]="#${config.colorScheme.colors.base0C}"
|
||||||
|
|
||||||
# Mem/Disk free meter
|
# Mem/Disk free meter
|
||||||
theme[free_start]="#${config.colorScheme.palette.base0A}"
|
theme[free_start]="#${config.colorScheme.colors.base0A}"
|
||||||
theme[free_mid]=""
|
theme[free_mid]=""
|
||||||
theme[free_end]="#${config.colorScheme.palette.base0A}"
|
theme[free_end]="#${config.colorScheme.colors.base0A}"
|
||||||
|
|
||||||
# Mem/Disk cached meter
|
# Mem/Disk cached meter
|
||||||
theme[cached_start]="#${config.colorScheme.palette.base09}"
|
theme[cached_start]="#${config.colorScheme.colors.base09}"
|
||||||
theme[cached_mid]=""
|
theme[cached_mid]=""
|
||||||
theme[cached_end]="#${config.colorScheme.palette.base09}"
|
theme[cached_end]="#${config.colorScheme.colors.base09}"
|
||||||
|
|
||||||
# Mem/Disk available meter
|
# Mem/Disk available meter
|
||||||
theme[available_start]="#${config.colorScheme.palette.base0B}"
|
theme[available_start]="#${config.colorScheme.colors.base0B}"
|
||||||
theme[available_mid]=""
|
theme[available_mid]=""
|
||||||
theme[available_end]="#${config.colorScheme.palette.base0B}"
|
theme[available_end]="#${config.colorScheme.colors.base0B}"
|
||||||
|
|
||||||
# Mem/Disk used meter
|
# Mem/Disk used meter
|
||||||
theme[used_start]="#${config.colorScheme.palette.base08}"
|
theme[used_start]="#${config.colorScheme.colors.base08}"
|
||||||
theme[used_mid]=""
|
theme[used_mid]=""
|
||||||
theme[used_end]="#${config.colorScheme.palette.base08}"
|
theme[used_end]="#${config.colorScheme.colors.base08}"
|
||||||
|
|
||||||
# Download graph colors
|
# Download graph colors
|
||||||
theme[download_start]="#${config.colorScheme.palette.base02}"
|
theme[download_start]="#${config.colorScheme.colors.base02}"
|
||||||
theme[download_mid]=""
|
theme[download_mid]=""
|
||||||
theme[download_end]="#${config.colorScheme.palette.base0D}"
|
theme[download_end]="#${config.colorScheme.colors.base0D}"
|
||||||
|
|
||||||
# Upload graph colors
|
# Upload graph colors
|
||||||
theme[upload_start]="#${config.colorScheme.palette.base02}"
|
theme[upload_start]="#${config.colorScheme.colors.base02}"
|
||||||
theme[upload_mid]=""
|
theme[upload_mid]=""
|
||||||
theme[upload_end]="#${config.colorScheme.palette.base0E}"
|
theme[upload_end]="#${config.colorScheme.colors.base0E}"
|
||||||
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
imports =
|
|
||||||
[ ./btop ./git ./helix ./kitty ./neofetch ./other ./starship ./zsh ];
|
|
||||||
}
|
|
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userEmail = "${config.usercfg.git.email}";
|
userEmail = "${config.homecfg.git.email}";
|
||||||
userName = "${config.usercfg.git.username}";
|
userName = "${config.homecfg.git.username}";
|
||||||
signing = {
|
signing = {
|
||||||
key = "${config.usercfg.git.key}";
|
key = "${config.homecfg.git.key}";
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
};
|
};
|
||||||
ignores = [ "*result*" ".direnv" "node_modules" ];
|
ignores = [ "*result*" ".direnv" "node_modules" ];
|
||||||
|
@@ -2,53 +2,53 @@
|
|||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
foreground = "#${config.colorScheme.palette.base07}";
|
foreground = "#${config.colorScheme.colors.base07}";
|
||||||
background = "#${config.colorScheme.palette.base00}";
|
background = "#${config.colorScheme.colors.base00}";
|
||||||
selection_foreground = "#${config.colorScheme.palette.base07}";
|
selection_foreground = "#${config.colorScheme.colors.base07}";
|
||||||
selection_background = "#${config.colorScheme.palette.base03}";
|
selection_background = "#${config.colorScheme.colors.base03}";
|
||||||
background_opacity = "0.9";
|
background_opacity = "0.9";
|
||||||
|
|
||||||
cursor = "#${config.colorScheme.palette.base05}";
|
cursor = "#${config.colorScheme.colors.base05}";
|
||||||
cursor_text_color = "#${config.colorScheme.palette.base01}";
|
cursor_text_color = "#${config.colorScheme.colors.base01}";
|
||||||
|
|
||||||
url_color = "#${config.colorScheme.palette.base05}";
|
url_color = "#${config.colorScheme.colors.base05}";
|
||||||
|
|
||||||
active_border_color = "#${config.colorScheme.palette.base05}";
|
active_border_color = "#${config.colorScheme.colors.base05}";
|
||||||
inactive_border_color = "#${config.colorScheme.palette.base03}";
|
inactive_border_color = "#${config.colorScheme.colors.base03}";
|
||||||
bell_border_color = "#${config.colorScheme.palette.base09}";
|
bell_border_color = "#${config.colorScheme.colors.base09}";
|
||||||
|
|
||||||
wayland_titlebar_color = "system";
|
wayland_titlebar_color = "system";
|
||||||
macos_titlebar_color = "system";
|
macos_titlebar_color = "system";
|
||||||
|
|
||||||
active_tab_foreground = "#${config.colorScheme.palette.base0C}";
|
active_tab_foreground = "#${config.colorScheme.colors.base0C}";
|
||||||
active_tab_background = "#${config.colorScheme.palette.base01}";
|
active_tab_background = "#${config.colorScheme.colors.base01}";
|
||||||
inactive_tab_foreground = "#${config.colorScheme.palette.base06}";
|
inactive_tab_foreground = "#${config.colorScheme.colors.base06}";
|
||||||
inactive_tab_background = "#${config.colorScheme.palette.base00}";
|
inactive_tab_background = "#${config.colorScheme.colors.base00}";
|
||||||
tab_bar_background = "#${config.colorScheme.palette.base02}";
|
tab_bar_background = "#${config.colorScheme.colors.base02}";
|
||||||
|
|
||||||
mark1_foreground = "#${config.colorScheme.palette.base00}";
|
mark1_foreground = "#${config.colorScheme.colors.base00}";
|
||||||
mark1_background = "#${config.colorScheme.palette.base0C}";
|
mark1_background = "#${config.colorScheme.colors.base0C}";
|
||||||
mark2_foreground = "#${config.colorScheme.palette.base00}";
|
mark2_foreground = "#${config.colorScheme.colors.base00}";
|
||||||
mark2_background = "#${config.colorScheme.palette.base0E}";
|
mark2_background = "#${config.colorScheme.colors.base0E}";
|
||||||
mark3_foreground = "#${config.colorScheme.palette.base00}";
|
mark3_foreground = "#${config.colorScheme.colors.base00}";
|
||||||
mark3_background = "#${config.colorScheme.palette.base0A}";
|
mark3_background = "#${config.colorScheme.colors.base0A}";
|
||||||
|
|
||||||
color0 = "#${config.colorScheme.palette.base01}";
|
color0 = "#${config.colorScheme.colors.base00}";
|
||||||
color1 = "#${config.colorScheme.palette.base0F}";
|
color1 = "#${config.colorScheme.colors.base01}";
|
||||||
color2 = "#${config.colorScheme.palette.base0A}";
|
color2 = "#${config.colorScheme.colors.base02}";
|
||||||
color3 = "#${config.colorScheme.palette.base09}";
|
color3 = "#${config.colorScheme.colors.base03}";
|
||||||
color4 = "#${config.colorScheme.palette.base0C}";
|
color4 = "#${config.colorScheme.colors.base04}";
|
||||||
color5 = "#${config.colorScheme.palette.base0D}";
|
color5 = "#${config.colorScheme.colors.base05}";
|
||||||
color6 = "#${config.colorScheme.palette.base0B}";
|
color6 = "#${config.colorScheme.colors.base06}";
|
||||||
color7 = "#${config.colorScheme.palette.base07}";
|
color7 = "#${config.colorScheme.colors.base07}";
|
||||||
color8 = "#${config.colorScheme.palette.base01}";
|
color8 = "#${config.colorScheme.colors.base08}";
|
||||||
color9 = "#${config.colorScheme.palette.base0F}";
|
color9 = "#${config.colorScheme.colors.base09}";
|
||||||
color10 = "#${config.colorScheme.palette.base0A}";
|
color10 = "#${config.colorScheme.colors.base0A}";
|
||||||
color11 = "#${config.colorScheme.palette.base09}";
|
color11 = "#${config.colorScheme.colors.base0B}";
|
||||||
color12 = "#${config.colorScheme.palette.base0C}";
|
color12 = "#${config.colorScheme.colors.base0C}";
|
||||||
color13 = "#${config.colorScheme.palette.base0D}";
|
color13 = "#${config.colorScheme.colors.base0D}";
|
||||||
color14 = "#${config.colorScheme.palette.base0B}";
|
color14 = "#${config.colorScheme.colors.base0E}";
|
||||||
color15 = "#${config.colorScheme.palette.base07}";
|
color15 = "#${config.colorScheme.colors.base0F}";
|
||||||
|
|
||||||
font_size = 12;
|
font_size = 12;
|
||||||
window-padding-width = 15;
|
window-padding-width = 15;
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
|
|
||||||
print_info() {
|
print_info() {
|
||||||
info ""
|
info ""
|
||||||
info "├─ Distro " distro
|
info "${c5} ├─ Distro " distro
|
||||||
info "├─ Kernel " kernel
|
info "${c5} ├─ Kernel " kernel
|
||||||
info "├─ Pkgs " packages
|
info "${c5} ├─ Pkgs " packages
|
||||||
info "├─ Compositor " de
|
info "${c5} ├─ Compositor " de
|
||||||
info "├─ CPU " cpu
|
info "${c5} ├─ CPU " cpu
|
||||||
info "├─ GPU " gpu
|
info "${c5} ├─ GPU " gpu
|
||||||
info "├─ Term " term
|
info "${c5} ├─ Term " term
|
||||||
prin "$(color 0) $(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7)"
|
prin "$(color 0) $(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7)"
|
||||||
prin "$(color 8) $(color 9) $(color 10) $(color 11) $(color 12) $(color 13) $(color 14) $(color 15)"
|
prin "$(color 8) $(color 9) $(color 10) $(color 11) $(color 12) $(color 13) $(color 14) $(color 15)"
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ song_shorthand="off"
|
|||||||
mpc_args=()
|
mpc_args=()
|
||||||
|
|
||||||
##--------- Text Colors
|
##--------- Text Colors
|
||||||
colors=(0 0 0 4 7 7)
|
colors=(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
|
||||||
|
|
||||||
##--------- Text Options
|
##--------- Text Options
|
||||||
bold="on"
|
bold="on"
|
||||||
|
@@ -12,7 +12,6 @@
|
|||||||
cbonsai
|
cbonsai
|
||||||
pipes-rs
|
pipes-rs
|
||||||
cmatrix
|
cmatrix
|
||||||
#cava
|
cava
|
||||||
sl
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@@ -10,51 +10,51 @@
|
|||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
settings = {
|
settings = {
|
||||||
format = lib.concatStrings [
|
format = lib.concatStrings [
|
||||||
"[░▒▓](#${config.colorScheme.palette.base06})"
|
"[░▒▓](#${config.colorScheme.colors.base06})"
|
||||||
"$username"
|
"$username"
|
||||||
"$hostname"
|
"$hostname"
|
||||||
"[](bg:#${config.colorScheme.palette.base05} fg:#${config.colorScheme.palette.base06})"
|
"[](bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base06})"
|
||||||
"$directory"
|
"$directory"
|
||||||
"[](bg:#${config.colorScheme.palette.base04} fg:#${config.colorScheme.palette.base05})"
|
"[](bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base05})"
|
||||||
"[ ](bg:#${config.colorScheme.palette.base04})"
|
"[ ](bg:#${config.colorScheme.colors.base04})"
|
||||||
"$env_var"
|
"$env_var"
|
||||||
"[](bg:#${config.colorScheme.palette.base00} fg:#${config.colorScheme.palette.base04})"
|
"[](bg:#${config.colorScheme.colors.base00} fg:#${config.colorScheme.colors.base04})"
|
||||||
" "
|
" "
|
||||||
];
|
];
|
||||||
username = {
|
username = {
|
||||||
show_always = true;
|
show_always = true;
|
||||||
style_user =
|
style_user =
|
||||||
"bg:#${config.colorScheme.palette.base06} fg:#${config.colorScheme.palette.base00}";
|
"bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
|
||||||
style_root =
|
style_root =
|
||||||
"bg:#${config.colorScheme.palette.base06} fg:#${config.colorScheme.palette.base00}";
|
"bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
|
||||||
format = "[ $user]($style)";
|
format = "[ $user]($style)";
|
||||||
};
|
};
|
||||||
hostname = {
|
hostname = {
|
||||||
ssh_symbol = "";
|
ssh_symbol = "";
|
||||||
style =
|
style =
|
||||||
"bg:#${config.colorScheme.palette.base06} fg:#${config.colorScheme.palette.base00}";
|
"bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
|
||||||
format = "[@$hostname]($style)";
|
format = "[@$hostname]($style)";
|
||||||
ssh_only = false;
|
ssh_only = false;
|
||||||
disabled = false;
|
disabled = false;
|
||||||
};
|
};
|
||||||
directory = {
|
directory = {
|
||||||
style =
|
style =
|
||||||
"bg:#${config.colorScheme.palette.base05} fg:#${config.colorScheme.palette.base00}";
|
"bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base00}";
|
||||||
format = "[ $path ]($style)";
|
format = "[ $path ]($style)";
|
||||||
truncation_length = 3;
|
truncation_length = 3;
|
||||||
truncation_symbol = "…/";
|
truncation_symbol = "…/";
|
||||||
};
|
};
|
||||||
directory.substitutions = {
|
directory.substitutions = {
|
||||||
"documents" = " ";
|
"documents" = " ";
|
||||||
"downloads" = " ";
|
"downloads" = " ";
|
||||||
"files" = " ";
|
"music" = " ";
|
||||||
"media" = " ";
|
"pictures" = " ";
|
||||||
};
|
};
|
||||||
env_var = {
|
env_var = {
|
||||||
variable = "SHELLENVTYPE";
|
variable = "DEVSH";
|
||||||
default = "";
|
default = "";
|
||||||
style =
|
style =
|
||||||
"bg:#${config.colorScheme.palette.base04} fg:#${config.colorScheme.palette.base00}";
|
"bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}";
|
||||||
format = "[$env_value]($style)";
|
format = "[$env_value]($style)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
nixflake_dir = "$HOME/files/nixconfig";
|
nixflake_dir = "$HOME/files/nixconfig";
|
||||||
nixflake_url = "git+https://git.helcel.net/sora/nixconfig";
|
nixflake_url = "git+https://git.helcel.net/sora/nixconfig";
|
||||||
in {
|
in {
|
||||||
@@ -14,9 +14,5 @@ in {
|
|||||||
"ssh" = "TERM=xterm-256color ${pkgs.openssh}/bin/ssh";
|
"ssh" = "TERM=xterm-256color ${pkgs.openssh}/bin/ssh";
|
||||||
"top" = "btop";
|
"top" = "btop";
|
||||||
};
|
};
|
||||||
initContent = ''
|
|
||||||
sopsu() {nix-shell -p sops --run "sops updatekeys $1";}
|
|
||||||
sopsn() {nix-shell -p sops --run "sops $1";}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
{ ... }: { imports = [ ./base ./cli ./gui ./wayland ./xdg ./xorg ]; }
|
|
@@ -1,3 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
imports = [ ./develop ./firefox ./images ./mpv ./pipewire ./zathura ];
|
|
||||||
}
|
|
@@ -1,7 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
|
||||||
imports = [ ./vscodium ];
|
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.develop) {
|
|
||||||
home.packages = with pkgs; [ blender godot_4 openscad-unstable bambu-studio ];
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,19 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.develop) {
|
|
||||||
programs.vscode = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vscodium;
|
|
||||||
#profiles.default = {
|
|
||||||
profiles.default.extensions = with pkgs.vscode-extensions; [
|
|
||||||
bbenoist.nix
|
|
||||||
esbenp.prettier-vscode
|
|
||||||
golang.go
|
|
||||||
ms-python.vscode-pylance
|
|
||||||
ms-vscode.cpptools
|
|
||||||
dbaeumer.vscode-eslint
|
|
||||||
];
|
|
||||||
#};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,5 +1,5 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles = {
|
profiles = {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
programs.imv.enable = true;
|
programs.imv.enable = true;
|
||||||
|
|
||||||
programs.obs-studio.enable = true;
|
programs.obs-studio.enable = true;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
scripts = with pkgs; [ mpvScripts.mpris ];
|
scripts = with pkgs; [ mpvScripts.mpris ];
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
xdg.configFile."pipewire/pipewire-pulse.conf.d/desktop.conf".text = ''
|
xdg.configFile."pipewire/pipewire-pulse.conf.d/desktop.conf".text = ''
|
||||||
context.modules = [
|
context.modules = [
|
||||||
{ name = libpipewire-module-loopback
|
{ name = libpipewire-module-loopback
|
||||||
|
@@ -1,60 +1,65 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
home.packages = with pkgs; [
|
# home.packages = with pkgs; [
|
||||||
custom.vosk.base
|
# custom.vosk
|
||||||
jq
|
# custom.vosk.cli
|
||||||
(python3.withPackages (ps: with ps; [ translatepy ]))
|
# custom.vosk.lang.en
|
||||||
];
|
# custom.vosk.lang.ja
|
||||||
|
# custom.vosk.lang.de
|
||||||
|
# custom.vosk.lang.ru
|
||||||
|
# jq
|
||||||
|
# (python3.withPackages (ps: with ps; [ translatepy ]))
|
||||||
|
# ];
|
||||||
|
|
||||||
xdg.configFile."script/transcript-translate.py".text = ''
|
# xdg.configFile."script/transcript-translate.py".text = ''
|
||||||
#!/bin/python
|
# #!/bin/python
|
||||||
|
|
||||||
import sys;
|
# import sys;
|
||||||
from translatepy.translators.google import GoogleTranslate;
|
# from translatepy.translators.google import GoogleTranslate;
|
||||||
|
|
||||||
if len(sys.argv) != 2:
|
# if len(sys.argv) != 2:
|
||||||
print("No language provided.")
|
# print("No language provided.")
|
||||||
exit
|
# exit
|
||||||
translator = GoogleTranslate()
|
# translator = GoogleTranslate()
|
||||||
while True:
|
# while True:
|
||||||
for line in sys.stdin:
|
# for line in sys.stdin:
|
||||||
sys.stdout.write(translator.translate(line,sys.argv[1]).result+"\n")
|
# sys.stdout.write(translator.translate(line,sys.argv[1]).result+"\n")
|
||||||
'';
|
# '';
|
||||||
|
|
||||||
xdg.configFile."script/transcript.sh".text = ''
|
# xdg.configFile."script/transcript.sh".text = ''
|
||||||
#!/bin/sh
|
# #!/bin/sh
|
||||||
|
|
||||||
MODELS=(
|
# MODELS=(
|
||||||
"English:${pkgs.custom.vosk.lang.en-us}/usr/share/vosk-models/en-us"
|
# "English:${pkgs.custom.vosklang.en-us}/usr/share/vosk-models/en-us"
|
||||||
"German:${pkgs.custom.vosk.lang.de}/usr/share/vosk-models/de"
|
# "German:${pkgs.custom.vosklang.de}/usr/share/vosk-models/de"
|
||||||
"Russian:${pkgs.custom.vosk.lang.ru}/usr/share/vosk-models/ru"
|
# "Russian:${pkgs.custom.vosklang.ru}/usr/share/vosk-models/ru"
|
||||||
"Japanese:${pkgs.custom.vosk.lang.ja}/usr/share/vosk-models/ja"
|
# "Japanese:${pkgs.custom.vosklang.ja}/usr/share/vosk-models/ja"
|
||||||
)
|
# )
|
||||||
|
|
||||||
MODEL_OPTS=""
|
# MODEL_OPTS=""
|
||||||
for pair in "''${MODELS[@]}"; do
|
# for pair in "''${MODELS[@]}"; do
|
||||||
MODEL_OPTS+="$pair\n"
|
# MODEL_OPTS+="$pair\n"
|
||||||
done
|
# done
|
||||||
|
|
||||||
MODEL_OPT=$(echo -e "$MODEL_OPTS" | wofi --dmenu -p "Choose model:")
|
# MODEL_OPT=$(echo -e "$MODEL_OPTS" | wofi --dmenu -p "Choose model:")
|
||||||
MODEL=$(echo "$MODEL_OPT" | awk -F ':' '{print $2}')
|
# MODEL=$(echo "$MODEL_OPT" | awk -F ':' '{print $2}')
|
||||||
|
|
||||||
TRANSS="None\nNone-prog\nEnglish\nGerman\nRussian\nJapanese"
|
# TRANSS="None\nNone-prog\nEnglish\nGerman\nRussian\nJapanese"
|
||||||
TRANS=$(echo -e "$TRANSS" | wofi --dmenu -p "Choose translation:")
|
# TRANS=$(echo -e "$TRANSS" | wofi --dmenu -p "Choose translation:")
|
||||||
|
|
||||||
export VOSK_MODEL=$MODEL
|
# export VOSK_MODEL=$MODEL
|
||||||
case $TRANS in
|
# case $TRANS in
|
||||||
"None")
|
# "None")
|
||||||
${pkgs.custom.vosk.cli}/bin/voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty | select(length > 0)' 2>/dev/null
|
# voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty | select(length > 0)' 2>/dev/null
|
||||||
;;
|
# ;;
|
||||||
"None-prog")
|
# "None-prog")
|
||||||
${pkgs.custom.vosk.cli}/bin/voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty, .partial // empty | select(length > 0)' 2>/dev/null
|
# voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty, .partial // empty | select(length > 0)' 2>/dev/null
|
||||||
;;
|
# ;;
|
||||||
*)
|
# *)
|
||||||
${pkgs.custom.vosk.cli}/bin/voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty | select(length > 0)' | python ~/.config/script/transcript-translate.py $TRANS
|
# voskcli 2>/dev/null | jq --unbuffered -r '.alternatives[0].text // empty | select(length > 0)' | python ~/.config/script/transcript-translate.py $TRANS
|
||||||
;;
|
# ;;
|
||||||
esac
|
# esac
|
||||||
'';
|
# '';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
17
modules/home/gui/apps/vscodium/default.nix
Normal file
17
modules/home/gui/apps/vscodium/default.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
bbenoist.nix
|
||||||
|
esbenp.prettier-vscode
|
||||||
|
golang.go
|
||||||
|
ms-python.vscode-pylance
|
||||||
|
ms-vscode.cpptools
|
||||||
|
dbaeumer.vscode-eslint
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -1,46 +1,46 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
programs.zathura = {
|
programs.zathura = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set default-fg "#${config.colorScheme.palette.base06}"
|
set default-fg "#${config.colorScheme.colors.base06}"
|
||||||
set default-bg "#${config.colorScheme.palette.base00}"
|
set default-bg "#${config.colorScheme.colors.base00}"
|
||||||
|
|
||||||
set completion-bg "#${config.colorScheme.palette.base02}"
|
set completion-bg "#${config.colorScheme.colors.base02}"
|
||||||
set completion-fg "#${config.colorScheme.palette.base06}"
|
set completion-fg "#${config.colorScheme.colors.base06}"
|
||||||
set completion-highlight-bg "#${config.colorScheme.palette.base03}"
|
set completion-highlight-bg "#${config.colorScheme.colors.base03}"
|
||||||
set completion-highlight-fg "#${config.colorScheme.palette.base06}"
|
set completion-highlight-fg "#${config.colorScheme.colors.base06}"
|
||||||
set completion-group-bg "#${config.colorScheme.palette.base01}"
|
set completion-group-bg "#${config.colorScheme.colors.base01}"
|
||||||
set completion-group-fg "#${config.colorScheme.palette.base0C}"
|
set completion-group-fg "#${config.colorScheme.colors.base0C}"
|
||||||
|
|
||||||
set statusbar-fg "#${config.colorScheme.palette.base06}"
|
set statusbar-fg "#${config.colorScheme.colors.base06}"
|
||||||
set statusbar-bg "#${config.colorScheme.palette.base01}"
|
set statusbar-bg "#${config.colorScheme.colors.base01}"
|
||||||
|
|
||||||
set notification-bg "#${config.colorScheme.palette.base01}"
|
set notification-bg "#${config.colorScheme.colors.base01}"
|
||||||
set notification-fg "#${config.colorScheme.palette.base06}"
|
set notification-fg "#${config.colorScheme.colors.base06}"
|
||||||
set notification-error-bg "#${config.colorScheme.palette.base01}"
|
set notification-error-bg "#${config.colorScheme.colors.base01}"
|
||||||
set notification-error-fg "#${config.colorScheme.palette.base0F}"
|
set notification-error-fg "#${config.colorScheme.colors.base0F}"
|
||||||
set notification-warning-bg "#${config.colorScheme.palette.base01}"
|
set notification-warning-bg "#${config.colorScheme.colors.base01}"
|
||||||
set notification-warning-fg "#${config.colorScheme.palette.base09}"
|
set notification-warning-fg "#${config.colorScheme.colors.base09}"
|
||||||
|
|
||||||
set inputbar-fg "#${config.colorScheme.palette.base06}"
|
set inputbar-fg "#${config.colorScheme.colors.base06}"
|
||||||
set inputbar-bg "#${config.colorScheme.palette.base01}"
|
set inputbar-bg "#${config.colorScheme.colors.base01}"
|
||||||
|
|
||||||
set recolor-lightcolor "#${config.colorScheme.palette.base00}"
|
set recolor-lightcolor "#${config.colorScheme.colors.base00}"
|
||||||
set recolor-darkcolor "#${config.colorScheme.palette.base06}"
|
set recolor-darkcolor "#${config.colorScheme.colors.base06}"
|
||||||
|
|
||||||
set index-fg "#${config.colorScheme.palette.base06}"
|
set index-fg "#${config.colorScheme.colors.base06}"
|
||||||
set index-bg "#${config.colorScheme.palette.base00}"
|
set index-bg "#${config.colorScheme.colors.base00}"
|
||||||
set index-active-fg "#${config.colorScheme.palette.base06}"
|
set index-active-fg "#${config.colorScheme.colors.base06}"
|
||||||
set index-active-bg "#${config.colorScheme.palette.base01}"
|
set index-active-bg "#${config.colorScheme.colors.base01}"
|
||||||
|
|
||||||
set render-loading-bg "#${config.colorScheme.palette.base00}"
|
set render-loading-bg "#${config.colorScheme.colors.base00}"
|
||||||
set render-loading-fg "#${config.colorScheme.palette.base06}"
|
set render-loading-fg "#${config.colorScheme.colors.base06}"
|
||||||
|
|
||||||
set highlight-color "#${config.colorScheme.palette.base04}"
|
set highlight-color "#${config.colorScheme.colors.base04}"
|
||||||
set highlight-fg "#${config.colorScheme.palette.base0E}"
|
set highlight-fg "#${config.colorScheme.colors.base0E}"
|
||||||
set highlight-active-color "#${config.colorScheme.palette.base0E}"
|
set highlight-active-color "#${config.colorScheme.colors.base0E}"
|
||||||
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
services.nextcloud-client.enable = true;
|
services.nextcloud-client.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -10,13 +10,9 @@
|
|||||||
xfce.tumbler
|
xfce.tumbler
|
||||||
|
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
discord-canary
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
keepassxc
|
keepassxc
|
||||||
nextcloud-client
|
|
||||||
|
|
||||||
gramps
|
gramps
|
||||||
sweethome3d.application
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
{ ... }: { imports = [ ./apps ./base ./games ./theme ]; }
|
|
@@ -1,10 +1,11 @@
|
|||||||
{ inputs, lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
imports = [ ./openttd.nix ./wow.nix ];
|
imports = [ ./openttd.nix ];
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.game) {
|
config = lib.mkIf (config.homecfg.make.game) {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
custom.simc
|
||||||
|
|
||||||
#games
|
#games
|
||||||
steam
|
steam
|
||||||
@@ -14,9 +15,6 @@
|
|||||||
prismlauncher
|
prismlauncher
|
||||||
openttd-jgrpp
|
openttd-jgrpp
|
||||||
bottles
|
bottles
|
||||||
lutris
|
|
||||||
unstable.umu-launcher
|
|
||||||
wine
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.game) {
|
config = lib.mkIf (config.homecfg.make.game) {
|
||||||
xdg.configFile."openttd/openttd.cfg".text = ''
|
xdg.configFile."openttd/openttd.cfg".text = ''
|
||||||
[misc]
|
[misc]
|
||||||
display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS
|
display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS
|
||||||
|
@@ -1,81 +0,0 @@
|
|||||||
{ pkgs, lib, config, sops, ... }: {
|
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.game) {
|
|
||||||
|
|
||||||
home.packages = with pkgs;
|
|
||||||
[
|
|
||||||
# custom.simc
|
|
||||||
];
|
|
||||||
|
|
||||||
# templates buggy currently
|
|
||||||
#xdg.configFile."instawow/config.json" = ''${config.sops.templates."instawow_config.json".path}'';
|
|
||||||
sops.templates."instawow_config.json".content = ''
|
|
||||||
{
|
|
||||||
"auto_update_check": true,
|
|
||||||
"access_tokens": {
|
|
||||||
"cfcore": "${config.sops.placeholder.curse_forge_key}",
|
|
||||||
"github": "${config.sops.placeholder.github_user_key}",
|
|
||||||
"wago_addons": null
|
|
||||||
}
|
|
||||||
}'';
|
|
||||||
|
|
||||||
# curse:master-plan
|
|
||||||
# curse:raretrackercore-rt
|
|
||||||
# curse:raretrackerdragonflight-rtd
|
|
||||||
# curse:raretrackermaw-rtmw
|
|
||||||
# curse:raretrackermechagon-rtm
|
|
||||||
# curse:raretrackerthewarwithin-rtww
|
|
||||||
# curse:raretrackertimelessisle-rtti
|
|
||||||
# curse:raretrackeruldum-rtu
|
|
||||||
# curse:raretrackervale-rtv
|
|
||||||
# curse:raretrackerworldbosses-rtwb
|
|
||||||
# curse:raretrackerzerethmortis-rtz
|
|
||||||
# curse:venture-plan
|
|
||||||
# curse:war-plan
|
|
||||||
# github:nevcairiel/bartender4
|
|
||||||
# github:cidan/betterbags
|
|
||||||
# github:bigwigsmods/bigwigs
|
|
||||||
# github:bigwigsmods/bigwigs_battleforazeroth
|
|
||||||
# github:bigwigsmods/bigwigs_burningcrusade
|
|
||||||
# github:bigwigsmods/bigwigs_cataclysm
|
|
||||||
# github:bigwigsmods/bigwigs_classic
|
|
||||||
# github:bigwigsmods/bigwigs_dragonflight
|
|
||||||
# github:bigwigsmods/bigwigs_legion
|
|
||||||
# github:bigwigsmods/bigwigs_mistsofpandaria
|
|
||||||
# github:bigwigsmods/bigwigs_shadowlands
|
|
||||||
# github:bigwigsmods/bigwigs_warlordsofdraenor
|
|
||||||
# github:bigwigsmods/bigwigs_wrathofthelichking
|
|
||||||
# github:nezroy/demodal
|
|
||||||
# github:curseforge-mirror/details
|
|
||||||
# github:edusperoni/details_elitism
|
|
||||||
# github:curseforge-mirror/elitismhelper
|
|
||||||
# github:michaelnpsp/grid2
|
|
||||||
# github:jods-gh/groupfinderrio
|
|
||||||
# github:nevcairiel/handynotes
|
|
||||||
# github:hekili/hekili
|
|
||||||
# github:thekrowi/krowi_achievementfilter
|
|
||||||
# github:bigwigsmods/littlewigs
|
|
||||||
# github:nnoggie/mythicdungeontools
|
|
||||||
# github:tullamods/omnicc
|
|
||||||
# github:tercioo/plater-nameplates
|
|
||||||
# github:curseforge-mirror/quest_completist
|
|
||||||
# github:raiderio/raiderio-addon
|
|
||||||
# github:wowrarity/rarity
|
|
||||||
# github:nevcairiel/shadowedunitframes
|
|
||||||
# github:simulationcraft/simc-addon
|
|
||||||
# github:curseforge-mirror/tomcats
|
|
||||||
# github:weakauras/weakauras2
|
|
||||||
# github:kemayo/wow-handynotes-battleforazerothtreasures
|
|
||||||
# github:kemayo/wow-handynotes-dragonflight
|
|
||||||
# github:kemayo/wow-handynotes-legiontreasures
|
|
||||||
# github:kemayo/wow-handynotes-longforgottenhippogryph
|
|
||||||
# github:kemayo/wow-handynotes-lostandfound
|
|
||||||
# github:kemayo/wow-handynotes-secretfish
|
|
||||||
# github:kemayo/wow-handynotes-shadowlandstreasures
|
|
||||||
# github:kemayo/wow-handynotes-stygia
|
|
||||||
# github:kemayo/wow-handynotes-treasurehunter
|
|
||||||
# github:kemayo/wow-handynotes-warwithin
|
|
||||||
# wowi:7032-tomtom
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
@@ -5,7 +5,7 @@ let
|
|||||||
wallpaperGen = import ./wallpaper-gen.nix { inherit pkgs config; };
|
wallpaperGen = import ./wallpaper-gen.nix { inherit pkgs config; };
|
||||||
in {
|
in {
|
||||||
|
|
||||||
config = lib.mkIf (config.syscfg.make.gui) {
|
config = lib.mkIf (config.homecfg.make.gui) {
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
package = pkgs.bibata-cursors;
|
package = pkgs.bibata-cursors;
|
||||||
name = "Bibata-Modern-Classic";
|
name = "Bibata-Modern-Classic";
|
||||||
@@ -17,7 +17,7 @@ in {
|
|||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
name = "${config.colorscheme.slug}-Dark";
|
name = "${config.colorscheme.slug}";
|
||||||
package = gtkThemeFromScheme;
|
package = gtkThemeFromScheme;
|
||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
@@ -28,7 +28,7 @@ in {
|
|||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "gtk";
|
platformTheme = "gtk";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = [ wallpaperGen pkgs.swww ];
|
home.packages = [ wallpaperGen pkgs.swww ];
|
||||||
|
@@ -9,89 +9,60 @@ let
|
|||||||
in pkgs.stdenv.mkDerivation rec {
|
in pkgs.stdenv.mkDerivation rec {
|
||||||
name = "generated-gtk-theme-${scheme.slug}";
|
name = "generated-gtk-theme-${scheme.slug}";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "vinceliuice";
|
owner = "nana-4";
|
||||||
repo = "Orchis-theme";
|
repo = "materia-theme";
|
||||||
rev = "5b73376721cf307101e22d7031c1f4b1344d1f63";
|
rev = "6e5850388a25f424b8193fe4523504d1dc364175";
|
||||||
sha256 = "sha256-+2/CsgJ+rdDpCp+r5B/zys3PtFgtnu+ohTEUOtJNd1Y=";
|
sha256 = "sha256-I6hpH0VTmftU4+/pRbztuTQcBKcOFBFbNZXJL/2bcgU=";
|
||||||
};
|
};
|
||||||
|
buildInputs = with pkgs; [
|
||||||
nativeBuildInputs = with pkgs; [ gtk3 sassc ];
|
sassc
|
||||||
buildInputs = with pkgs; [ gnome-themes-extra ];
|
bc
|
||||||
propagatedUserEnvPkgs = with pkgs; [ gtk-engine-murrine ];
|
which
|
||||||
|
rendersvg
|
||||||
preInstall = ''
|
meson
|
||||||
|
ninja
|
||||||
|
nodePackages.sass
|
||||||
|
gtk4.dev
|
||||||
|
optipng
|
||||||
|
];
|
||||||
|
phases = [ "unpackPhase" "installPhase" ];
|
||||||
|
installPhase = ''
|
||||||
|
HOME=/build
|
||||||
|
chmod 777 -R .
|
||||||
|
patchShebangs .
|
||||||
mkdir -p $out/share/themes
|
mkdir -p $out/share/themes
|
||||||
cat > src/_sass/_color-palette-${scheme.slug}.scss << 'EOF'
|
mkdir bin
|
||||||
$red-light: #${scheme.palette.low0F};
|
sed -e 's/handle-horz-.*//' -e 's/handle-vert-.*//' -i ./src/gtk-2.0/assets.txt
|
||||||
$red-dark: #${scheme.palette.high0F};
|
|
||||||
|
|
||||||
$pink-light: #${scheme.palette.low0E};
|
cat > /build/gtk-colors << EOF
|
||||||
$pink-dark: #${scheme.palette.high0E};
|
BG=${scheme.colors.base00}
|
||||||
|
FG=${scheme.colors.base07}
|
||||||
$purple-light: #${scheme.palette.low0D};
|
HDR_BG=${scheme.colors.base00}
|
||||||
$purple-dark: #${scheme.palette.high0D};
|
HDR_FG=${scheme.colors.base07}
|
||||||
|
SEL_BG=${scheme.colors.base03}
|
||||||
$blue-light: #${scheme.palette.low0C};
|
SEL_FG=${scheme.colors.base07}
|
||||||
$blue-dark: #${scheme.palette.high0C};
|
TXT_BG=${scheme.colors.base01}
|
||||||
|
TXT_FG=${scheme.colors.base07}
|
||||||
$teal-light: #${scheme.palette.low0B};
|
BTN_BG=${scheme.colors.base01}
|
||||||
$teal-dark: #${scheme.palette.high0B};
|
BTN_FG=${scheme.colors.base07}
|
||||||
|
HDR_BTN_BG=${scheme.colors.base01}
|
||||||
$green-light: #${scheme.palette.low0A};
|
HDR_BTN_FG=${scheme.colors.base07}
|
||||||
$green-dark: #${scheme.palette.high0A};
|
MENU_BG=${scheme.colors.base00}
|
||||||
$sea-light: #${scheme.palette.alt_low0B};
|
MENU_FG=${scheme.colors.base07}
|
||||||
$sea-dark: #${scheme.palette.alt_high0B};
|
ACCENT_BG=${scheme.colors.base0C}
|
||||||
|
ACCENT_FG=${scheme.colors.base00}
|
||||||
$yellow-light: #${scheme.palette.low09};
|
MATERIA_SURFACE=${scheme.colors.base01}
|
||||||
$yellow-dark: #${scheme.palette.low09};
|
MATERIA_VIEW=${scheme.colors.base00}
|
||||||
|
WM_BORDER_FOCUS=${scheme.colors.base02}
|
||||||
$orange-light: #${scheme.palette.low08};
|
WM_BORDER_UNFOCUS=${scheme.colors.base02}
|
||||||
$orange-dark: #${scheme.palette.high08};
|
UNITY_DEFAULT_LAUNCHER_STYLE=False
|
||||||
|
ROUNDNESS=7
|
||||||
$grey-050: #${scheme.palette.base07};
|
NAME=${scheme.slug}
|
||||||
$grey-100: #${scheme.palette.base07};
|
MATERIA_STYLE_COMPACT=True
|
||||||
$grey-150: #${scheme.palette.base06};
|
|
||||||
$grey-200: #${scheme.palette.base06};
|
|
||||||
$grey-250: #${scheme.palette.base05};
|
|
||||||
$grey-300: #${scheme.palette.base05};
|
|
||||||
$grey-350: #${scheme.palette.base04};
|
|
||||||
$grey-400: #${scheme.palette.base04};
|
|
||||||
$grey-450: #${scheme.palette.base03};
|
|
||||||
$grey-500: #${scheme.palette.base03};
|
|
||||||
$grey-550: #${scheme.palette.base02};
|
|
||||||
$grey-600: #${scheme.palette.base02};
|
|
||||||
$grey-650: #${scheme.palette.base02};
|
|
||||||
$grey-700: #${scheme.palette.base01};
|
|
||||||
$grey-750: #${scheme.palette.base01};
|
|
||||||
$grey-800: #${scheme.palette.base01};
|
|
||||||
$grey-850: #${scheme.palette.base00};
|
|
||||||
$grey-900: #${scheme.palette.base00};
|
|
||||||
$grey-950: #${scheme.palette.base00};
|
|
||||||
|
|
||||||
$white: #${scheme.palette.base07};
|
|
||||||
$black: #${scheme.palette.base00};
|
|
||||||
|
|
||||||
$button-close: #${scheme.palette.base0F};
|
|
||||||
$button-max: #${scheme.palette.base0A};
|
|
||||||
$button-min: #${scheme.palette.base08};
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sed -i "/\@import/s/color-palette-default/color-palette-${scheme.slug}/" src/_sass/_tweaks.scss
|
echo "Changing colours:"
|
||||||
sed -i "/\$colorscheme:/s/default/${scheme.slug}/" src/_sass/_tweaks.scss
|
./change_color.sh -o ${scheme.slug} /build/gtk-colors -i False -t "$out/share/themes"
|
||||||
|
chmod 555 -R .
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
bash install.sh -d $out/share/themes \
|
|
||||||
-t default \
|
|
||||||
-n ${scheme.slug} \
|
|
||||||
-c ${scheme.variant} \
|
|
||||||
-s standard \
|
|
||||||
--tweaks primary \
|
|
||||||
--round ${scheme.palette.border-radius}px
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
scheme = config.colorScheme;
|
scheme = config.colorScheme;
|
||||||
colors = scheme.palette;
|
colors = scheme.colors;
|
||||||
dither =
|
dither =
|
||||||
"atkinson"; # none | floyd-steinberg | atkinson | jjn | burkes | sierra | sierra-lite
|
"atkinson"; # none | floyd-steinberg | atkinson | jjn | burkes | sierra | sierra-lite
|
||||||
in pkgs.stdenv.mkDerivation rec {
|
in pkgs.stdenv.mkDerivation rec {
|
||||||
|
39
modules/home/homecfg/default.nix
Normal file
39
modules/home/homecfg/default.nix
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{ inputs, lib, config, ... }:
|
||||||
|
with lib; {
|
||||||
|
options.homecfg = {
|
||||||
|
username = mkOption { type = types.str; };
|
||||||
|
wm = mkOption {
|
||||||
|
type = types.enum [ "Wayland" "X11" ];
|
||||||
|
default = "Wayland";
|
||||||
|
};
|
||||||
|
make = {
|
||||||
|
cli = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
gui = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
game = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
power = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
username = mkOption { type = types.str; };
|
||||||
|
email = mkOption { type = types.str; };
|
||||||
|
key = mkOption { type = types.str; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = with inputs; [
|
||||||
|
nix-colors.homeManagerModules.default
|
||||||
|
../../shared/colors
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
@@ -1 +0,0 @@
|
|||||||
{ ... }: { imports = [ ./dunst ./eww ./kanshi ./waylock ./wofi ]; }
|
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
home.packages = with pkgs; [ libnotify ];
|
home.packages = with pkgs; [ libnotify ];
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -9,27 +9,24 @@
|
|||||||
global = {
|
global = {
|
||||||
follow = "mouse";
|
follow = "mouse";
|
||||||
height = "200";
|
height = "200";
|
||||||
width = "350";
|
width = "400";
|
||||||
scale = "0";
|
scale = "0";
|
||||||
origin = "top-right";
|
origin = "top-right";
|
||||||
offset = "${
|
offset = "4x40";
|
||||||
toString ((lib.strings.toInt config.colorScheme.palette.gaps-bar)
|
|
||||||
+ (lib.strings.toInt config.colorScheme.palette.gaps-screen))
|
|
||||||
}x${config.colorScheme.palette.gaps-screen}";
|
|
||||||
notification_limit = "0";
|
notification_limit = "0";
|
||||||
progress_bar = "true";
|
progress_bar = "true";
|
||||||
progress_bar_height = "10";
|
progress_bar_height = "10";
|
||||||
progress_bar_frame_width = "1";
|
progress_bar_frame_width = "0";
|
||||||
progress_bar_min_width = "150";
|
progress_bar_min_width = "350";
|
||||||
progress_bar_max_width = "350";
|
progress_bar_max_width = "400";
|
||||||
indicate_hidden = "yes";
|
indicate_hidden = "yes";
|
||||||
transparency = "0";
|
transparency = "0";
|
||||||
separator_height = "2";
|
separator_height = "2";
|
||||||
padding = "12";
|
padding = "12";
|
||||||
horizontal_padding = "15";
|
horizontal_padding = "15";
|
||||||
text_icon_padding = "0";
|
text_icon_padding = "0";
|
||||||
frame_width = "${config.colorScheme.palette.border-width}";
|
frame_width = "2";
|
||||||
frame_color = "#${config.colorScheme.palette.base04}";
|
frame_color = "#${config.colorScheme.colors.base03}";
|
||||||
separator_color = "auto";
|
separator_color = "auto";
|
||||||
sort = "yes";
|
sort = "yes";
|
||||||
font = "IBM Plex Mono 14";
|
font = "IBM Plex Mono 14";
|
||||||
@@ -47,8 +44,8 @@
|
|||||||
max_icon_size = 64;
|
max_icon_size = 64;
|
||||||
|
|
||||||
icon_path =
|
icon_path =
|
||||||
"${pkgs.tela-circle-icon-theme}/share/icons/Tela-circle-dark/32/status:${pkgs.tela-circle-icon-theme}/share/icons/Tela-circle-dark/32/device ";
|
"/usr/share/icons/gnome/128x128/status/:/usr/share/icons/gnome/128x128/devices/";
|
||||||
icon_theme = "Tela-circle-dark";
|
icon_theme = "Papirus, Adwaita";
|
||||||
enable_recursive_icon_lookup = "true";
|
enable_recursive_icon_lookup = "true";
|
||||||
|
|
||||||
sticky_history = "yes";
|
sticky_history = "yes";
|
||||||
@@ -59,7 +56,7 @@
|
|||||||
always_run_script = "true";
|
always_run_script = "true";
|
||||||
title = "Dunst";
|
title = "Dunst";
|
||||||
class = "Dunst";
|
class = "Dunst";
|
||||||
corner_radius = "${config.colorScheme.palette.border-radius}";
|
corner_radius = "10";
|
||||||
ignore_dbusclose = "false";
|
ignore_dbusclose = "false";
|
||||||
layer = "top";
|
layer = "top";
|
||||||
force_xwayland = "true";
|
force_xwayland = "true";
|
||||||
@@ -71,25 +68,25 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
urgency_low = {
|
urgency_low = {
|
||||||
background = "#${config.colorScheme.palette.base01}";
|
background = "#${config.colorScheme.colors.base00}";
|
||||||
foreground = "#${config.colorScheme.palette.base07}";
|
foreground = "#${config.colorScheme.colors.base07}";
|
||||||
frame_color = "#${config.colorScheme.palette.base03}";
|
frame_color = "#${config.colorScheme.colors.base03}";
|
||||||
timeout = "3";
|
timeout = "3";
|
||||||
highlight = "#${config.colorScheme.palette.base0B}";
|
highlight = "#${config.colorScheme.colors.base0B}";
|
||||||
};
|
};
|
||||||
urgency_normal = {
|
urgency_normal = {
|
||||||
background = "#${config.colorScheme.palette.base01}";
|
background = "#${config.colorScheme.colors.base00}";
|
||||||
foreground = "#${config.colorScheme.palette.base07}";
|
foreground = "#${config.colorScheme.colors.base07}";
|
||||||
frame_color = "#${config.colorScheme.palette.base04}";
|
frame_color = "#${config.colorScheme.colors.base03}";
|
||||||
timeout = "5";
|
timeout = "5";
|
||||||
highlight = "#${config.colorScheme.palette.base0C}";
|
highlight = "#${config.colorScheme.colors.base0C}";
|
||||||
};
|
};
|
||||||
urgency_critical = {
|
urgency_critical = {
|
||||||
background = "#${config.colorScheme.palette.base01}";
|
background = "#${config.colorScheme.colors.base00}";
|
||||||
foreground = "#${config.colorScheme.palette.base0F}";
|
foreground = "#${config.colorScheme.colors.base0F}";
|
||||||
frame_color = "#${config.colorScheme.palette.base0F}";
|
frame_color = "#${config.colorScheme.colors.base03}";
|
||||||
timeout = "10";
|
timeout = "10";
|
||||||
highlight = "#${config.colorScheme.palette.base0E}";
|
highlight = "#${config.colorScheme.colors.base0E}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -1,48 +0,0 @@
|
|||||||
.calendar-win {
|
|
||||||
}
|
|
||||||
|
|
||||||
calendar {
|
|
||||||
padding: 5pt;
|
|
||||||
|
|
||||||
:selected {
|
|
||||||
color: $base0C;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header {
|
|
||||||
color: $base05;
|
|
||||||
}
|
|
||||||
|
|
||||||
.highlight {
|
|
||||||
color: $base0C;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
font-size: 20pt;
|
|
||||||
color: $base0C;
|
|
||||||
}
|
|
||||||
|
|
||||||
:indeterminate {
|
|
||||||
color: $base03;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.hour, .month {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
|
|
||||||
.minute, .month {
|
|
||||||
margin-top: -4pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.date {
|
|
||||||
color: $base0C;
|
|
||||||
background-color: $base01;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datetime {
|
|
||||||
padding: $gaps-window;
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
|
|
||||||
.net {
|
|
||||||
color: $base07;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blt {
|
|
||||||
color: $base0C;
|
|
||||||
}
|
|
@@ -1,26 +0,0 @@
|
|||||||
.powermenu-box {
|
|
||||||
padding-left: 2.5rem;
|
|
||||||
padding-right: 2.5rem;
|
|
||||||
padding-top: 3rem;
|
|
||||||
padding-bottom: 3rem;
|
|
||||||
margin:0 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermenu-entry {
|
|
||||||
margin: 0 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermenu-button {
|
|
||||||
background-color: $base02;
|
|
||||||
border-radius: 1rem;
|
|
||||||
transition: 0.3s;
|
|
||||||
padding: 3.25rem 4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermenu-button:hover {
|
|
||||||
background-color:$base03;
|
|
||||||
}
|
|
||||||
|
|
||||||
.powermenu-icon {
|
|
||||||
font-size: 4rem;
|
|
||||||
}
|
|
@@ -1,75 +0,0 @@
|
|||||||
|
|
||||||
.radio-win {
|
|
||||||
//margin: $gaps-screen;
|
|
||||||
//padding: .5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.album_art {
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: 240px;
|
|
||||||
min-height: 240px;
|
|
||||||
min-width: 240px;
|
|
||||||
margin: $gaps-screen;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
.song {
|
|
||||||
color: $base0C;
|
|
||||||
font-size: 24px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 20px 0px 0px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.artist {
|
|
||||||
color: $base0E;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 0px 0px $gaps-screen 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_bar {
|
|
||||||
color: $base05;
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin: $gaps-screen 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_play {
|
|
||||||
font-size: 48px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 0 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn_play:hover {
|
|
||||||
color: $base07;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.station_list {
|
|
||||||
border-right-color: $base03;
|
|
||||||
border-right-style: solid;
|
|
||||||
border-right-width: $border-width;
|
|
||||||
margin-right: $gaps-screen;
|
|
||||||
}
|
|
||||||
|
|
||||||
.station_art {
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: 50px;
|
|
||||||
min-height: 50px;
|
|
||||||
min-width: 50px;
|
|
||||||
margin: $gaps-window;
|
|
||||||
margin-right: $gaps-screen;
|
|
||||||
background-color: $base00;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
border-color: $base00;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: $border-width;
|
|
||||||
}
|
|
||||||
|
|
||||||
.station_art:hover {
|
|
||||||
border-color: $base04;
|
|
||||||
}
|
|
||||||
|
|
||||||
.station_sel {
|
|
||||||
border-color: $base03;
|
|
||||||
}
|
|
@@ -1,69 +0,0 @@
|
|||||||
|
|
||||||
.cpubar {
|
|
||||||
color: $base0C;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gpubar {
|
|
||||||
color: $base0E;
|
|
||||||
}
|
|
||||||
|
|
||||||
.membar {
|
|
||||||
color: $base08;
|
|
||||||
}
|
|
||||||
|
|
||||||
.batbar {
|
|
||||||
color: $base0B;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cpubar,
|
|
||||||
.gpubar,
|
|
||||||
.membar,
|
|
||||||
.batbar {
|
|
||||||
background-color: $bg0;
|
|
||||||
margin: $gaps-window 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cpu-core-usage, .gpu-core-usage, .memory-usage {
|
|
||||||
background-color: $bg0;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
padding: 2pt;
|
|
||||||
margin: 1pt;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.cpu-core-usage trough * {
|
|
||||||
background-color: $base0C;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
padding: 2pt;
|
|
||||||
}
|
|
||||||
.gpu-core-usage trough * {
|
|
||||||
background-color: $base0E;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
padding: 2pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.memory-usage trough * {
|
|
||||||
background-color: $base08;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
padding: 2pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.spacer {
|
|
||||||
color: $bg1;
|
|
||||||
padding: $gaps-window;
|
|
||||||
margin:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sys-win {
|
|
||||||
// @include window;
|
|
||||||
// background-color: $bg1;
|
|
||||||
// color: $fg;
|
|
||||||
// margin: $gaps-win;
|
|
||||||
padding: 5pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sys-label {
|
|
||||||
font-weight: bolder;
|
|
||||||
color: $base04;
|
|
||||||
}
|
|
@@ -1,35 +0,0 @@
|
|||||||
.tray * {
|
|
||||||
padding: $border-width 0px;
|
|
||||||
}
|
|
||||||
.tray menu {
|
|
||||||
background-color: $base01;
|
|
||||||
color: $base07;
|
|
||||||
@include border-radius;
|
|
||||||
@include border-active;
|
|
||||||
|
|
||||||
|
|
||||||
padding: 10px 0px;
|
|
||||||
|
|
||||||
>menuitem {
|
|
||||||
margin: 2px $border-width;
|
|
||||||
padding: 0px 10px;
|
|
||||||
|
|
||||||
&:disabled label {
|
|
||||||
color: $base04;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: $base0C;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
separator {
|
|
||||||
background-color: $base03;
|
|
||||||
padding-top: 1px;
|
|
||||||
margin:10px 0px;
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
padding: unset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,130 +0,0 @@
|
|||||||
@import 'css/colors';
|
|
||||||
|
|
||||||
/* MIXIN */
|
|
||||||
|
|
||||||
@mixin border-radius {
|
|
||||||
border-radius: $border-radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin border-inactive {
|
|
||||||
border-width: $border-width;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: $base03;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin border-active {
|
|
||||||
border-width: $border-width;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: $base04;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin test {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* GENERAL */
|
|
||||||
|
|
||||||
* {
|
|
||||||
all: unset;
|
|
||||||
font-family: "IBM Plex Mono";
|
|
||||||
transition: 200ms ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
background: $base01;
|
|
||||||
border: $border-width solid $base04;
|
|
||||||
border-radius: $border-radius;
|
|
||||||
|
|
||||||
label {
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon,
|
|
||||||
.icon label { font-family: Material Design Icons; }
|
|
||||||
|
|
||||||
.icon-text {
|
|
||||||
padding: 4pt;
|
|
||||||
font-size: 6pt;
|
|
||||||
font-weight: 900;
|
|
||||||
}
|
|
||||||
|
|
||||||
.grey {
|
|
||||||
color: $base02;
|
|
||||||
}
|
|
||||||
|
|
||||||
.red {
|
|
||||||
color: $base0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
.orange {
|
|
||||||
color: $base08;
|
|
||||||
}
|
|
||||||
|
|
||||||
.green {
|
|
||||||
color: $base0B;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blue {
|
|
||||||
color: $base0C;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* WINDOW WRAPPER CSS */
|
|
||||||
|
|
||||||
.winevent {
|
|
||||||
background-color: $base01;
|
|
||||||
color: $base07;
|
|
||||||
@include border-radius;
|
|
||||||
@include border-inactive;
|
|
||||||
}
|
|
||||||
.winevent:hover {
|
|
||||||
@include border-active;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wininner {
|
|
||||||
padding: $gaps-window;
|
|
||||||
}
|
|
||||||
.winouter {
|
|
||||||
margin: $gaps-screen;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MODULE WRAPPER CSS */
|
|
||||||
|
|
||||||
.modevent {
|
|
||||||
background-color: $base01;
|
|
||||||
color: $base07;
|
|
||||||
@include border-radius;
|
|
||||||
@include border-inactive;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
|
||||||
.modevent:hover {
|
|
||||||
@include border-active;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
border-top-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modinner {
|
|
||||||
padding: $gaps-screen 0 $gaps-screen $gaps-window;
|
|
||||||
}
|
|
||||||
.modouter {
|
|
||||||
margin: $gaps-screen 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* IMPORTS EXTERNAL */
|
|
||||||
|
|
||||||
@import 'css/sys';
|
|
||||||
@import 'css/net';
|
|
||||||
@import 'css/clock';
|
|
||||||
@import 'css/radio';
|
|
||||||
@import 'css/powermenu';
|
|
||||||
@import 'css/systray';
|
|
||||||
|
|
||||||
|
|
||||||
/* BAR */
|
|
||||||
|
|
||||||
.bar label {
|
|
||||||
font-size: 1.2rem;
|
|
||||||
}
|
|
@@ -1,87 +0,0 @@
|
|||||||
(include "modules/workspaces.yuck")
|
|
||||||
|
|
||||||
(include "modules/sys.yuck")
|
|
||||||
(include "modules/net.yuck")
|
|
||||||
(include "modules/systray.yuck")
|
|
||||||
(include "modules/clock.yuck")
|
|
||||||
|
|
||||||
(include "windows/calendar.yuck")
|
|
||||||
(include "windows/sys.yuck")
|
|
||||||
(include "windows/radio.yuck")
|
|
||||||
(include "windows/powermenu.yuck")
|
|
||||||
|
|
||||||
|
|
||||||
(defwidget left []
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
:halign "end"
|
|
||||||
:valign "start"
|
|
||||||
(workspace-mod)))
|
|
||||||
|
|
||||||
(defwidget right []
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
:halign "end"
|
|
||||||
:valign "end"
|
|
||||||
(sys-mod)
|
|
||||||
(net-mod)
|
|
||||||
(systray-mod)
|
|
||||||
(clock-mod)))
|
|
||||||
|
|
||||||
(defwidget center []
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
:halign "end"
|
|
||||||
:valign "center"
|
|
||||||
(radio-mod)))
|
|
||||||
|
|
||||||
(defwidget bar-box []
|
|
||||||
(centerbox
|
|
||||||
:orientation "v"
|
|
||||||
:class "bar"
|
|
||||||
(left)
|
|
||||||
(center)
|
|
||||||
(right)))
|
|
||||||
|
|
||||||
|
|
||||||
(defwindow bar
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry
|
|
||||||
:x "0%"
|
|
||||||
:y "0%"
|
|
||||||
:width "20px"
|
|
||||||
:height "100%"
|
|
||||||
:anchor "right center")
|
|
||||||
:stacking "fg"
|
|
||||||
:exclusive true
|
|
||||||
(bar-box))
|
|
||||||
|
|
||||||
(defwidget window []
|
|
||||||
(box
|
|
||||||
:class "winouter"
|
|
||||||
(eventbox
|
|
||||||
:class "winevent"
|
|
||||||
(box
|
|
||||||
:class "wininner"
|
|
||||||
(children)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
(defwidget module []
|
|
||||||
(box
|
|
||||||
:class "modouter"
|
|
||||||
(eventbox
|
|
||||||
:class "modevent"
|
|
||||||
(box
|
|
||||||
:class "modinner"
|
|
||||||
(children)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
@@ -1,42 +0,0 @@
|
|||||||
(defvar date_rev false)
|
|
||||||
|
|
||||||
(defwidget clock-mod []
|
|
||||||
(module
|
|
||||||
(eventbox
|
|
||||||
:onhover "${EWW_CMD} update date_rev=true"
|
|
||||||
:onhoverlost "${EWW_CMD} update date_rev=false"
|
|
||||||
:onclick "(sleep 0.1 && ${EWW_CMD} open --toggle calendar)"
|
|
||||||
:onrightclick "(sleep 0.1 && ${EWW_CMD} open --toggle powermenu)"
|
|
||||||
(box
|
|
||||||
:class "datetime"
|
|
||||||
(overlay
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
(label :show-truncated false
|
|
||||||
:class "hour"
|
|
||||||
:text {hour})
|
|
||||||
(label :show-truncated false
|
|
||||||
:class "minute"
|
|
||||||
:text {minute}))
|
|
||||||
(revealer
|
|
||||||
:reveal date_rev
|
|
||||||
(box
|
|
||||||
:class "date"
|
|
||||||
:orientation "v"
|
|
||||||
(label :show-truncated "false"
|
|
||||||
:class "day"
|
|
||||||
:text {day})
|
|
||||||
(label :show-truncated "false"
|
|
||||||
:class "month"
|
|
||||||
:text {month}))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll hour :interval "15s" "date '+%H'")
|
|
||||||
(defpoll minute :interval "15s" "date '+%M'")
|
|
||||||
(defpoll day :interval "15s" "date '+%d'")
|
|
||||||
(defpoll month :interval "15s" "date '+%m'")
|
|
@@ -1,17 +0,0 @@
|
|||||||
(deflisten net :initial '{"name":"","icon":""}'"scripts/net/net")
|
|
||||||
|
|
||||||
(defwidget net-mod []
|
|
||||||
(module
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
(button
|
|
||||||
:class "net"
|
|
||||||
:tooltip {net.name}
|
|
||||||
{net.icon})
|
|
||||||
|
|
||||||
(button
|
|
||||||
:class "blt"
|
|
||||||
(label :class "icon-text" :text "B"))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
@@ -1,42 +0,0 @@
|
|||||||
(deflisten cpu :initial '{}' "scripts/sys/cpu")
|
|
||||||
(deflisten gpu :initial '{"devices":[{"GRBM2":{}}]}' "scripts/sys/gpu")
|
|
||||||
(deflisten memory :initial '{"human":{"used":"0G","total":"0G"},"used":0.0,"total":1.0}' "scripts/sys/memory")
|
|
||||||
|
|
||||||
(deflisten battery :initial '{"visible":false,"percentage":0.0,"color":"#FFFFFF"}' "scripts/sys/battery")
|
|
||||||
|
|
||||||
(defwidget sys-mod []
|
|
||||||
(module
|
|
||||||
(eventbox
|
|
||||||
:onclick "(sleep 0.1 && ${EWW_CMD} open --toggle sys)"
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
(circular-progress
|
|
||||||
:value {EWW_CPU.avg}
|
|
||||||
:class "cpubar"
|
|
||||||
:thickness 6
|
|
||||||
(label :class "icon-text" :text "C"))
|
|
||||||
|
|
||||||
(circular-progress
|
|
||||||
:value {gpu.devices[0].GRBM2?.CommandProcessor-Graphics?.value?:0}
|
|
||||||
:class "gpubar"
|
|
||||||
:thickness 6
|
|
||||||
(label :class "icon-text" :text "G"))
|
|
||||||
(circular-progress
|
|
||||||
:value {100*memory.used/memory.total}
|
|
||||||
:class "membar"
|
|
||||||
:thickness 6
|
|
||||||
:tooltip "${memory.human.used} / ${memory.human.total}"
|
|
||||||
(label :class "icon-text" :text "M"))
|
|
||||||
|
|
||||||
(circular-progress
|
|
||||||
:value {battery.percentage}
|
|
||||||
:class "batbar"
|
|
||||||
:visible {battery.visible}
|
|
||||||
:style "color: ${battery.color};"
|
|
||||||
:thickness 6
|
|
||||||
:tooltip "${battery.status} @ ${battery.wattage}"
|
|
||||||
(label :class "icon-text" :text "B"))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
@@ -1,15 +0,0 @@
|
|||||||
|
|
||||||
(defwidget systray-mod []
|
|
||||||
(module
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
(systray
|
|
||||||
:class "tray"
|
|
||||||
:space-evenly "true"
|
|
||||||
:orientation "v"
|
|
||||||
:icon-size 20
|
|
||||||
:prepend-new "false"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
@@ -1,23 +0,0 @@
|
|||||||
(deflisten workspace :initial '[]' "scripts/workspaces")
|
|
||||||
|
|
||||||
(defwidget workspace-mod []
|
|
||||||
(module
|
|
||||||
(eventbox
|
|
||||||
:onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace"
|
|
||||||
(box
|
|
||||||
:class "module workspaces"
|
|
||||||
:orientation "v"
|
|
||||||
(for ws in workspace
|
|
||||||
(button
|
|
||||||
:onclick "hyprctl dispatch workspace ${ws.number}"
|
|
||||||
(label
|
|
||||||
:show-truncated false
|
|
||||||
:class "icon-text ${ws.color}"
|
|
||||||
:text `${ws.focused ? "" : ""}`
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
@@ -1,108 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
get_time_ms() {
|
|
||||||
date -u +%s%3N
|
|
||||||
}
|
|
||||||
|
|
||||||
URL_BASE="https://www.radiorecord.ru/api"
|
|
||||||
|
|
||||||
MPV_PID_FILE="/tmp/mpv_radio_pid"
|
|
||||||
RADIO_ID_FILE="/tmp/radio_id"
|
|
||||||
|
|
||||||
STATIONS="[]"
|
|
||||||
|
|
||||||
PID=$( [ -e "$MPV_PID_FILE" ] && cat "$MPV_PID_FILE" || echo 0 )
|
|
||||||
RADIO_ID=$( [ -e "$RADIO_ID_FILE" ] && cat "$RADIO_ID_FILE" || echo 0 )
|
|
||||||
RADIO_URL=""
|
|
||||||
INFO='{"id":null,"artist":null,"song":null,"image600":null}'
|
|
||||||
PAUSED=$(( $PID == 0 || $RADIO_ID == 0 ? 1 : 0 ))
|
|
||||||
STATUS="{}"
|
|
||||||
|
|
||||||
get_radio() {
|
|
||||||
echo "$STATIONS" | jq -r --argjson sel_id "$RADIO_ID" 'map(select(.id == $sel_id)).[0]'
|
|
||||||
}
|
|
||||||
|
|
||||||
get_song() {
|
|
||||||
echo $(curl -s "$URL_BASE/station/history/?id=$RADIO_ID" | jq '.result.history[0] | ({id, artist, song, image600})')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
update() {
|
|
||||||
PID=$( [ -e "$MPV_PID_FILE" ] && cat "$MPV_PID_FILE" || echo 0 )
|
|
||||||
RADIO_ID=$( [ -e "$RADIO_ID_FILE" ] && cat "$RADIO_ID_FILE" || echo 0 )
|
|
||||||
PAUSED=$(( $PID == 0 && $RADIO_ID > 0 ? 1 : 0 ))
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
STATIONS=$(curl -s "$URL_BASE/stations/" | jq --argjson ids '[507,522,523,536,537,42532,42602]' '.result.stations | map(select(.id | IN($ids[]))) | map({id, title, stream_hls, icon_fill_white})')
|
|
||||||
RADIO_URL=$(get_radio | jq -r '.stream_hls')
|
|
||||||
if [ "$PAUSED" = 0 ]; then
|
|
||||||
kill -9 $PID
|
|
||||||
fi
|
|
||||||
mpv "$RADIO_URL" & echo $! > "$MPV_PID_FILE"
|
|
||||||
echo $RADIO_ID > "$RADIO_ID_FILE"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
toggle() {
|
|
||||||
if [ "$PAUSED" = 1 ]; then
|
|
||||||
echo $RADIO_ID $PID
|
|
||||||
start
|
|
||||||
else
|
|
||||||
kill -9 "$PID"
|
|
||||||
rm -f $MPV_PID_FILE
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
status() {
|
|
||||||
echo $(jq -cnr --argjson pid "$PID" --argjson stations "$STATIONS" --argjson radio_id "$RADIO_ID" --argjson is_paused "$PAUSED" --argjson info "$INFO" '{"is_paused": $is_paused, "song": $info, "radio": $radio_id, "stations": $stations}')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
status_loop() {
|
|
||||||
STATUS=$(status)
|
|
||||||
echo $STATUS
|
|
||||||
STATIONS=$(curl -s "$URL_BASE/stations/" | jq --argjson ids '[507,522,523,536,537,42532,42602]' '.result.stations | map(select(.id | IN($ids[]))) | map({id, title, stream_hls, icon_fill_white})')
|
|
||||||
last_time_info=0
|
|
||||||
last_time=0
|
|
||||||
while true; do
|
|
||||||
current_time=$(get_time_ms)
|
|
||||||
delta=$((current_time - last_time))
|
|
||||||
delta_i=$((current_time - last_time_info))
|
|
||||||
if [[ $delta -gt 1000 ]]; then
|
|
||||||
PID=$( [ -e "$MPV_PID_FILE" ] && cat "$MPV_PID_FILE" || echo 0 )
|
|
||||||
RADIO_ID=$( [ -e "$RADIO_ID_FILE" ] && cat "$RADIO_ID_FILE" || echo 0 )
|
|
||||||
PAUSED=$(( $PID == 0 && $RADIO_ID > 0 ? 1 : 0 ))
|
|
||||||
NEW_STATUS=$(status)
|
|
||||||
if [[ "$NEW_STATUS" != "$STATUS" ]]; then
|
|
||||||
STATUS=$NEW_STATUS
|
|
||||||
echo $STATUS
|
|
||||||
fi
|
|
||||||
last_time=$current_time
|
|
||||||
fi
|
|
||||||
if [[ $delta_i -gt 15000 ]]; then
|
|
||||||
if [ "$PAUSED" = 1 ]; then
|
|
||||||
INFO="{\"id\":null,\"artist\":null,\"song\":null,\"image600\": \"$(get_radio | jq -r '.icon_fill_white')\"}"
|
|
||||||
else
|
|
||||||
INFO=$(echo "$INFO" "$(get_song)" | jq -s ' reduce .[] as $item ( {}; . + (
|
|
||||||
reduce ($item | to_entries[]) as $entry ( {}; if $entry.value != null then .[$entry.key] = $entry.value else . end
|
|
||||||
)) )')
|
|
||||||
fi
|
|
||||||
last_time_info=$current_time
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main script
|
|
||||||
case "$1" in
|
|
||||||
"start")
|
|
||||||
RADIO_ID=$2
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
"toggle")
|
|
||||||
toggle
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
status_loop
|
|
||||||
;;
|
|
||||||
esac
|
|
@@ -1 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env zsh
|
|
||||||
|
|
||||||
amdgpu_top -J -s 5000 | sed 's/ //g'
|
|
@@ -1,9 +0,0 @@
|
|||||||
(defwindow calendar
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry
|
|
||||||
:x "0%"
|
|
||||||
:y "0%"
|
|
||||||
:anchor "bottom right"
|
|
||||||
:width "0px"
|
|
||||||
:height "0px")
|
|
||||||
(window (calendar)))
|
|
@@ -1,45 +0,0 @@
|
|||||||
(defwidget powermenu_entry [label icon onclick]
|
|
||||||
(box :orientation "v" :space-evenly false :class "powermenu-entry"
|
|
||||||
(button :class "powermenu-button" :onclick {onclick}
|
|
||||||
:tooltip "${label}"
|
|
||||||
(label :class "powermenu-icon" :text {icon})
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget powermenu []
|
|
||||||
(box :orientation "h" :space-evenly true :valign "center" :halign "center" :class "powermenu-box"
|
|
||||||
(powermenu_entry :label "Power off"
|
|
||||||
:icon ""
|
|
||||||
:onclick "systemctl poweroff")
|
|
||||||
(powermenu_entry :label "Reboot"
|
|
||||||
:icon ""
|
|
||||||
:onclick "systemctl reboot")
|
|
||||||
(powermenu_entry :label "Lock"
|
|
||||||
:icon ""
|
|
||||||
:onclick "sleep 0.1 && gtklock & eww close powermenu &")
|
|
||||||
|
|
||||||
(powermenu_entry :label "Suspend"
|
|
||||||
:icon ""
|
|
||||||
:onclick "sleep 0.1 && gtklock & systemctl suspend & eww close powermenu &")
|
|
||||||
|
|
||||||
(powermenu_entry :label "Sign out"
|
|
||||||
:icon ""
|
|
||||||
:onclick "hyprctl dispatch exit 0")
|
|
||||||
|
|
||||||
(powermenu_entry :label "Cancel"
|
|
||||||
:icon ""
|
|
||||||
:onclick "eww close powermenu")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow powermenu
|
|
||||||
:monitor 0
|
|
||||||
:stacking "overlay"
|
|
||||||
:geometry (geometry
|
|
||||||
:anchor "center"
|
|
||||||
:width "120%"
|
|
||||||
:height "120%")
|
|
||||||
:namespace "eww-blur"
|
|
||||||
(powermenu)
|
|
||||||
)
|
|
@@ -1,111 +0,0 @@
|
|||||||
(deflisten radio :initial '{"is_paused":1,"song":{"artist":"","song":"","image600":"https://www.radiorecord.ru/upload/stations_images/record_image600_white_fill.png"},"stations":[]}' "scripts/radio")
|
|
||||||
(defvar radio_rev false)
|
|
||||||
|
|
||||||
(defwindow radio
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry
|
|
||||||
:x "0%"
|
|
||||||
:y "0%"
|
|
||||||
:anchor "bottom right"
|
|
||||||
:width "0px"
|
|
||||||
:height "0px")
|
|
||||||
(window (radio-win)))
|
|
||||||
|
|
||||||
|
|
||||||
(defwidget radio-win []
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "h"
|
|
||||||
(revealer
|
|
||||||
:visible radio_rev
|
|
||||||
:reveal radio_rev
|
|
||||||
:transition "slideleft"
|
|
||||||
(radio-selector))
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
|
|
||||||
(box
|
|
||||||
:class "album_art"
|
|
||||||
:style "background-size:cover; background-image: url('${radio.song.image600?:'https://www.radiorecord.ru/upload/stations_images/record_image600_white_fill.png'}');")
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
(label
|
|
||||||
:halign "center"
|
|
||||||
:class "song"
|
|
||||||
:wrap "true"
|
|
||||||
:limit-width 18
|
|
||||||
:text "${radio.song.song?:'...'}")
|
|
||||||
(label
|
|
||||||
:halign "center"
|
|
||||||
:class "artist"
|
|
||||||
:wrap "true"
|
|
||||||
:limit-width 22
|
|
||||||
:text "${radio.song.artist?:'...'}")
|
|
||||||
(box
|
|
||||||
:space-evenly true
|
|
||||||
:orientation "h"
|
|
||||||
:halign "center"
|
|
||||||
:class "btn_bar"
|
|
||||||
|
|
||||||
(button
|
|
||||||
:class "btn_left"
|
|
||||||
:onclick "${EWW_CMD} update radio_rev=${!radio_rev}"
|
|
||||||
(box ""))
|
|
||||||
|
|
||||||
(button
|
|
||||||
:class "btn_play"
|
|
||||||
:timeout "2s"
|
|
||||||
:onclick "scripts/radio toggle"
|
|
||||||
"${radio.is_paused==1 ? "" : ""}")
|
|
||||||
|
|
||||||
(button
|
|
||||||
:class "btn_right"
|
|
||||||
:onclick ""
|
|
||||||
(box :visible false ""))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
(defwidget radio-selector []
|
|
||||||
(scroll
|
|
||||||
:active true
|
|
||||||
:vscroll true
|
|
||||||
:hscroll false
|
|
||||||
|
|
||||||
(box
|
|
||||||
:class "station_list"
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
|
|
||||||
(for station in {radio.stations}
|
|
||||||
(button
|
|
||||||
:class "station_art ${(radio.radio == station.id)?'station_sel':''}"
|
|
||||||
:timeout "2s"
|
|
||||||
:onclick "scripts/radio start ${station.id}"
|
|
||||||
:tooltip "${station.title}"
|
|
||||||
:style "background-size:cover; background-image: url('${station.icon_fill_white}');"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget radio-mod []
|
|
||||||
(module
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
(button
|
|
||||||
:onclick "(sleep 0.1 && ${EWW_CMD} open --toggle --no-daemonize radio)"
|
|
||||||
(label
|
|
||||||
:show-truncated false
|
|
||||||
:class "icon-text"
|
|
||||||
:text "")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
@@ -1,140 +0,0 @@
|
|||||||
|
|
||||||
(defwidget cpu-sys-win []
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
:space-evenly false
|
|
||||||
(box :class "sys-label" "CPU")
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
(for core in {EWW_CPU.cores}
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:class "cpu-core ${core.core}"
|
|
||||||
(progress
|
|
||||||
:value {core.usage}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "cpu-core-usage"
|
|
||||||
:tooltip "${core.core} @ ${core.freq}Mhz"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget gpu-sys-win []
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
:space-evenly false
|
|
||||||
(box :class "sys-label" "GPU")
|
|
||||||
(progress
|
|
||||||
:value {gpu.devices[0].GRBM2?.CommandProcessor-Compute?.value?:0.0}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "Compute"
|
|
||||||
)
|
|
||||||
(progress
|
|
||||||
:value {gpu.devices[0].GRBM2?.CommandProcessor-Fetcher?.value?:0.0}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "Fetcher"
|
|
||||||
)
|
|
||||||
(progress
|
|
||||||
:value {gpu.devices[0].GRBM2?.CommandProcessor-Graphics?.value?:0.0}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "Graphics"
|
|
||||||
)
|
|
||||||
(box :class "spacer")
|
|
||||||
(progress
|
|
||||||
:value {gpu.devices[0]?.gpu_activity?.GFX?.value?:0.0}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "GFX"
|
|
||||||
)
|
|
||||||
(progress
|
|
||||||
:value {gpu.devices[0]?.gpu_activity?.Memory?.value?:0.0}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "Memory"
|
|
||||||
)
|
|
||||||
(progress
|
|
||||||
:value {gpu.devices[0]?.gpu_activity?.MediaEngine?.value?:0.0}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "Media"
|
|
||||||
)
|
|
||||||
(box :class "spacer")
|
|
||||||
(progress
|
|
||||||
:value {100*(gpu.devices[0]?.VRAM?.TotalVRAMUsage?.value?:0.0)/(gpu.devices[0]?.VRAM?.TotalVRAM?.value?:1.0)}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "gpu-core-usage"
|
|
||||||
:tooltip "VRAM"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget ram-sys-win []
|
|
||||||
(box
|
|
||||||
:orientation "v"
|
|
||||||
:space-evenly false
|
|
||||||
(box :class "sys-label" "RAM")
|
|
||||||
(progress
|
|
||||||
:value {100*memory.used/memory.total}
|
|
||||||
:orientation "h"
|
|
||||||
:flipped true
|
|
||||||
:class "memory-usage"
|
|
||||||
:tooltip "RAM"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget sys-win []
|
|
||||||
(box
|
|
||||||
:class "sys-win"
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "h"
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:orientation "v"
|
|
||||||
(cpu-sys-win)
|
|
||||||
(box :class "spacer")
|
|
||||||
(box :class "spacer")
|
|
||||||
(gpu-sys-win)
|
|
||||||
(box :class "spacer")
|
|
||||||
(box :class "spacer")
|
|
||||||
(ram-sys-win)
|
|
||||||
)
|
|
||||||
(box
|
|
||||||
:visible {battery.visible}
|
|
||||||
:height 200
|
|
||||||
(graph
|
|
||||||
:height 200
|
|
||||||
:value {battery.percentage}
|
|
||||||
:time-range "30min"
|
|
||||||
:min "0.0"
|
|
||||||
:max "100.0"
|
|
||||||
:dynamic true
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow sys
|
|
||||||
:monitor 0
|
|
||||||
:stacking "overlay"
|
|
||||||
:geometry (geometry
|
|
||||||
:x "0%"
|
|
||||||
:y "0%"
|
|
||||||
:anchor "bottom right"
|
|
||||||
:width "0px"
|
|
||||||
:height "0px")
|
|
||||||
(window (sys-win)))
|
|
31
modules/home/wayland/apps/eww/css/_calendar.scss
Executable file
31
modules/home/wayland/apps/eww/css/_calendar.scss
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
.calendar-win {
|
||||||
|
@include window;
|
||||||
|
background-color: $bg;
|
||||||
|
color: $fg;
|
||||||
|
padding: .2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
calendar {
|
||||||
|
padding: 5px;
|
||||||
|
|
||||||
|
:selected {
|
||||||
|
color: $base0C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
color: $base05;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
color: $base0C;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
color: $base0C;
|
||||||
|
}
|
||||||
|
|
||||||
|
:indeterminate {
|
||||||
|
color: $base03;
|
||||||
|
}
|
||||||
|
}
|
123
modules/home/wayland/apps/eww/css/_sidebar.scss
Executable file
123
modules/home/wayland/apps/eww/css/_sidebar.scss
Executable file
@@ -0,0 +1,123 @@
|
|||||||
|
.system-menu-box {
|
||||||
|
@include window;
|
||||||
|
background-color: $bg;
|
||||||
|
color: $fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-row {
|
||||||
|
margin: 1rem 1.5rem 0;
|
||||||
|
|
||||||
|
.time { font-size: 2rem; }
|
||||||
|
|
||||||
|
.date-box {
|
||||||
|
margin: 0 1rem;
|
||||||
|
|
||||||
|
label { font-size: 1.1rem; }
|
||||||
|
|
||||||
|
.date {
|
||||||
|
background: unset;
|
||||||
|
margin: 0 .5rem 0 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
background-color: $bg1;
|
||||||
|
border-radius: 16px;
|
||||||
|
margin-bottom: .1rem;
|
||||||
|
padding: 0 .5rem;
|
||||||
|
|
||||||
|
label { font-size: 1.5rem; }
|
||||||
|
&:hover { background-color: $bg1; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.system-row {
|
||||||
|
margin: .5rem .7rem;
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin: 0 .1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.element {
|
||||||
|
@include rounding;
|
||||||
|
background-color: $bg1;
|
||||||
|
margin: .3rem;
|
||||||
|
|
||||||
|
button {
|
||||||
|
@include rounding;
|
||||||
|
padding: 1rem 3rem;
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sliders {
|
||||||
|
@include rounding;
|
||||||
|
background-color: $bg1;
|
||||||
|
margin: .5rem 1rem;
|
||||||
|
padding: .6rem 1rem;
|
||||||
|
|
||||||
|
scale {
|
||||||
|
margin-right: -1rem;
|
||||||
|
min-width: 21.5rem;
|
||||||
|
|
||||||
|
trough { margin-right: 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
box { margin: .2rem 0; }
|
||||||
|
label { font-size: 1.2rem; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.volume-slider-box,
|
||||||
|
.brightness-slider-box {
|
||||||
|
trough { background-color: $base02; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.volume-bar highlight {
|
||||||
|
@include rounding;
|
||||||
|
background-image: linear-gradient(to right, $base0B, $base0C);
|
||||||
|
}
|
||||||
|
|
||||||
|
.brightness-bar highlight {
|
||||||
|
@include rounding;
|
||||||
|
background-image: linear-gradient(to right, $base0A, $base0B);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-row {
|
||||||
|
margin: .5rem 1rem;
|
||||||
|
|
||||||
|
.battery-icon { font-size: 2rem; }
|
||||||
|
.battery-wattage { color: $base0A; }
|
||||||
|
|
||||||
|
.battery-status {
|
||||||
|
color: $base04;
|
||||||
|
margin: 0 .5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bt-connected {
|
||||||
|
background-color: $base0C;
|
||||||
|
color: $base00;
|
||||||
|
|
||||||
|
button:hover { background-color: rgba(0, 0, 0, .3); }
|
||||||
|
}
|
||||||
|
|
||||||
|
.net-connected {
|
||||||
|
background-color: $base0C;
|
||||||
|
color: $base00;
|
||||||
|
|
||||||
|
button:hover { background-color: rgba(0, 0, 0, .3); }
|
||||||
|
}
|
76
modules/home/wayland/apps/eww/css/_system.scss
Executable file
76
modules/home/wayland/apps/eww/css/_system.scss
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
.membar {
|
||||||
|
color: $base08;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cpubar {
|
||||||
|
color: $base0C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.batbar {
|
||||||
|
color: $base0B;
|
||||||
|
}
|
||||||
|
|
||||||
|
.membar,
|
||||||
|
.cpubar,
|
||||||
|
.batbar {
|
||||||
|
background-color: $bg1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconmem {
|
||||||
|
color: $base08;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconcpu {
|
||||||
|
color: $base0C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-text {
|
||||||
|
font-size: 3rem;
|
||||||
|
padding: .7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-text-sub {
|
||||||
|
color: $fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-text-mem,
|
||||||
|
.sys-text-cpu {
|
||||||
|
font-size: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-icon-mem,
|
||||||
|
.sys-icon-cpu {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
margin: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.system-info-box {
|
||||||
|
@include rounding;
|
||||||
|
background-color: $bg1;
|
||||||
|
margin: .5rem 1rem;
|
||||||
|
padding: .5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-mem,
|
||||||
|
.sys-cpu {
|
||||||
|
background-color: $bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-icon-mem,
|
||||||
|
.sys-text-mem,
|
||||||
|
.sys-mem {
|
||||||
|
color: $base08;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-icon-cpu,
|
||||||
|
.sys-text-cpu,
|
||||||
|
.sys-cpu {
|
||||||
|
color: $base0C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sys-box {
|
||||||
|
margin: .3em;
|
||||||
|
|
||||||
|
box { margin-left: 1rem; }
|
||||||
|
}
|
@@ -1,14 +1,14 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
home.packages = with pkgs; [ eww jq jaq custom.amdgpu_top ];
|
home.packages = with pkgs; [ eww-wayland jaq ];
|
||||||
|
|
||||||
xdg.configFile."eww" = {
|
xdg.configFile."eww" = {
|
||||||
source = lib.cleanSourceWith {
|
source = lib.cleanSourceWith {
|
||||||
filter = name: _type:
|
filter = name: _type:
|
||||||
let baseName = baseNameOf (toString name);
|
let baseName = baseNameOf (toString name);
|
||||||
in !(lib.hasSuffix ".nix" baseName) && (baseName != "_colors.scss");
|
in !(lib.hasSuffix ".nix" baseName) && (baseName != "_colors.scss");
|
||||||
src = lib.cleanSource ./bar/.;
|
src = lib.cleanSource ./.;
|
||||||
};
|
};
|
||||||
|
|
||||||
recursive = true;
|
recursive = true;
|
||||||
@@ -16,35 +16,28 @@
|
|||||||
|
|
||||||
# colors file
|
# colors file
|
||||||
xdg.configFile."eww/css/_colors.scss".text = ''
|
xdg.configFile."eww/css/_colors.scss".text = ''
|
||||||
$base00: #${config.colorScheme.palette.base00};
|
$base00: #${config.colorScheme.colors.base00};
|
||||||
$base01: #${config.colorScheme.palette.base01};
|
$base01: #${config.colorScheme.colors.base01};
|
||||||
$base02: #${config.colorScheme.palette.base02};
|
$base02: #${config.colorScheme.colors.base02};
|
||||||
$base03: #${config.colorScheme.palette.base03};
|
$base03: #${config.colorScheme.colors.base03};
|
||||||
$base04: #${config.colorScheme.palette.base04};
|
$base04: #${config.colorScheme.colors.base04};
|
||||||
$base05: #${config.colorScheme.palette.base05};
|
$base05: #${config.colorScheme.colors.base05};
|
||||||
$base06: #${config.colorScheme.palette.base06};
|
$base06: #${config.colorScheme.colors.base06};
|
||||||
$base07: #${config.colorScheme.palette.base07};
|
$base07: #${config.colorScheme.colors.base07};
|
||||||
$base08: #${config.colorScheme.palette.base08};
|
$base08: #${config.colorScheme.colors.base08};
|
||||||
$base09: #${config.colorScheme.palette.base09};
|
$base09: #${config.colorScheme.colors.base09};
|
||||||
$base0A: #${config.colorScheme.palette.base0A};
|
$base0A: #${config.colorScheme.colors.base0A};
|
||||||
$base0B: #${config.colorScheme.palette.base0B};
|
$base0B: #${config.colorScheme.colors.base0B};
|
||||||
$base0C: #${config.colorScheme.palette.base0C};
|
$base0C: #${config.colorScheme.colors.base0C};
|
||||||
$base0D: #${config.colorScheme.palette.base0D};
|
$base0D: #${config.colorScheme.colors.base0D};
|
||||||
$base0E: #${config.colorScheme.palette.base0E};
|
$base0E: #${config.colorScheme.colors.base0E};
|
||||||
$base0F: #${config.colorScheme.palette.base0F};
|
$base0F: #${config.colorScheme.colors.base0F};
|
||||||
|
|
||||||
|
|
||||||
$fg: $base07;
|
$fg: $base07;
|
||||||
$bg0: $base00;
|
$bg: $base00;
|
||||||
$bg1: $base01;
|
$bg1: $base01;
|
||||||
|
$border: $base03;
|
||||||
$border-color: $base03;
|
|
||||||
$border-color-focus: $base04;
|
|
||||||
$border-radius: ${config.colorScheme.palette.border-radius}px;
|
|
||||||
$border-width: ${config.colorScheme.palette.border-width}px;
|
|
||||||
|
|
||||||
$gaps-screen: ${config.colorScheme.palette.gaps-screen}px;
|
|
||||||
$gaps-window: ${config.colorScheme.palette.gaps-window}px;
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
109
modules/home/wayland/apps/eww/eww.scss
Executable file
109
modules/home/wayland/apps/eww/eww.scss
Executable file
@@ -0,0 +1,109 @@
|
|||||||
|
@import 'css/colors';
|
||||||
|
|
||||||
|
@mixin rounding {
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin window {
|
||||||
|
border: 2px solid $base03;
|
||||||
|
margin: 5px 5px 10px;
|
||||||
|
@include rounding;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
font-family: "IBM Plex Mono";
|
||||||
|
transition: 200ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
@import 'css/calendar';
|
||||||
|
@import 'css/sidebar';
|
||||||
|
@import 'css/system';
|
||||||
|
|
||||||
|
.bar {
|
||||||
|
background-color: $bg;
|
||||||
|
color: $fg;
|
||||||
|
border-bottom: 2px solid $base03;
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: $bg;
|
||||||
|
border: 1px solid $border;
|
||||||
|
border-radius: 8px;
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon,
|
||||||
|
.icon label { font-family: Material Design Icons; }
|
||||||
|
|
||||||
|
.ws {
|
||||||
|
border-radius: 2rem;
|
||||||
|
margin: .7rem .25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.focused {
|
||||||
|
background-color: $bg;
|
||||||
|
border-radius: 1rem;
|
||||||
|
margin: .3rem;
|
||||||
|
padding: .25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.module { margin: 0 5px; }
|
||||||
|
|
||||||
|
.hour {
|
||||||
|
font-weight: bold;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.minute {
|
||||||
|
padding-right: .7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
background: $bg;
|
||||||
|
color: $base0C;
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bright-icon { color: $base09; }
|
||||||
|
.module-bt { font-size: 1.2rem; }
|
||||||
|
|
||||||
|
scale trough {
|
||||||
|
background-color: $bg1;
|
||||||
|
border-radius: 24px;
|
||||||
|
margin: 0 1rem;
|
||||||
|
min-height: 10px;
|
||||||
|
min-width: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspaces { margin-left: 10px; }
|
||||||
|
|
||||||
|
.grey {
|
||||||
|
background-color: $base02;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red {
|
||||||
|
background-color: $base0F;
|
||||||
|
}
|
||||||
|
|
||||||
|
.orange {
|
||||||
|
background-color: $base08;
|
||||||
|
}
|
||||||
|
|
||||||
|
.green {
|
||||||
|
background-color: $base0B;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blue {
|
||||||
|
background-color: $base0C;
|
||||||
|
}
|
44
modules/home/wayland/apps/eww/eww.yuck
Executable file
44
modules/home/wayland/apps/eww/eww.yuck
Executable file
@@ -0,0 +1,44 @@
|
|||||||
|
(include "./modules/clock.yuck")
|
||||||
|
(include "./modules/net.yuck")
|
||||||
|
(include "./modules/sys.yuck")
|
||||||
|
(include "./modules/variables.yuck")
|
||||||
|
(include "./modules/workspaces.yuck")
|
||||||
|
|
||||||
|
(include "./windows/calendar.yuck")
|
||||||
|
(include "./windows/system.yuck")
|
||||||
|
|
||||||
|
(defwidget left []
|
||||||
|
(box
|
||||||
|
:space-evenly false
|
||||||
|
:halign "start"
|
||||||
|
(workspaces)))
|
||||||
|
|
||||||
|
(defwidget right []
|
||||||
|
(box
|
||||||
|
:space-evenly false
|
||||||
|
:halign "end"
|
||||||
|
(sys)
|
||||||
|
(clock_module)))
|
||||||
|
|
||||||
|
(defwidget center []
|
||||||
|
(box
|
||||||
|
:space-evenly false
|
||||||
|
:halign "center"
|
||||||
|
))
|
||||||
|
|
||||||
|
(defwidget bar-box []
|
||||||
|
(centerbox
|
||||||
|
(left)
|
||||||
|
(center)
|
||||||
|
(right)))
|
||||||
|
|
||||||
|
(defwindow bar
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry :x "0%"
|
||||||
|
:y "0%"
|
||||||
|
:width "100%"
|
||||||
|
:height "32px"
|
||||||
|
:anchor "top center")
|
||||||
|
:stacking "fg"
|
||||||
|
:exclusive true
|
||||||
|
(bar-box))
|
24
modules/home/wayland/apps/eww/modules/clock.yuck
Executable file
24
modules/home/wayland/apps/eww/modules/clock.yuck
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
(defvar date_rev false)
|
||||||
|
|
||||||
|
(defwidget clock_module []
|
||||||
|
(eventbox
|
||||||
|
:onhover "${EWW_CMD} update date_rev=true"
|
||||||
|
:onhoverlost "${EWW_CMD} update date_rev=false"
|
||||||
|
(overlay
|
||||||
|
:class "module"
|
||||||
|
(box
|
||||||
|
:space-evenly false
|
||||||
|
(label
|
||||||
|
:text {time.hour}
|
||||||
|
:class "hour")
|
||||||
|
(label
|
||||||
|
:text ":")
|
||||||
|
(label
|
||||||
|
:text {time.minute}
|
||||||
|
:class "minute"))
|
||||||
|
(revealer
|
||||||
|
:reveal date_rev
|
||||||
|
(button
|
||||||
|
:class "date"
|
||||||
|
:onclick "${EWW_CMD} open --toggle calendar"
|
||||||
|
{time.date})))))
|
7
modules/home/wayland/apps/eww/modules/net.yuck
Executable file
7
modules/home/wayland/apps/eww/modules/net.yuck
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
(defwidget net []
|
||||||
|
(button
|
||||||
|
:class "module icon"
|
||||||
|
:onclick "gnome-control-center &"
|
||||||
|
:tooltip {net.name}
|
||||||
|
:style "color: ${net.color};"
|
||||||
|
{net.icon}))
|
30
modules/home/wayland/apps/eww/modules/sys.yuck
Executable file
30
modules/home/wayland/apps/eww/modules/sys.yuck
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
(defwidget sys []
|
||||||
|
(box
|
||||||
|
:class "module"
|
||||||
|
:space-evenly false
|
||||||
|
:spacing 5
|
||||||
|
(circular-progress
|
||||||
|
:value {EWW_CPU.avg}
|
||||||
|
:class "cpubar"
|
||||||
|
:thickness 3
|
||||||
|
(button
|
||||||
|
:onclick "${EWW_CMD} open --toggle system-menu"
|
||||||
|
(label :class "icon-text" :text "")))
|
||||||
|
|
||||||
|
(circular-progress
|
||||||
|
:value {memory.percent}
|
||||||
|
:class "membar"
|
||||||
|
:thickness 3
|
||||||
|
(button
|
||||||
|
:onclick "${EWW_CMD} open --toggle system-menu"
|
||||||
|
(label :class "icon-text" :text "")))
|
||||||
|
|
||||||
|
(circular-progress
|
||||||
|
:value {battery.percentage}
|
||||||
|
:class "batbar"
|
||||||
|
:style "color: ${battery.color};"
|
||||||
|
:thickness 3
|
||||||
|
(button
|
||||||
|
:tooltip "${battery.percentage}%"
|
||||||
|
:onclick "${EWW_CMD} open --toggle system-menu"
|
||||||
|
(label :class "icon-text" :text "")))))
|
17
modules/home/wayland/apps/eww/modules/variables.yuck
Executable file
17
modules/home/wayland/apps/eww/modules/variables.yuck
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
(defvar bright_reveal false)
|
||||||
|
(defvar bt_rev false)
|
||||||
|
(defvar net_rev false)
|
||||||
|
(defvar time_rev false)
|
||||||
|
(defvar vol_reveal false)
|
||||||
|
|
||||||
|
(defpoll time :interval "5s" `date +'{"date": "%d/%m", "hour": "%H", "minute": "%M", "day": "%A"}'`)
|
||||||
|
|
||||||
|
(deflisten flightmode "scripts/flightmode")
|
||||||
|
(deflisten powermode "scripts/powermode")
|
||||||
|
(deflisten battery "scripts/battery")
|
||||||
|
(deflisten bluetooth "scripts/bluetooth")
|
||||||
|
(deflisten brightness "scripts/brightness")
|
||||||
|
(deflisten memory "scripts/memory")
|
||||||
|
(deflisten net "scripts/net")
|
||||||
|
(deflisten volume "scripts/volume")
|
||||||
|
(deflisten workspace "scripts/workspaces")
|
13
modules/home/wayland/apps/eww/modules/workspaces.yuck
Executable file
13
modules/home/wayland/apps/eww/modules/workspaces.yuck
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
(defwidget workspaces []
|
||||||
|
(eventbox
|
||||||
|
:onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace"
|
||||||
|
(box
|
||||||
|
:class "module workspaces"
|
||||||
|
(for ws in workspace
|
||||||
|
(button
|
||||||
|
:onclick "hyprctl dispatch workspace ${ws.number}"
|
||||||
|
:class "ws icon ${ws.color}"
|
||||||
|
; :tooltip {ws.tooltip}
|
||||||
|
(box
|
||||||
|
:class `${ws.focused ? "focused" : ""}`
|
||||||
|
:height 3))))))
|
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
icons=("" "" "" "" "" "" "" "" "" "" "")
|
icons=("" "" "" "" "" "" "" "" "" "" "")
|
||||||
num_icons=$(awk -v n="${#icons[@]}" 'BEGIN{print 100 / n}')
|
num_icons=$(awk -v n="${#icons[@]}" 'BEGIN{print 100 / n}')
|
||||||
@@ -11,7 +11,7 @@ geticon() {
|
|||||||
|
|
||||||
status() {
|
status() {
|
||||||
if [ "$STATE" = "Charging" ]; then
|
if [ "$STATE" = "Charging" ]; then
|
||||||
echo -n "Charging"
|
echo -n "charging"
|
||||||
|
|
||||||
if [ "$RATE" -gt 0 ]; then
|
if [ "$RATE" -gt 0 ]; then
|
||||||
echo ", $(gettime) left"
|
echo ", $(gettime) left"
|
||||||
@@ -21,7 +21,7 @@ status() {
|
|||||||
elif [ "$STATE" = "Discharging" ]; then
|
elif [ "$STATE" = "Discharging" ]; then
|
||||||
echo "$(gettime)h left"
|
echo "$(gettime)h left"
|
||||||
else
|
else
|
||||||
echo "Fully Charged"
|
echo "fully charged"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,9 +39,9 @@ gettime() {
|
|||||||
|
|
||||||
if [ "$RATE" -gt 0 ]; then
|
if [ "$RATE" -gt 0 ]; then
|
||||||
if [ "$STATE" = "Discharging" ]; then
|
if [ "$STATE" = "Discharging" ]; then
|
||||||
EX=$(( ($NOW*1.0) / $RATE))
|
EX="$NOW / $RATE"
|
||||||
else
|
else
|
||||||
EX=$(( (($FULL - $NOW)*1.0) / $RATE))
|
EX="($FULL - $NOW) / $RATE"
|
||||||
fi
|
fi
|
||||||
date -u -d@"$(awk -v ex="$EX" 'BEGIN{print ex * 3600}')" +%H:%M
|
date -u -d@"$(awk -v ex="$EX" 'BEGIN{print ex * 3600}')" +%H:%M
|
||||||
fi
|
fi
|
||||||
@@ -53,9 +53,9 @@ if [ -d "$BATTERY" ]; then
|
|||||||
CAPACITY=$(cat $BATTERY/capacity)
|
CAPACITY=$(cat $BATTERY/capacity)
|
||||||
STATE=$(cat $BATTERY/status)
|
STATE=$(cat $BATTERY/status)
|
||||||
|
|
||||||
echo '{ "visible": true, "icon": "'$(geticon)'", "percentage": '$CAPACITY', "wattage": "'$(wattage)'", "status": "'$(status)'", "color": "'$(color)'" }'
|
echo '{ "icon": "'$(geticon)'", "percentage": '$CAPACITY', "wattage": "'$(wattage)'", "status": "'$(status)'", "color": "'$(color)'" }'
|
||||||
sleep 15
|
sleep 5
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
echo '{ "visible": false, "icon": "", "percentage": 0, "wattage": "", "status": "", "color": "#a6e3a1" }'
|
echo '{ "icon": "", "percentage": 0, "wattage": "", "status": "", "color": "#a6e3a1" }'
|
||||||
fi
|
fi
|
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
total="$(free --si | rg Mem | awk '{print $2}')"
|
total="$(free --si | rg Mem | awk '{print $2}')"
|
||||||
|
|
||||||
@@ -8,5 +8,7 @@ human() {
|
|||||||
|
|
||||||
free --si -s 3 | rg --line-buffered Mem | while read -r line; do
|
free --si -s 3 | rg --line-buffered Mem | while read -r line; do
|
||||||
used=$(echo "$line" | awk '{print $3}')
|
used=$(echo "$line" | awk '{print $3}')
|
||||||
echo '{"human": { "total": "'$(human "$total")'", "used": "'$(human "$used")'"}, "total": "'$total'" , "used": "'$used'"}'
|
perc=$(awk -v used="$used" -v total="$total" 'BEGIN{print sprintf("%.f", used/total*100)}')
|
||||||
|
|
||||||
|
echo '{"total": "'$(human "$total")'", "used": "'$(human "$used")'", "percent": '$perc'}'
|
||||||
done
|
done
|
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
function get_time_ms {
|
function get_time_ms {
|
||||||
date -u +%s%3N
|
date -u +%s%3N
|
||||||
@@ -24,16 +24,15 @@ function gen_wifi() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
icon=${icons[$level]}
|
icon=${icons[$level]}
|
||||||
ip="-"
|
color="#cba6f7"
|
||||||
class="net-connected"
|
class="net-connected"
|
||||||
name_raw=$(wpa_cli status | grep \^ssid= | sed 's/ssid=//g')
|
name=$(wpa_cli status | grep \^ssid= | sed 's/ssid=//g')
|
||||||
name=$(printf "%s" $name_raw)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function gen_ethernet() {
|
function gen_ethernet() {
|
||||||
icon=""
|
icon=""
|
||||||
class="net-connected"
|
class="net-connected"
|
||||||
ip=""
|
color="#cba6f7"
|
||||||
name=Wired
|
name=Wired
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,12 +48,12 @@ function make_content() {
|
|||||||
gen_wifi
|
gen_wifi
|
||||||
else
|
else
|
||||||
icon=""
|
icon=""
|
||||||
ip="-"
|
color="#988ba2"
|
||||||
class="net-disconnected"
|
class="net-disconnected"
|
||||||
name="Disconnected"
|
name="Disconnected"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo '{"icon": "'$icon'", "name": "'$name'", "ip": "'$ip'", "class": "'$class'"}'
|
echo '{"icon": "'$icon'", "name": "'$name'", "color": "'$color'", "class": "'$class'"}'
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$1" = "toggle" ]; then
|
if [ "$1" = "toggle" ]; then
|
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
colors=("blue" "blue" "green" "red")
|
colors=("blue" "orange" "green" "red")
|
||||||
empty="grey"
|
empty="grey"
|
||||||
|
|
||||||
# get initial focused workspace
|
# get initial focused workspace
|
||||||
@@ -64,7 +64,7 @@ done
|
|||||||
generate
|
generate
|
||||||
|
|
||||||
# main loop
|
# main loop
|
||||||
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | rg --line-buffered "workspace|mon(itor)?" | while read -r line; do
|
socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | rg --line-buffered "workspace|mon(itor)?" | while read -r line; do
|
||||||
case ${line%>>*} in
|
case ${line%>>*} in
|
||||||
"workspace")
|
"workspace")
|
||||||
focusedws=${line#*>>}
|
focusedws=${line#*>>}
|
14
modules/home/wayland/apps/eww/windows/calendar.yuck
Executable file
14
modules/home/wayland/apps/eww/windows/calendar.yuck
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
(defwidget calendar-win []
|
||||||
|
(box
|
||||||
|
:class "calendar-win"
|
||||||
|
(calendar)))
|
||||||
|
|
||||||
|
(defwindow calendar
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry
|
||||||
|
:x "0%"
|
||||||
|
:y "0%"
|
||||||
|
:anchor "top right"
|
||||||
|
:width "0px"
|
||||||
|
:height "0px")
|
||||||
|
(calendar-win))
|
188
modules/home/wayland/apps/eww/windows/system.yuck
Executable file
188
modules/home/wayland/apps/eww/windows/system.yuck
Executable file
@@ -0,0 +1,188 @@
|
|||||||
|
(defwidget system-menu []
|
||||||
|
(box
|
||||||
|
:class "system-menu-box"
|
||||||
|
:space-evenly false
|
||||||
|
:orientation "v"
|
||||||
|
(centerbox
|
||||||
|
:class "top-row"
|
||||||
|
(box
|
||||||
|
(label
|
||||||
|
:class "time"
|
||||||
|
:text "${time.hour}:${time.minute}")
|
||||||
|
(box
|
||||||
|
:class "date-box"
|
||||||
|
:space-evenly false
|
||||||
|
(label
|
||||||
|
:class "date"
|
||||||
|
:text {time.date}
|
||||||
|
)
|
||||||
|
(label
|
||||||
|
:class "day"
|
||||||
|
:text {time.day}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(label)
|
||||||
|
(box
|
||||||
|
:space-evenly false
|
||||||
|
:halign "end"
|
||||||
|
(button
|
||||||
|
:halign "end"
|
||||||
|
:class "power-button icon"
|
||||||
|
:onclick "wlogout -p layer-shell -c 10 -m 500 &"
|
||||||
|
""
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(centerbox
|
||||||
|
:class "system-row"
|
||||||
|
(box
|
||||||
|
:class "net-box"
|
||||||
|
:space-evenly false
|
||||||
|
:orientation "v"
|
||||||
|
(box
|
||||||
|
:class "element icon ${net.class}"
|
||||||
|
(button
|
||||||
|
:class "net-button"
|
||||||
|
:onclick "scripts/net toggle"
|
||||||
|
{net.icon}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(label
|
||||||
|
:text {net.name}
|
||||||
|
:xalign 0.5
|
||||||
|
:limit-width 15
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "flightmode-box"
|
||||||
|
:space-evenly false
|
||||||
|
:orientation "v"
|
||||||
|
(box
|
||||||
|
:class "element"
|
||||||
|
(button
|
||||||
|
:class "flightmode-button"
|
||||||
|
:onclick "scripts/flightmode toggle"
|
||||||
|
flightmode
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(label
|
||||||
|
:text "Flight Mode"
|
||||||
|
:xalign 0.5
|
||||||
|
:limit-width 16
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "powermode-box"
|
||||||
|
:space-evenly false
|
||||||
|
:orientation "v"
|
||||||
|
(box
|
||||||
|
:class "element"
|
||||||
|
(button
|
||||||
|
:class "powermode-button"
|
||||||
|
:onclick "scripts/powermode toggle"
|
||||||
|
powermode))
|
||||||
|
(label
|
||||||
|
:text "Power Mode"
|
||||||
|
:xalign 0.5
|
||||||
|
:limit-width 16)))
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "sliders"
|
||||||
|
:orientation "v"
|
||||||
|
(box
|
||||||
|
:class "volume-slider-box"
|
||||||
|
:space-evenly false
|
||||||
|
(button
|
||||||
|
:class "volume-icon icon"
|
||||||
|
:onclick "scripts/volume mute SINK"
|
||||||
|
{volume.icon})
|
||||||
|
(scale
|
||||||
|
:class "volume-bar"
|
||||||
|
:value {volume.percent}
|
||||||
|
:onchange "scripts/volume setvol SINK {}"))
|
||||||
|
(box
|
||||||
|
:class "brightness-slider-box"
|
||||||
|
:space-evenly false
|
||||||
|
(button
|
||||||
|
:class "brightness-slider-icon icon"
|
||||||
|
{brightness.icon})
|
||||||
|
(scale
|
||||||
|
:class "brightness-bar"
|
||||||
|
:value {brightness.percent}
|
||||||
|
:onchange "brillo -S {}")))
|
||||||
|
|
||||||
|
(box
|
||||||
|
:class "system-info-box"
|
||||||
|
|
||||||
|
; cpu
|
||||||
|
(box
|
||||||
|
:class "sys-box"
|
||||||
|
:space-evenly false
|
||||||
|
:halign "start"
|
||||||
|
(circular-progress
|
||||||
|
:value "${EWW_CPU.avg}"
|
||||||
|
:class "sys-cpu"
|
||||||
|
:thickness 3
|
||||||
|
(label
|
||||||
|
:text ""
|
||||||
|
:class "sys-icon-cpu icon"))
|
||||||
|
(box
|
||||||
|
:orientation "v"
|
||||||
|
:vexpand false
|
||||||
|
(label
|
||||||
|
:text "CPU"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys-text-cpu")
|
||||||
|
(label
|
||||||
|
:text "${round(EWW_CPU.avg,2)}%"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys-text-sub")
|
||||||
|
(label
|
||||||
|
:text "${EWW_CPU.cores[0].freq} MHz"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys-text-sub")))
|
||||||
|
|
||||||
|
; memory
|
||||||
|
(box
|
||||||
|
:class "sys-box"
|
||||||
|
:space-evenly false
|
||||||
|
:halign "end"
|
||||||
|
(circular-progress
|
||||||
|
:value {memory.percent}
|
||||||
|
:class "sys-mem"
|
||||||
|
:thickness 3
|
||||||
|
(label
|
||||||
|
:text ""
|
||||||
|
:class "sys-icon-mem icon"))
|
||||||
|
(box
|
||||||
|
:orientation "v"
|
||||||
|
(label
|
||||||
|
:text "RAM"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys-text-mem")
|
||||||
|
(label
|
||||||
|
:text "${memory.used} | ${memory.total}"
|
||||||
|
:halign "start"
|
||||||
|
:class "sys-text-sub"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(label)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwindow system-menu
|
||||||
|
:stacking "fg"
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry
|
||||||
|
:x "0"
|
||||||
|
:y "0"
|
||||||
|
:width "0%"
|
||||||
|
:height "0%"
|
||||||
|
:anchor "right top")
|
||||||
|
(system-menu))
|
@@ -1,101 +0,0 @@
|
|||||||
{ config, lib, ... }: {
|
|
||||||
|
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
|
||||||
services.kanshi = {
|
|
||||||
enable = true;
|
|
||||||
systemdTarget = "graphical-session.target";
|
|
||||||
settings = [
|
|
||||||
{
|
|
||||||
profile.name = "tower_0";
|
|
||||||
profile.outputs = [{
|
|
||||||
criteria = "CEX CX133 0x00000001";
|
|
||||||
mode = "1920x1200@59.972";
|
|
||||||
position = "0,0";
|
|
||||||
scale = 1.0;
|
|
||||||
status = "enable";
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile.name = "tower_1";
|
|
||||||
profile.outputs = [{
|
|
||||||
criteria = "AOC 16G3 1DDP7HA000348";
|
|
||||||
mode = "1920x1080@144.000";
|
|
||||||
position = "0,0";
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.0;
|
|
||||||
adaptiveSync = true;
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile.name = "tower_2";
|
|
||||||
profile.outputs = [
|
|
||||||
{
|
|
||||||
criteria = "AOC 16G3 1DDP7HA000348";
|
|
||||||
mode = "1920x1080@144.000";
|
|
||||||
position = "0,0";
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.0;
|
|
||||||
adaptiveSync = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "CEX CX133 0x00000001";
|
|
||||||
mode = "1920x1200@59.972";
|
|
||||||
position = "0,1080";
|
|
||||||
scale = 1.0;
|
|
||||||
status = "enable";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile.name = "laptop_0";
|
|
||||||
profile.outputs = [{
|
|
||||||
criteria = "LG Display 0x060A Unknown";
|
|
||||||
mode = "1920x1080@60.020";
|
|
||||||
position = "0,0";
|
|
||||||
scale = 1.0;
|
|
||||||
status = "enable";
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile.name = "laptop_1";
|
|
||||||
profile.outputs = [
|
|
||||||
{
|
|
||||||
criteria = "CEX CX133 0x00000001";
|
|
||||||
mode = "2560x1600@59.972";
|
|
||||||
position = "0,0";
|
|
||||||
scale = 1.0;
|
|
||||||
status = "enable";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "LG Display 0x060A Unknown";
|
|
||||||
mode = "1920x1080@60.020";
|
|
||||||
position = "2560,0";
|
|
||||||
scale = 1.0;
|
|
||||||
status = "enable";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
profile.name = "laptop_2";
|
|
||||||
profile.outputs = [
|
|
||||||
{
|
|
||||||
criteria = "AOC 16G3 1DDP7HA000348";
|
|
||||||
mode = "1920x1080@144.000";
|
|
||||||
position = "0,0";
|
|
||||||
status = "enable";
|
|
||||||
scale = 1.0;
|
|
||||||
adaptiveSync = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "LG Display 0x060A Unknown";
|
|
||||||
mode = "1920x1080@60.020";
|
|
||||||
position = "1920,0";
|
|
||||||
scale = 1.0;
|
|
||||||
status = "enable";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,245 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
jsonOutput = name:
|
|
||||||
{ pre ? "", text ? "", tooltip ? "", alt ? "", class ? "", percentage ? ""
|
|
||||||
}:
|
|
||||||
"${
|
|
||||||
pkgs.writeShellScriptBin "waybar-${name}" ''
|
|
||||||
set -euo pipefail
|
|
||||||
${pre}
|
|
||||||
${pkgs.jq}/bin/jq -cn \
|
|
||||||
--arg text "${text}" \
|
|
||||||
--arg tooltip "${tooltip}" \
|
|
||||||
--arg alt "${alt}" \
|
|
||||||
--arg class "${class}" \
|
|
||||||
--arg percentage "${percentage}" \
|
|
||||||
'{text:$text,tooltip:$tooltip,alt:$alt,class:$class,percentage:$percentage}'
|
|
||||||
''
|
|
||||||
}/bin/waybar-${name}";
|
|
||||||
in {
|
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
|
||||||
|
|
||||||
home.packages = [ pkgs.custom.amdgpu_top pkgs.jq ];
|
|
||||||
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.waybar;
|
|
||||||
systemd.enable = false;
|
|
||||||
style = ''
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: ${config.colorScheme.palette.border-radius}pt;
|
|
||||||
font-family:'Monospace','Material Design Icons','Openmoji';
|
|
||||||
font-size: 13pt;
|
|
||||||
color: #${config.colorScheme.palette.base07};
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background: transparent;
|
|
||||||
padding-top: ${config.colorScheme.palette.gaps-screen}pt;
|
|
||||||
padding-bottom: ${config.colorScheme.palette.gaps-screen}pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
background: #${config.colorScheme.palette.base01};
|
|
||||||
border-radius: ${config.colorScheme.palette.border-radius}pt;
|
|
||||||
border-color: #${config.colorScheme.palette.base03};
|
|
||||||
border-width: ${config.colorScheme.palette.border-width}pt;
|
|
||||||
border-style: solid;
|
|
||||||
font-size: 13pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip label {
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
font-size: 64pt;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
padding: 2pt;
|
|
||||||
padding-left: 4pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
color: #${config.colorScheme.palette.base0C};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
color: #${config.colorScheme.palette.base0C};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
color: #${config.colorScheme.palette.base08};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover icon {
|
|
||||||
color: #${config.colorScheme.palette.base04};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#backlight, #battery,
|
|
||||||
#cpu, #memory, #custom-gpu,
|
|
||||||
#tray,
|
|
||||||
#custom-powermenu,
|
|
||||||
#clock, #clock.date, #clock.time
|
|
||||||
{
|
|
||||||
background: #${config.colorScheme.palette.base01};
|
|
||||||
margin-bottom: ${config.colorScheme.palette.gaps-window}pt;
|
|
||||||
padding-top: 2px;
|
|
||||||
padding-left: 2px;
|
|
||||||
padding-bottom: 2px;
|
|
||||||
border-top-right-radius: 0px;
|
|
||||||
border-bottom-right-radius: 0px;
|
|
||||||
border-top: ${config.colorScheme.palette.border-width}px solid #${config.colorScheme.palette.base03};
|
|
||||||
border-left: ${config.colorScheme.palette.border-width}px solid #${config.colorScheme.palette.base03};
|
|
||||||
border-bottom: ${config.colorScheme.palette.border-width}px solid #${config.colorScheme.palette.base03};
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-powermenu {
|
|
||||||
margin-bottom: 0pt;
|
|
||||||
border-bottom-left-radius: 0px;
|
|
||||||
border-bottom: none;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
settings = [{
|
|
||||||
"layer" = "top";
|
|
||||||
"position" = "right";
|
|
||||||
modules-left = [ "hyprland/workspaces" ];
|
|
||||||
modules-center = [ ];
|
|
||||||
modules-right = [
|
|
||||||
"pulseaudio"
|
|
||||||
"backlight"
|
|
||||||
"cpu"
|
|
||||||
"custom/gpu"
|
|
||||||
"memory"
|
|
||||||
"network"
|
|
||||||
"battery"
|
|
||||||
"tray"
|
|
||||||
"clock"
|
|
||||||
"custom/powermenu"
|
|
||||||
];
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
"format" = "{icon}";
|
|
||||||
"on-click" = "activate";
|
|
||||||
"active-only" = "false";
|
|
||||||
"format-icons" = {
|
|
||||||
"default" = "";
|
|
||||||
"active" = "";
|
|
||||||
"urgent" = "";
|
|
||||||
"focused" = "";
|
|
||||||
};
|
|
||||||
"persistent-workspaces" = {
|
|
||||||
"1" = [ ];
|
|
||||||
"2" = [ ];
|
|
||||||
"3" = [ ];
|
|
||||||
"4" = [ ];
|
|
||||||
"5" = [ ];
|
|
||||||
"6" = [ ];
|
|
||||||
"7" = [ ];
|
|
||||||
"8" = [ ];
|
|
||||||
"9" = [ ];
|
|
||||||
"10" = [ ];
|
|
||||||
};
|
|
||||||
"on-scroll-up" = "hyprctl dispatch workspace r-1";
|
|
||||||
"on-scroll-down" = "hyprctl dispatch workspace r+1";
|
|
||||||
};
|
|
||||||
|
|
||||||
"backlight" = {
|
|
||||||
"device" = "amd_backlight";
|
|
||||||
"on-scroll-up" = "light -A 5";
|
|
||||||
"on-scroll-down" = "light -U 5";
|
|
||||||
"format" = "{icon}";
|
|
||||||
"format-icons" = [ "" "" "" "" ];
|
|
||||||
};
|
|
||||||
"pulseaudio" = {
|
|
||||||
"scroll-step" = 5;
|
|
||||||
"format" = "{icon}";
|
|
||||||
"format-muted" = "";
|
|
||||||
"format-icons" = { "default" = [ "" "" "" ]; };
|
|
||||||
"on-click" = "amixer -D pulse sset Master toggle -q";
|
|
||||||
};
|
|
||||||
"battery" = {
|
|
||||||
"interval" = 30;
|
|
||||||
"states" = {
|
|
||||||
"warning" = 20;
|
|
||||||
"critical" = 10;
|
|
||||||
};
|
|
||||||
"format" = "{icon}";
|
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" "" "" "" ];
|
|
||||||
"format-full" = "{icon}";
|
|
||||||
"format-charging" = "{icon}";
|
|
||||||
};
|
|
||||||
"clock" = {
|
|
||||||
"interval" = 30;
|
|
||||||
"format" = ''
|
|
||||||
{:<b>%H</b>
|
|
||||||
%M}'';
|
|
||||||
"tooltip-format" = ''
|
|
||||||
<big><b>{:%d/%m/%Y}</b></big>
|
|
||||||
<tt><small>{calendar}</small></tt>'';
|
|
||||||
"calendar" = { "months" = ""; };
|
|
||||||
};
|
|
||||||
"memory" = {
|
|
||||||
"interval" = 5;
|
|
||||||
"format" = ''
|
|
||||||
|
|
||||||
{icon}'';
|
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" "" "" ];
|
|
||||||
"states" = { "warning" = 85; };
|
|
||||||
};
|
|
||||||
"cpu" = {
|
|
||||||
"interval" = 1;
|
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" "" "" ];
|
|
||||||
"format" = ''
|
|
||||||
|
|
||||||
{icon}'';
|
|
||||||
};
|
|
||||||
"custom/gpu" = {
|
|
||||||
"exec" = jsonOutput "gpu" {
|
|
||||||
tooltip = "...";
|
|
||||||
percentage = ''
|
|
||||||
$(amdgpu_top -J -n 1 | jq -r '.devices[0].GRBM2."Command Processor - Graphics".value')'';
|
|
||||||
};
|
|
||||||
"return-type" = "json";
|
|
||||||
"interval" = 5;
|
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" "" "" ];
|
|
||||||
"format" = ''
|
|
||||||
|
|
||||||
{icon}'';
|
|
||||||
};
|
|
||||||
"network" = {
|
|
||||||
"format-disconnected" = "";
|
|
||||||
"format-ethernet" = "";
|
|
||||||
"format-linked" = "";
|
|
||||||
"format-wifi" = "";
|
|
||||||
"interval" = 1;
|
|
||||||
"tooltip-format-disconnected" = "Disconnected";
|
|
||||||
"tooltip-format-ethernet" = "{ifname} @ {ipaddr}";
|
|
||||||
"tooltip-format-linked" = "{essid}: {ifname} @ -";
|
|
||||||
"tooltip-format-wifi" = "{essid}: {ifname} @ {ipaddr}";
|
|
||||||
};
|
|
||||||
"temperature" = {
|
|
||||||
# "hwmon-path"= "${env:HWMON_PATH}";
|
|
||||||
#"critical-threshold"= 80;
|
|
||||||
"format" = " {temperatureC}°C";
|
|
||||||
};
|
|
||||||
"custom/powermenu" = {
|
|
||||||
"format" = "{icon}";
|
|
||||||
"format-icons" = [ "" ];
|
|
||||||
"on-click" = "eww open powermenu";
|
|
||||||
"tooltip" = false;
|
|
||||||
};
|
|
||||||
"tray" = {
|
|
||||||
"icon-size" = 15;
|
|
||||||
"spacing" = 5;
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@@ -1,12 +1,10 @@
|
|||||||
{ lib, pkgs, config, ... }: {
|
{ lib, pkgs, config, ... }: {
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
|
|
||||||
home.packages = with pkgs; [ swayidle swaylock-effects ];
|
home.packages = with pkgs; [ swayidle swaylock-effects wlogout ];
|
||||||
|
|
||||||
xdg.configFile."swaylock/config".text = ''
|
xdg.configFile."swaylock/config".text = ''
|
||||||
screenshots
|
screenshots
|
||||||
grace-no-mouse
|
|
||||||
grace-no-touch
|
|
||||||
grace=5
|
grace=5
|
||||||
effect-pixelate=5
|
effect-pixelate=5
|
||||||
fade-in=0.2
|
fade-in=0.2
|
||||||
@@ -14,43 +12,92 @@
|
|||||||
ignore-empty-password
|
ignore-empty-password
|
||||||
font=IBM Plex Mono
|
font=IBM Plex Mono
|
||||||
|
|
||||||
color=${config.colorScheme.palette.base00}00
|
color=${config.colorscheme.colors.base00}00
|
||||||
|
|
||||||
indicator-radius=100
|
indicator-radius=100
|
||||||
indicator-thickness=30
|
indicator-thickness=30
|
||||||
|
|
||||||
separator-color=${config.colorScheme.palette.base00}00
|
separator-color=${config.colorscheme.colors.base00}00
|
||||||
|
|
||||||
inside-color=${config.colorScheme.palette.base0C}00
|
inside-color=${config.colorscheme.colors.base0C}00
|
||||||
inside-clear-color=${config.colorScheme.palette.base08}FF
|
inside-clear-color=${config.colorscheme.colors.base08}FF
|
||||||
inside-caps-lock-color=${config.colorScheme.palette.base09}00
|
inside-caps-lock-color=${config.colorscheme.colors.base09}00
|
||||||
inside-ver-color=${config.colorScheme.palette.base0C}FF
|
inside-ver-color=${config.colorscheme.colors.base0C}FF
|
||||||
inside-wrong-color=${config.colorScheme.palette.base0F}FF
|
inside-wrong-color=${config.colorscheme.colors.base0F}FF
|
||||||
|
|
||||||
|
|
||||||
ring-color=${config.colorScheme.palette.base00}00
|
ring-color=${config.colorscheme.colors.base00}00
|
||||||
ring-clear-color=${config.colorScheme.palette.base00}00
|
ring-clear-color=${config.colorscheme.colors.base00}00
|
||||||
ring-caps-lock-color=${config.colorScheme.palette.base00}00
|
ring-caps-lock-color=${config.colorscheme.colors.base00}00
|
||||||
ring-ver-color=${config.colorScheme.palette.base00}00
|
ring-ver-color=${config.colorscheme.colors.base00}00
|
||||||
ring-wrong-color=${config.colorScheme.palette.base00}00
|
ring-wrong-color=${config.colorscheme.colors.base00}00
|
||||||
|
|
||||||
line-color=${config.colorScheme.palette.base00}00
|
line-color=${config.colorscheme.colors.base00}00
|
||||||
line-clear-color=${config.colorScheme.palette.base00}00
|
line-clear-color=${config.colorscheme.colors.base00}00
|
||||||
line-caps-lock-color=${config.colorScheme.palette.base00}00
|
line-caps-lock-color=${config.colorscheme.colors.base00}00
|
||||||
line-ver-color=${config.colorScheme.palette.base00}00
|
line-ver-color=${config.colorscheme.colors.base00}00
|
||||||
line-wrong-color=${config.colorScheme.palette.base00}00
|
line-wrong-color=${config.colorscheme.colors.base00}00
|
||||||
|
|
||||||
text-color=${config.colorScheme.palette.base00}00
|
text-color=${config.colorscheme.colors.base00}00
|
||||||
text-clear-color=${config.colorScheme.palette.base00}00
|
text-clear-color=${config.colorscheme.colors.base00}00
|
||||||
text-caps-lock-color=${config.colorScheme.palette.base00}00
|
text-caps-lock-color=${config.colorscheme.colors.base00}00
|
||||||
text-ver-color=${config.colorScheme.palette.base00}00
|
text-ver-color=${config.colorscheme.colors.base00}00
|
||||||
text-wrong-color=${config.colorScheme.palette.base00}00
|
text-wrong-color=${config.colorscheme.colors.base00}00
|
||||||
|
|
||||||
|
|
||||||
key-hl-color=${config.colorScheme.palette.base0C}FF
|
key-hl-color=${config.colorscheme.colors.base0C}FF
|
||||||
bs-hl-color=${config.colorScheme.palette.base08}FF
|
bs-hl-color=${config.colorscheme.colors.base08}FF
|
||||||
caps-lock-key-hl-color=${config.colorScheme.palette.base09}FF
|
caps-lock-key-hl-color=${config.colorscheme.colors.base09}FF
|
||||||
caps-lock-bs-hl-color=${config.colorScheme.palette.base09}FF
|
caps-lock-bs-hl-color=${config.colorscheme.colors.base09}FF
|
||||||
|
'';
|
||||||
|
|
||||||
|
xdg.configFile."wlogout/style.css".text = ''
|
||||||
|
window {
|
||||||
|
font-family: Material Design Icons;
|
||||||
|
font-size: 64pt;
|
||||||
|
color: #${config.colorscheme.colors.base07};
|
||||||
|
background-color: alpha(#${config.colorscheme.colors.base00},0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius:7px;
|
||||||
|
border: 2px solid #${config.colorscheme.colors.base03};
|
||||||
|
color: #${config.colorscheme.colors.base07};
|
||||||
|
padding: 20px;
|
||||||
|
background-color: alpha(#${config.colorscheme.colors.base00},0.8);
|
||||||
|
transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: alpha(#${config.colorscheme.colors.base02},0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus {
|
||||||
|
background-color: alpha(#${config.colorscheme.colors.base02},1.0);
|
||||||
|
border: 2px solid #${config.colorscheme.colors.base05};
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
|
||||||
|
xdg.configFile."wlogout/layout".text = ''
|
||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "swaylock",
|
||||||
|
"text" : "",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
|
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
home.packages = with pkgs; [ wofi ];
|
home.packages = with pkgs; [ wofi ];
|
||||||
xdg.configFile."wofi/config".text = ''
|
xdg.configFile."wofi/config".text = ''
|
||||||
width=280
|
width=280
|
||||||
@@ -23,8 +23,8 @@
|
|||||||
xdg.configFile."wofi/style.css".text = ''
|
xdg.configFile."wofi/style.css".text = ''
|
||||||
window {
|
window {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
border-radius: ${config.colorScheme.palette.border-radius}px;
|
border-radius:7px;
|
||||||
background-color: #${config.colorScheme.palette.base00};
|
background-color: #${config.colorscheme.colors.base00};
|
||||||
}
|
}
|
||||||
|
|
||||||
#input {
|
#input {
|
||||||
@@ -33,14 +33,14 @@
|
|||||||
padding: 4px 10px;
|
padding: 4px 10px;
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
color: #${config.colorScheme.palette.base07};
|
color: #${config.colorscheme.colors.base07};
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background-color: #${config.colorScheme.palette.base01};
|
background-color: #${config.colorscheme.colors.base01};
|
||||||
outline: #${config.colorScheme.palette.base04};
|
outline: #${config.colorscheme.colors.base04};
|
||||||
}
|
}
|
||||||
|
|
||||||
#input:selected {
|
#input:selected {
|
||||||
color: #${config.colorScheme.palette.base0C};
|
color: #${config.colorscheme.colors.base0C};
|
||||||
}
|
}
|
||||||
|
|
||||||
#inner-box {
|
#inner-box {
|
||||||
@@ -51,19 +51,17 @@
|
|||||||
#outer-box {
|
#outer-box {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
border-radius: ${config.colorScheme.palette.border-radius}px;
|
border-radius: 7px;
|
||||||
border-width: ${config.colorScheme.palette.border-width}px;
|
border: 2px solid #${config.colorscheme.colors.base03};
|
||||||
border-color: #${config.colorScheme.palette.base04};
|
|
||||||
border-style: solid;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#text:selected {
|
#text:selected {
|
||||||
color: #${config.colorScheme.palette.base00};
|
color: #${config.colorscheme.colors.base00};
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected {
|
#entry:selected {
|
||||||
background-color: #${config.colorScheme.palette.base07};
|
background-color: #${config.colorscheme.colors.base07};
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@@ -11,7 +11,7 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
dbus-hyprland-environment
|
dbus-hyprland-environment
|
||||||
@@ -29,7 +29,7 @@ in {
|
|||||||
|
|
||||||
glib
|
glib
|
||||||
|
|
||||||
brightnessctl
|
brillo
|
||||||
swww
|
swww
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -42,8 +42,6 @@ in {
|
|||||||
[ "discord-402572971681644545.desktop" ];
|
[ "discord-402572971681644545.desktop" ];
|
||||||
"x-scheme-handler/discord-696343075731144724" =
|
"x-scheme-handler/discord-696343075731144724" =
|
||||||
[ "discord-696343075731144724.desktop" ];
|
[ "discord-696343075731144724.desktop" ];
|
||||||
"x-scheme-handler/tg" = [ "org.telegram.desktop.desktop" ];
|
|
||||||
"x-scheme-handler/tonsite" = [ "org.telegram.desktop.desktop" ];
|
|
||||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
{ ... }: { imports = [ ./apps ./base ./hyprland ]; }
|
|
@@ -1,233 +1,233 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
|
home.packages = with pkgs; [ hyprland ];
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
monitor=,preferred,auto,auto
|
|
||||||
env=bitdepth,10
|
monitor=,preferred,auto,1
|
||||||
input {
|
|
||||||
kb_layout = us, ru
|
input {
|
||||||
kb_variant = intl, phonetic
|
kb_layout = us, ru
|
||||||
kb_options = grp:ctrls_toggle
|
kb_variant = intl, phonetic
|
||||||
|
kb_model = pc104
|
||||||
follow_mouse = 1
|
kb_options = grp:ctrls_toggle
|
||||||
|
kb_rules =
|
||||||
sensitivity = 0
|
|
||||||
|
follow_mouse = 1
|
||||||
touchpad {
|
|
||||||
natural_scroll=no
|
sensitivity = 0 # -0.5 # -1.0 - 1.0, 0 means no modification.
|
||||||
disable_while_typing=true
|
force_no_accel = true
|
||||||
scroll_factor=1
|
|
||||||
disable_while_typing=0
|
touchpad {
|
||||||
tap-to-click=0
|
natural_scroll=no
|
||||||
}
|
disable_while_typing=true
|
||||||
}
|
scroll_factor=1
|
||||||
|
disable_while_typing=0
|
||||||
misc {
|
tap-to-click=0
|
||||||
disable_hyprland_logo=true
|
}
|
||||||
animate_mouse_windowdragging=false
|
}
|
||||||
animate_manual_resizes=false
|
|
||||||
|
misc {
|
||||||
vrr=1
|
disable_hyprland_logo=true
|
||||||
}
|
#animate_mouse_windowdragging=false
|
||||||
|
#animate_manual_resizes=false
|
||||||
general {
|
|
||||||
gaps_in = ${config.colorScheme.palette.gaps-window}
|
#vrr=2 #Note broken on renoir AMD DRM potentially ?
|
||||||
gaps_out = ${config.colorScheme.palette.gaps-screen}
|
}
|
||||||
border_size = ${config.colorScheme.palette.border-width}
|
|
||||||
|
general {
|
||||||
col.active_border = rgb(${config.colorScheme.palette.base04})
|
gaps_in = 8
|
||||||
col.inactive_border = rgb(${config.colorScheme.palette.base03})
|
gaps_out = 15
|
||||||
|
border_size = 2
|
||||||
layout = dwindle
|
|
||||||
}
|
#col.active_border = rgb(${config.colorScheme.colors.base05})
|
||||||
|
#col.inactive_border = rgb(${config.colorScheme.colors.base03})
|
||||||
decoration {
|
#col.group_border_active = rgb(${config.colorScheme.colors.base05})
|
||||||
rounding = ${config.colorScheme.palette.border-radius}
|
#col.group_border = rgb(${config.colorScheme.colors.base03})
|
||||||
|
|
||||||
blur {
|
layout = dwindle
|
||||||
enabled = true
|
|
||||||
size = 2
|
}
|
||||||
passes = 1
|
|
||||||
new_optimizations = true
|
decoration {
|
||||||
}
|
rounding = 7
|
||||||
#multisample_edges = true
|
|
||||||
|
blur {
|
||||||
#opactity
|
enabled = true
|
||||||
inactive_opacity = 1.0
|
size = 2
|
||||||
active_opacity = 1.0
|
passes = 1
|
||||||
fullscreen_opacity = 1.0
|
new_optimizations = true
|
||||||
|
}
|
||||||
# shadow
|
#multisample_edges = true
|
||||||
# drop_shadow = no
|
|
||||||
# shadow_range = 60
|
#opactity
|
||||||
# shadow_offset = 0 5
|
inactive_opacity = 1.0
|
||||||
# shadow_render_power = 4
|
active_opacity = 1.0
|
||||||
#col.shadow = rgba(00000099)
|
fullscreen_opacity = 1.0
|
||||||
}
|
|
||||||
|
# shadow
|
||||||
animations {
|
drop_shadow = no
|
||||||
enabled = true
|
shadow_range = 60
|
||||||
bezier = customcurve, 0.0, 0.9, 0.1, 1.0
|
shadow_offset = 0 5
|
||||||
|
shadow_render_power = 4
|
||||||
animation = windows, 1, 4, customcurve
|
#col.shadow = rgba(00000099)
|
||||||
animation = windowsOut, 1, 4, customcurve, popin 50%
|
}
|
||||||
animation = border, 1, 10, customcurve
|
|
||||||
animation = borderangle, 0, 1, customcurve
|
animations {
|
||||||
animation = fade, 1, 4, customcurve
|
enabled = false
|
||||||
animation = workspaces, 1, 4, customcurve
|
}
|
||||||
}
|
|
||||||
|
dwindle {
|
||||||
dwindle {
|
pseudotile = yes
|
||||||
pseudotile = yes
|
# force_split = 0
|
||||||
preserve_split = yes
|
preserve_split = yes
|
||||||
}
|
}
|
||||||
|
|
||||||
master {
|
master {
|
||||||
new_status = master
|
new_is_master = true
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
gestures {
|
||||||
workspace_swipe = off
|
workspace_swipe = off
|
||||||
}
|
}
|
||||||
|
|
||||||
exec-once = eww open bar
|
exec-once = eww open bar & dunst
|
||||||
#exec-once = waybar
|
|
||||||
exec-once = dunst
|
exec-once = swww init
|
||||||
|
|
||||||
exec-once = swww init
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once = /nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 &
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
exec-once = /nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 &
|
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
||||||
|
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
||||||
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
|
||||||
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
exec-once = swayidle -w timeout 600 'swaylock' before-sleep 'swaylock'
|
||||||
|
|
||||||
exec-once = swayidle -w timeout 600 'swaylock' before-sleep 'swaylock'
|
|
||||||
|
#windowrules
|
||||||
|
windowrulev2 = noshadow, floating:0
|
||||||
#windowrules
|
|
||||||
windowrule = noshadow, floating:0
|
windowrulev2 = float, title:^(flying_kitty)$
|
||||||
|
windowrulev2 = size 1100 600, title:^(flying_kitty)$
|
||||||
windowrule = float, title:^(flying_kitty)$
|
windowrulev2 = move center, title:^(flying_kitty)$
|
||||||
windowrule = size 1100 600, title:^(flying_kitty)$
|
windowrulev2 = animation slide, title:^(flying_kitty)$
|
||||||
windowrule = move center, title:^(flying_kitty)$
|
windowrulev2 = float, title:^(Volume Control)$
|
||||||
windowrule = animation slide, title:^(flying_kitty)$
|
windowrulev2 = float, title:^(Picture-in-Picture)$
|
||||||
windowrule = float, title:^(Volume Control)$
|
windowrulev2 = float, title:^(Steam)$
|
||||||
windowrule = float, title:^(Picture-in-Picture)$
|
windowrulev2 = fullscreen, title:^(wlogout)$
|
||||||
windowrule = float, title:^(Steam)$
|
windowrulev2 = float, title:^(wlogout)$
|
||||||
|
|
||||||
windowrulev2 = workspace 2 silent, class:^(org.telegram.desktop)$
|
windowrulev2 = workspace 2 silent, class:^(org.telegram.desktop)$
|
||||||
windowrulev2 = workspace 2 silent, class:^(discord)$
|
windowrulev2 = workspace 2 silent, class:^(discord)$
|
||||||
|
|
||||||
windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$
|
windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$
|
||||||
windowrulev2 = workspace 8 silent, title:^(Nextcloud)$
|
windowrulev2 = workspace 8 silent, title:^(Nextcloud)$
|
||||||
windowrulev2 = workspace 8 silent, class:^(Tk)$,title:^(Server Configuration)$
|
windowrulev2 = workspace 8 silent, class:^(Tk)$,title:^(Server Configuration)$
|
||||||
|
|
||||||
#SPECIAL FLOATERS
|
#SPECIAL FLOATERS
|
||||||
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC - Access Request)$
|
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC - Access Request)$
|
||||||
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC - Access Request)$
|
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC - Access Request)$
|
||||||
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
|
windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
|
||||||
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
|
windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$
|
||||||
windowrulev2 = float,title:^(Open)$
|
windowrulev2 = float,title:^(Open)$
|
||||||
windowrulev2 = float,title:^(Choose Files)$
|
windowrulev2 = float,title:^(Choose Files)$
|
||||||
windowrulev2 = float,title:^(Save As)$
|
windowrulev2 = float,title:^(Save As)$
|
||||||
windowrulev2 = float,title:^(Confirm to replace files)$
|
windowrulev2 = float,title:^(Confirm to replace files)$
|
||||||
windowrulev2 = float,title:^(File Operation Progress)$
|
windowrulev2 = float,title:^(File Operation Progress)$
|
||||||
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
|
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
|
||||||
windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$
|
windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$
|
||||||
windowrulev2 = suppressevent fullscreen,class:^(firefox)$,title:^(Picture-in-Picture)$
|
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Picture-in-Picture)$
|
||||||
windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
||||||
windowrulev2 = suppressevent fullscreen,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
||||||
windowrulev2 = float,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$
|
windowrulev2 = float,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$
|
||||||
windowrulev2 = suppressevent fullscreen,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$
|
windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$
|
||||||
windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
||||||
windowrulev2 = center,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
windowrulev2 = center,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
||||||
|
|
||||||
#SPECIAL NO SLEEP
|
#binds
|
||||||
windowrulev2 = idleinhibit fullscreen, class:^(.*)
|
$mainMod = SUPER
|
||||||
windowrulev2 = idleinhibit focus, class:^(steam_app_.*)$
|
|
||||||
windowrulev2 = idleinhibit focus, class:^(mpv)$
|
bind = SUPER, RETURN, exec, kitty
|
||||||
|
|
||||||
layerrule = blur,^(eww-blur)
|
bind = SUPER_SHIFT, RETURN,togglespecialworkspace,
|
||||||
|
# bind = SUPER_SHIFT, RETURN, exec, kitty --title flying_kitty --single-instance
|
||||||
#binds
|
bind = SUPER, Q, killactive,
|
||||||
bind = SUPER, RETURN, exec, kitty
|
bind = SUPER, T, togglefloating,
|
||||||
|
bind = SUPER, F, fullscreen,
|
||||||
bind = SUPER_SHIFT, RETURN,togglespecialworkspace,
|
|
||||||
# bind = SUPER_SHIFT, RETURN, exec, kitty --title flying_kitty --single-instance
|
bind = SUPER, D, exec, wofi -modi --show drun
|
||||||
bind = SUPER, Q, killactive,
|
bind = SUPER SHIFT,D,exec, ~/.config/hypr/themes/apatheia/eww/launch_bar
|
||||||
bind = SUPER, T, togglefloating,
|
|
||||||
bind = SUPER, F, fullscreen,
|
bind = SUPER, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy
|
||||||
|
bind = , Print, exec, grim -g "$(slurp -d)" - | swappy -f -
|
||||||
bind = SUPER, D, exec, wofi -modi --show drun
|
|
||||||
bind = SUPER SHIFT,D,exec, ~/.config/hypr/themes/apatheia/eww/launch_bar
|
bind = SUPER, L, exec, swaylock
|
||||||
|
|
||||||
bind = SUPER, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy
|
|
||||||
bind = , Print, exec, grim -g "$(slurp -d)" - | swappy -f -
|
bind = SUPER, P, pseudo, # dwindle
|
||||||
|
bind = SUPER, J, togglesplit, # dwindle
|
||||||
bind = SUPER, L, exec, swaylock
|
bind = SUPER, G, togglegroup
|
||||||
|
bind = SUPER, tab, changegroupactive
|
||||||
bind = SUPER, left, movefocus, l
|
|
||||||
bind = SUPER, right, movefocus, r
|
bind = SUPER, left, movefocus, l
|
||||||
bind = SUPER, up, movefocus, u
|
bind = SUPER, right, movefocus, r
|
||||||
bind = SUPER, down, movefocus, d
|
bind = SUPER, up, movefocus, u
|
||||||
|
bind = SUPER, down, movefocus, d
|
||||||
bind = SUPER, 1, workspace, 1
|
|
||||||
bind = SUPER, 2, workspace, 2
|
bind = SUPER, 1, workspace, 1
|
||||||
bind = SUPER, 3, workspace, 3
|
bind = SUPER, 2, workspace, 2
|
||||||
bind = SUPER, 4, workspace, 4
|
bind = SUPER, 3, workspace, 3
|
||||||
bind = SUPER, 5, workspace, 5
|
bind = SUPER, 4, workspace, 4
|
||||||
bind = SUPER, 6, workspace, 6
|
bind = SUPER, 5, workspace, 5
|
||||||
bind = SUPER, 7, workspace, 7
|
bind = SUPER, 6, workspace, 6
|
||||||
bind = SUPER, 8, workspace, 8
|
bind = SUPER, 7, workspace, 7
|
||||||
bind = SUPER, 9, workspace, 9
|
bind = SUPER, 8, workspace, 8
|
||||||
bind = SUPER, 0, workspace, 10
|
bind = SUPER, 9, workspace, 9
|
||||||
|
bind = SUPER, 0, workspace, 10
|
||||||
bind = SUPER SHIFT, 1, movetoworkspacesilent, 1
|
|
||||||
bind = SUPER SHIFT, 2, movetoworkspacesilent, 2
|
bind = SUPER SHIFT, 1, movetoworkspacesilent, 1
|
||||||
bind = SUPER SHIFT, 3, movetoworkspacesilent, 3
|
bind = SUPER SHIFT, 2, movetoworkspacesilent, 2
|
||||||
bind = SUPER SHIFT, 4, movetoworkspacesilent, 4
|
bind = SUPER SHIFT, 3, movetoworkspacesilent, 3
|
||||||
bind = SUPER SHIFT, 5, movetoworkspacesilent, 5
|
bind = SUPER SHIFT, 4, movetoworkspacesilent, 4
|
||||||
bind = SUPER SHIFT, 6, movetoworkspacesilent, 6
|
bind = SUPER SHIFT, 5, movetoworkspacesilent, 5
|
||||||
bind = SUPER SHIFT, 7, movetoworkspacesilent, 7
|
bind = SUPER SHIFT, 6, movetoworkspacesilent, 6
|
||||||
bind = SUPER SHIFT, 8, movetoworkspacesilent, 8
|
bind = SUPER SHIFT, 7, movetoworkspacesilent, 7
|
||||||
bind = SUPER SHIFT, 9, movetoworkspacesilent, 9
|
bind = SUPER SHIFT, 8, movetoworkspacesilent, 8
|
||||||
bind = SUPER SHIFT, 0, movetoworkspacesilent, 10
|
bind = SUPER SHIFT, 9, movetoworkspacesilent, 9
|
||||||
|
bind = SUPER SHIFT, 0, movetoworkspacesilent, 10
|
||||||
bind = SUPER, mouse_down, workspace, e+1
|
|
||||||
bind = SUPER, mouse_up, workspace, e-1
|
bind = SUPER, mouse_down, workspace, e+1
|
||||||
|
bind = SUPER, mouse_up, workspace, e-1
|
||||||
bindm = SUPER, mouse:272, movewindow
|
|
||||||
bindm = SUPER, mouse:273, resizewindow
|
bindm = SUPER, mouse:272, movewindow
|
||||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
bindm = SUPER, mouse:273, resizewindow
|
||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
bind = , XF86AudioNext, exec, playerctl next
|
bind = , XF86AudioPrev, exec, playerctl previous
|
||||||
bind = , XF86AudioRaiseVolume, exec, amixer -q sset 'Master' 5%+
|
bind = , XF86AudioNext, exec, playerctl next
|
||||||
bind = , XF86AudioLowerVolume, exec, amixer -q sset 'Master' 5%-
|
bind = , XF86AudioRaiseVolume, exec, amixer -q sset 'Master' 5%+
|
||||||
bind = , XF86AudioMute, exec, amixer -q sset 'Master' toggle
|
bind = , XF86AudioLowerVolume, exec, amixer -q sset 'Master' 5%-
|
||||||
bind = , XF86MonBrightnessUp, exec, brightnessctl s 5%+
|
bind = , XF86AudioMute, exec, amixer -q sset 'Master' toggle
|
||||||
bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
bind = , XF86MonBrightnessUp, exec, brillo -A 5
|
||||||
|
bind = , XF86MonBrightnessDown, exec, brillo -U 5
|
||||||
exec-once = [workspace special silent] kitty --title flying_kitty
|
|
||||||
exec-once = sh ~/.config/startup.sh
|
exec-once = [workspace special silent] kitty --title flying_kitty
|
||||||
'';
|
exec-once = sh ~/.config/startup.sh
|
||||||
};
|
'';
|
||||||
|
};
|
||||||
xdg.configFile."startup.sh".text = ''
|
|
||||||
#!/bin/sh
|
xdg.configFile."startup.sh".text = ''
|
||||||
sleep 2
|
#!/bin/sh
|
||||||
keepassxc &
|
sleep 2
|
||||||
firefox &
|
keepassxc &
|
||||||
jellyfin-mpv-shim &
|
firefox &
|
||||||
easyeffects --gapplication-service &
|
jellyfin-mpv-shim &
|
||||||
|
easyeffects --gapplication-service &
|
||||||
sleep 2
|
|
||||||
nextcloud &
|
sleep 2
|
||||||
#telegram-desktop&
|
nextcloud &
|
||||||
#discord&
|
telegram-desktop&
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ lib, config, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
imports = [ ./config.nix ];
|
imports = [ ./config.nix ];
|
||||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
config = lib.mkIf (config.homecfg.wm == "Wayland") {
|
||||||
wayland.windowManager.hyprland = { enable = true; };
|
wayland.windowManager.hyprland = { enable = true; };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@@ -1,5 +1,5 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
config = lib.mkIf (config.usercfg.wm == "X11") {
|
config = lib.mkIf (config.homecfg.wm == "X11") {
|
||||||
xsession.windowManager.bspwm.extraConfig = ''
|
xsession.windowManager.bspwm.extraConfig = ''
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
imports = [ ./config.nix ./script.nix ./xressources.nix ];
|
imports = [ ./config.nix ./script.nix ./xressources.nix ];
|
||||||
|
|
||||||
config = lib.mkIf (config.usercfg.wm == "X11") {
|
config = lib.mkIf (config.homecfg.wm == "X11") {
|
||||||
xsession.windowManager.bspwm = { enable = true; };
|
xsession.windowManager.bspwm = { enable = true; };
|
||||||
services.sxhkd = { enable = true; };
|
services.sxhkd = { enable = true; };
|
||||||
home.packages = with pkgs; [ xrandr arandr flameshot xtrlock i3lock ];
|
home.packages = with pkgs; [ xrandr arandr flameshot xtrlock i3lock ];
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
config = lib.mkIf (config.usercfg.wm == "X11") {
|
config = lib.mkIf (config.homecfg.wm == "X11") {
|
||||||
xdg.configFile."script/lock.sh".text = ''
|
xdg.configFile."script/lock.sh".text = ''
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
TMPBG=/tmp/screen.png
|
TMPBG=/tmp/screen.png
|
||||||
|
@@ -1,29 +1,29 @@
|
|||||||
{ lib, config, ... }: {
|
{ lib, config, ... }: {
|
||||||
config = lib.mkIf (config.usercfg.wm == "X11") {
|
config = lib.mkIf (config.homecfg.wm == "X11") {
|
||||||
xresources.extraConfig = ''
|
xresources.extraConfig = ''
|
||||||
|
|
||||||
#define white #ffffff
|
#define white #ffffff
|
||||||
#define black #000000
|
#define black #000000
|
||||||
#define cFG #${config.colorScheme.palette.base07}
|
#define cFG #${config.colorScheme.colors.base07}
|
||||||
#define cBG #${config.colorScheme.palette.base00}
|
#define cBG #${config.colorScheme.colors.base00}
|
||||||
#define cP #${config.colorScheme.palette.base07}
|
#define cP #${config.colorScheme.colors.base07}
|
||||||
#define cH #${config.colorScheme.palette.base0C}
|
#define cH #${config.colorScheme.colors.base0C}
|
||||||
#define c0 #${config.colorScheme.palette.base00}
|
#define c0 #${config.colorScheme.colors.base00}
|
||||||
#define c1 #${config.colorScheme.palette.base01}
|
#define c1 #${config.colorScheme.colors.base01}
|
||||||
#define c2 #${config.colorScheme.palette.base02}
|
#define c2 #${config.colorScheme.colors.base02}
|
||||||
#define c3 #${config.colorScheme.palette.base03}
|
#define c3 #${config.colorScheme.colors.base03}
|
||||||
#define c4 #${config.colorScheme.palette.base04}
|
#define c4 #${config.colorScheme.colors.base04}
|
||||||
#define c5 #${config.colorScheme.palette.base05}
|
#define c5 #${config.colorScheme.colors.base05}
|
||||||
#define c6 #${config.colorScheme.palette.base06}
|
#define c6 #${config.colorScheme.colors.base06}
|
||||||
#define c7 #${config.colorScheme.palette.base07}
|
#define c7 #${config.colorScheme.colors.base07}
|
||||||
#define c8 #${config.colorScheme.palette.base08}
|
#define c8 #${config.colorScheme.colors.base08}
|
||||||
#define c9 #${config.colorScheme.palette.base09}
|
#define c9 #${config.colorScheme.colors.base09}
|
||||||
#define cA #${config.colorScheme.palette.base0A}
|
#define cA #${config.colorScheme.colors.base0A}
|
||||||
#define cB #${config.colorScheme.palette.base0B}
|
#define cB #${config.colorScheme.colors.base0B}
|
||||||
#define cC #${config.colorScheme.palette.base0C}
|
#define cC #${config.colorScheme.colors.base0C}
|
||||||
#define cD #${config.colorScheme.palette.base0D}
|
#define cD #${config.colorScheme.colors.base0D}
|
||||||
#define cE #${config.colorScheme.palette.base0E}
|
#define cE #${config.colorScheme.colors.base0E}
|
||||||
#define cF #${config.colorScheme.palette.base0F}
|
#define cF #${config.colorScheme.colors.base0F}
|
||||||
|
|
||||||
Xft.dpi: 96
|
Xft.dpi: 96
|
||||||
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
{ ... }: { imports = [ ./apps ./bspwm ]; }
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user