Compare commits
No commits in common. "main" and "Hyprland" have entirely different histories.
35 changed files with 672 additions and 2342 deletions
42
.github/workflows/build-nix.yml
vendored
42
.github/workflows/build-nix.yml
vendored
|
@ -1,42 +0,0 @@
|
||||||
name: Build system configurations
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-x86_64-demeter:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
id-token: write
|
|
||||||
steps:
|
|
||||||
- name: Free Disk Space (Ubuntu)
|
|
||||||
uses: Jayllyz/free-disk-space@perf/use-rmz
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Check Nix flake Nixpkgs inputs
|
|
||||||
uses: DeterminateSystems/flake-checker-action@main
|
|
||||||
- uses: DeterminateSystems/nix-installer-action@main
|
|
||||||
with:
|
|
||||||
github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
|
||||||
- name: Build demeter
|
|
||||||
run: |
|
|
||||||
# nix flake check --all-systems
|
|
||||||
nix build .#nixosConfigurations.demeter.config.system.build.toplevel
|
|
||||||
build-aarch64-callisto:
|
|
||||||
runs-on: ubuntu-24.04-arm
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
id-token: write
|
|
||||||
steps:
|
|
||||||
- name: Free Disk Space (Ubuntu)
|
|
||||||
uses: Jayllyz/free-disk-space@perf/use-rmz
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Check Nix flake Nixpkgs inputs
|
|
||||||
uses: DeterminateSystems/flake-checker-action@main
|
|
||||||
- uses: DeterminateSystems/nix-installer-action@main
|
|
||||||
with:
|
|
||||||
github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
|
||||||
- name: Build callisto
|
|
||||||
run: |
|
|
||||||
# nix flake check --all-systems
|
|
||||||
nix build .#nixosConfigurations.callisto.config.system.build.toplevel
|
|
24
.github/workflows/lock.yml
vendored
24
.github/workflows/lock.yml
vendored
|
@ -1,24 +0,0 @@
|
||||||
name: update-flake-lock
|
|
||||||
on:
|
|
||||||
workflow_dispatch: # allows manual triggering
|
|
||||||
schedule:
|
|
||||||
# Runs weekly at 00:00 UTC on Sunday
|
|
||||||
- cron: "0 0 * * 0"
|
|
||||||
jobs:
|
|
||||||
lockfile:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Install Nix
|
|
||||||
uses: DeterminateSystems/nix-installer-action@main
|
|
||||||
with:
|
|
||||||
github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
|
||||||
- name: Update flake.lock
|
|
||||||
uses: DeterminateSystems/update-flake-lock@main
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
|
||||||
pr-title: "deps(flake.lock): update"
|
|
||||||
pr-labels: |
|
|
||||||
dependencies,auto-merge
|
|
||||||
pr-assignees: youwen5
|
|
16
.github/workflows/merge.yml
vendored
16
.github/workflows/merge.yml
vendored
|
@ -1,16 +0,0 @@
|
||||||
name: auto-merge-labeled
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
jobs:
|
|
||||||
auto-merge-labeled:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- id: auto-merge-labeled
|
|
||||||
name: Auto merge labeled
|
|
||||||
uses: isolomak/auto-merge-labeled@v1.0.1
|
|
||||||
with:
|
|
||||||
label: 'lock'
|
|
||||||
commit-title: 'build(lock): update'
|
|
||||||
merge_method: 'squash'
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.TOKEN }}
|
|
13
README.md
13
README.md
|
@ -1,12 +1,9 @@
|
||||||
# KaitoianOS
|
# KaitoianOS
|
||||||
> Fully customizable container-based operating system based on ```NixOS``` running Hyprland && Hyprscroller.
|
> Fully customizable container-based operating system based on ```NixOS``` running SwayDE.
|
||||||
## What even is this Config?
|
## What even is this Config?
|
||||||
So I believe I have no life, so I migrated from a super unstable and limited OS (DOS) to FreeBSD, however FreeBSD had limited packages being maintained on **Fresh Ports** so I figured might as well become a Linux user. After distro hopping for 3 months I was introduced to NixOS by [Youwen](https://youwen.dev) claiming that it would solve my problems of having to configure everything on seperate directories, common on most distros such as Arch or Debian.
|
So I believe I have no life, so I migrated from a super unstable and limited OS (DOS) to FreeBSD, however FreeBSD had limited packages being maintained on **Fresh Ports** so I figured might as well become a Linux user. After distro hopping for 3 months I was introduced to NixOS by [Youwen](https://youwen.dev) claiming that it would solve my problems of having to configure everything on seperate directories, common on most distros such as Arch or Debian.
|
||||||
<!--## Why Sway and Wayland-->
|
## Why Sway and Wayland
|
||||||
<!--Wayland provides a more stable graphical enviornment due to the simplicity of the code and it's security; moreover, it peforms significantly better on intergrated and discrete graphics cards for most of my systems. Why Sway and not Hyprland? Sway is a simple port of the popular x11 DE known as i3. Hyprland has too much eyecandy for a DE, too much bells and whistles such as dynamic colors and rounded edges. Also removing eyecandy on my config makes my input smoother and crispier. -->
|
Wayland provides a more stable graphical enviornment due to the simplicity of the code and it's security; moreover, it peforms significantly better on intergrated and discrete graphics cards for most of my systems. Why Sway and not Hyprland? Sway is a simple port of the popular x11 DE known as i3. Hyprland has too much eyecandy for a DE, too much bells and whistles such as dynamic colors and rounded edges. Also removing eyecandy on my config makes my input smoother and crispier.
|
||||||
## Why switch to Hyprland
|
|
||||||
Although Sway is a reliable and well developed window manager, it doesn't offer the same versatility as Hyprland in Wayland. Hyprland, although has too much eyecandy, it does offer a more polished and complete operating system especially to display beautiful color scheme. I adopted youwen's Hyprland configuration because it is preconfigured and it has all that I need in terms of productivity in this operating system.
|
|
||||||
|
|
||||||
## What Basic Utilites do you have on here?
|
## What Basic Utilites do you have on here?
|
||||||
- Firefox Developer Edition
|
- Firefox Developer Edition
|
||||||
- Spotify (Spicetify)
|
- Spotify (Spicetify)
|
||||||
|
@ -30,7 +27,7 @@ ROG (ASUS) Flow X13 2022
|
||||||
|
|
||||||
> 16 GB LPDDR4
|
> 16 GB LPDDR4
|
||||||
|
|
||||||
> 256 GB Kioxia
|
> 1TB Crucial (Allocated 128 for NixOS)
|
||||||
|
|
||||||
## How to Install or Clone
|
## How to Install or Clone
|
||||||
|
|
||||||
|
@ -55,6 +52,6 @@ cp /etc/nixos/hardware-configuration.nix ~/KaitoianOS/hosts/shiroko/hardware-con
|
||||||
|
|
||||||
5. Recompile your os by
|
5. Recompile your os by
|
||||||
```sh
|
```sh
|
||||||
sudo nixos-rebuild switch --flake .#shiroko #or kuroko
|
sudo nixos-rebuild switch --flake .\#shiroko #or kuroko
|
||||||
```
|
```
|
||||||
6. Enjoy!
|
6. Enjoy!
|
||||||
|
|
565
flake.lock
generated
565
flake.lock
generated
|
@ -1,15 +1,32 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"aq": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736050555,
|
||||||
|
"narHash": "sha256-TUoKhJ2QMK2AYTRvBCRpYFmaSihiF/OgB+HDZjamZtI=",
|
||||||
|
"owner": "quantum9innovation",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "546ce7963d18cbd30b32bf8d464f9ab3f6d54f74",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "quantum9innovation",
|
||||||
|
"ref": "patch-125",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746562888,
|
"lastModified": 1732200724,
|
||||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -37,11 +54,11 @@
|
||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748408240,
|
"lastModified": 1736852337,
|
||||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -53,60 +70,44 @@
|
||||||
"base16-vim": {
|
"base16-vim": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732806396,
|
"lastModified": 1735953590,
|
||||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
"narHash": "sha256-YbQwaApLFJobn/0lbpMKcJ8N5axKlW2QIGkDS5+xoSU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-vim",
|
"repo": "base16-vim",
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
"rev": "c2a1232aa2c0ed27dcbf005779bcfe0e0ab5e85d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-vim",
|
"repo": "base16-vim",
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cpu-microcodes": {
|
"cpu-microcodes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747081695,
|
"lastModified": 1737223256,
|
||||||
"narHash": "sha256-nnim3432n3+iwD2alY1cigQE7GKnI8BkyZDJTzood+E=",
|
"narHash": "sha256-aETUoryCkJSRWlxbgL8im40+2FfOm0u4X9aP5aZueME=",
|
||||||
"owner": "platomav",
|
"owner": "platomav",
|
||||||
"repo": "CPUMicrocodes",
|
"repo": "CPUMicrocodes",
|
||||||
"rev": "2bcc2d8cb648c3397ea7381ca6887a9e3fdd6164",
|
"rev": "984b766433e99c7e945b5cc17519bb088084b3fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "platomav",
|
"owner": "platomav",
|
||||||
"repo": "CPUMicrocodes",
|
"repo": "CPUMicrocodes",
|
||||||
"rev": "2bcc2d8cb648c3397ea7381ca6887a9e3fdd6164",
|
"rev": "984b766433e99c7e945b5cc17519bb088084b3fd",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"crane": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731098351,
|
|
||||||
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
|
|
||||||
"owner": "ipetkov",
|
|
||||||
"repo": "crane",
|
|
||||||
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ipetkov",
|
|
||||||
"repo": "crane",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748383148,
|
"lastModified": 1736899990,
|
||||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
"narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
"rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -118,11 +119,11 @@
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -132,12 +133,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -146,51 +148,12 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1730504689,
|
|
||||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1743550720,
|
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": [
|
||||||
|
"stylix",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
|
@ -228,18 +191,18 @@
|
||||||
"stylix",
|
"stylix",
|
||||||
"flake-compat"
|
"flake-compat"
|
||||||
],
|
],
|
||||||
"gitignore": "gitignore_2",
|
"gitignore": "gitignore",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix",
|
"stylix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747372754,
|
"lastModified": 1735882644,
|
||||||
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
|
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -249,28 +212,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"lanzaboote",
|
|
||||||
"pre-commit-hooks-nix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix",
|
"stylix",
|
||||||
|
@ -295,16 +236,16 @@
|
||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744584021,
|
"lastModified": 1732369855,
|
||||||
"narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
|
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
|
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "48.1",
|
"ref": "47.2",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -316,11 +257,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749400020,
|
"lastModified": 1737188535,
|
||||||
"narHash": "sha256-0nTmHO8AYgRYk5v6zw5oZ3x9nh+feb+Isn7WNe318M0=",
|
"narHash": "sha256-O2ttwW1/dUc/Y+Rf48Njtr4tZpRJhy8FhafikekIjMY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2835e8ba0ad99ba86d4a5e497a962ec9fa35e48f",
|
"rev": "1e36429705f9af2d00a517ba46a4f21ef8a8194f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -337,11 +278,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748737919,
|
"lastModified": 1736785676,
|
||||||
"narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=",
|
"narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5675a9686851d9626560052a032c4e14e533c1fa",
|
"rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -350,91 +291,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprscroller-src": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1749141212,
|
|
||||||
"narHash": "sha256-YC9WEi74d9L1rjVnjNXqWCUPhHgCj6npQWZ0KT6l2nA=",
|
|
||||||
"owner": "cpiber",
|
|
||||||
"repo": "hyprscroller",
|
|
||||||
"rev": "80f9a9c6ec9423cfd3f17e801e92934ffc5d52d2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cpiber",
|
|
||||||
"repo": "hyprscroller",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"iamb": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"rust-overlay": "rust-overlay"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1749177992,
|
|
||||||
"narHash": "sha256-B72RIr6pbf9kW0JhcbsgUhLSw22BxxODoKIdPd2YWFY=",
|
|
||||||
"owner": "ulyssa",
|
|
||||||
"repo": "iamb",
|
|
||||||
"rev": "33d3407694c9dece0f3e59aa577eda98c9384ea1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ulyssa",
|
|
||||||
"repo": "iamb",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"jkernel": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733188630,
|
|
||||||
"narHash": "sha256-TlUFZOqFsTXh97vRpNeyoJJ+WNOwxgvu7u3JcLGN7iU=",
|
|
||||||
"owner": "tweag",
|
|
||||||
"repo": "jupyenv",
|
|
||||||
"rev": "55e42c3dea87d3c1e3e9dfde28df637e88d6bd39",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tweag",
|
|
||||||
"repo": "jupyenv",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lanzaboote": {
|
|
||||||
"inputs": {
|
|
||||||
"crane": "crane",
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": "nixpkgs_2",
|
|
||||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
|
||||||
"rust-overlay": "rust-overlay_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1737639419,
|
|
||||||
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "lanzaboote",
|
|
||||||
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"ref": "v0.4.2",
|
|
||||||
"repo": "lanzaboote",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixCats": {
|
"nixCats": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741608660,
|
"lastModified": 1735318798,
|
||||||
"narHash": "sha256-qikkAmt+z7fN2Zq6lU54x5nZ1KlE97wVAwaJk+/1PkI=",
|
"narHash": "sha256-x1hq2uimNBQtYtkaJ4KODKQmdbAYvnd1hoxRyyPekWE=",
|
||||||
"owner": "BirdeeHub",
|
"owner": "BirdeeHub",
|
||||||
"repo": "nixCats-nvim",
|
"repo": "nixCats-nvim",
|
||||||
"rev": "ad8d22d086cfb7a1cb0e9fda1fb871bbe370c942",
|
"rev": "58a8782879f926192b06b95f75538618456062ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -445,59 +308,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736320768,
|
"lastModified": 1737062831,
|
||||||
"narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=",
|
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4bc9c909d9ac828a039f288cf872d16d38185db8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1730741070,
|
|
||||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-24.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731919951,
|
|
||||||
"narHash": "sha256-vOM6ETpl1yu9KLi/icTmLJIPbbdJCdAVYUXZceO/Ce4=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "04386ac325a813047fc314d4b4d838a5b1e3c7fe",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable-small",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1749285348,
|
|
||||||
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
|
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -507,35 +322,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741462378,
|
|
||||||
"narHash": "sha256-ZF3YOjq+vTcH51S+qWa1oGA9FgmdJ67nTNPG2OIlXDc=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "2d9e4457f8e83120c9fdf6f1707ed0bc603e5ac9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixCats": "nixCats",
|
"nixCats": "nixCats",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"plugins-blink-ripgrep": "plugins-blink-ripgrep",
|
"plugins-blink-ripgrep": "plugins-blink-ripgrep",
|
||||||
"plugins-pomo-nvim": "plugins-pomo-nvim"
|
"plugins-pomo-nvim": "plugins-pomo-nvim"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741660851,
|
"lastModified": 1737164379,
|
||||||
"narHash": "sha256-kFlDqMvo0gNu3xJ9PDXhF21vPv18/NiuhjHr+yoxJp4=",
|
"narHash": "sha256-/lERZhJCq+eXPUENu0a8MwVbO8CMMn2ooej3l3+jc1U=",
|
||||||
"owner": "kaitotlex",
|
"owner": "kaitotlex",
|
||||||
"repo": "vix1",
|
"repo": "vix1",
|
||||||
"rev": "879bcb9e209dfac74e5e86e1a0066c952edee140",
|
"rev": "30506bcd245c0d44d8cfcda446ff7abb2b12ae1f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -544,40 +345,14 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": [
|
|
||||||
"stylix",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748730660,
|
|
||||||
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plugins-blink-ripgrep": {
|
"plugins-blink-ripgrep": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741415505,
|
"lastModified": 1735411615,
|
||||||
"narHash": "sha256-lEt5AUSyezmlthSj3KUHJ9cX4pQnB2/31j8bklIp5Mk=",
|
"narHash": "sha256-V3Tf8bPpO7KjP/AwcgYjMZdTejydvBx/t33H3+wsNLo=",
|
||||||
"owner": "mikavilpas",
|
"owner": "mikavilpas",
|
||||||
"repo": "blink-ripgrep.nvim",
|
"repo": "blink-ripgrep.nvim",
|
||||||
"rev": "91aee73557237b0cc1313e4ed2b32f10de6cc65e",
|
"rev": "f4d9460a3552c735c7835a545ce32125610c1ce5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -602,41 +377,11 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pre-commit-hooks-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"lanzaboote",
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731363552,
|
|
||||||
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"aq": "aq",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprscroller-src": "hyprscroller-src",
|
"nixpkgs": "nixpkgs",
|
||||||
"iamb": "iamb",
|
|
||||||
"jkernel": "jkernel",
|
|
||||||
"lanzaboote": "lanzaboote",
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"spicetify": "spicetify",
|
"spicetify": "spicetify",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
|
@ -645,58 +390,19 @@
|
||||||
"zen": "zen"
|
"zen": "zen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"spicetify": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1736994333,
|
|
||||||
"narHash": "sha256-v4Jrok5yXsZ6dwj2+2uo5cSyUi9fBTurHqHvNHLT1XA=",
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"rev": "848db855cb9e88785996e961951659570fc58814",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rust-overlay_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731897198,
|
"lastModified": 1737173687,
|
||||||
"narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
|
"narHash": "sha256-+WxaXc30KhTuCa9U8Nv2mJApIBq85CfA5fbcVsvdfxo=",
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"spicetify": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1749357231,
|
|
||||||
"narHash": "sha256-AbrPgGFVYR45TlYLHYTppayG0xzOG9XXhi+1j3Klbw8=",
|
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"rev": "03783416f7416715c52166d4e8ba0492a7149397",
|
"rev": "c68c2ac0814ab386d2cbd3b9178e729b4fc805f0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -713,27 +419,25 @@
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-utils": "flake-utils",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nur": "nur",
|
"systems": "systems",
|
||||||
"systems": "systems_3",
|
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
|
||||||
"tinted-tmux": "tinted-tmux",
|
"tinted-tmux": "tinted-tmux",
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749398498,
|
"lastModified": 1737207873,
|
||||||
"narHash": "sha256-Usx6sGnT/D8ZnWiZg+J1OY3dp4ZssMQiN1XeXcsL/cs=",
|
"narHash": "sha256-XTCuMv753lpm8DvdVf9q2mH3rhlfsKrCUYbaADPC/bA=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "5869510e48e64d916dc6905dc664a02b0f85f1bd",
|
"rev": "51ad2cec11e773a949bdbec88bed2524f098f49a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -757,36 +461,6 @@
|
||||||
"type": "github"
|
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-foot": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -807,43 +481,28 @@
|
||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735730497,
|
"lastModified": 1716423189,
|
||||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"type": "github"
|
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-schemes": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748180480,
|
|
||||||
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748740859,
|
"lastModified": 1735737224,
|
||||||
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
|
"narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
|
"rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -868,38 +527,16 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ucodenix": {
|
"ucodenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"cpu-microcodes": "cpu-microcodes"
|
"cpu-microcodes": "cpu-microcodes"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747656938,
|
"lastModified": 1737386190,
|
||||||
"narHash": "sha256-LE5jjWIN3xzL24ph8U2CwzTPrCxS+uGzXCpSh6b+UPk=",
|
"narHash": "sha256-r9UOn9nMqDjY+ohnNCKs8SgN55UXTPI+RWhka2RcsXY=",
|
||||||
"owner": "e-tho",
|
"owner": "e-tho",
|
||||||
"repo": "ucodenix",
|
"repo": "ucodenix",
|
||||||
"rev": "86d47e4b5790cc68b3af14ec9969ef8128524d43",
|
"rev": "4c7931fcf713c4ddf730d275f07d916c5f4c4e7a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -911,11 +548,11 @@
|
||||||
"wallpapers": {
|
"wallpapers": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749185371,
|
"lastModified": 1737220047,
|
||||||
"narHash": "sha256-M6QK9qLgyvFaM6gF9qH1d6su254cWfw/+1aO3nxeBmQ=",
|
"narHash": "sha256-eLf45K7NvBas7bC5hO5KfpFdy3pzCoQEaW+DNZIFQhs=",
|
||||||
"owner": "kaitotlex",
|
"owner": "kaitotlex",
|
||||||
"repo": "wallpaper",
|
"repo": "wallpaper",
|
||||||
"rev": "f1d9cf6f2d16b25ca57e684e1d20124e75413f7c",
|
"rev": "101647127869f5e91a569281fd181172b692b365",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -931,11 +568,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748971473,
|
"lastModified": 1737173095,
|
||||||
"narHash": "sha256-0Xh6sZI86Ops6u7wyDQlVvV+MvRRXIDb1r3sMnLNk9M=",
|
"narHash": "sha256-32xX3cAIQovRNtW5cHirLvSC87uoOfLcaYGUOrTyhx4=",
|
||||||
"owner": "youwen5",
|
"owner": "youwen5",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "5cc269976ca876674d8ccc7f40debb61e05583ab",
|
"rev": "e91b2aa537c1492efd1c5f35f1f204c685e461ab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
92
flake.nix
92
flake.nix
|
@ -13,6 +13,7 @@
|
||||||
};
|
};
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:kaitotlex/vix1";
|
url = "github:kaitotlex/vix1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
stylix = {
|
stylix = {
|
||||||
url = "github:danth/stylix";
|
url = "github:danth/stylix";
|
||||||
|
@ -24,33 +25,22 @@
|
||||||
};
|
};
|
||||||
ucodenix = {
|
ucodenix = {
|
||||||
url = "github:e-tho/ucodenix";
|
url = "github:e-tho/ucodenix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
wallpapers = {
|
wallpapers = {
|
||||||
url = "github:kaitotlex/wallpaper";
|
url = "github:kaitotlex/wallpaper";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
lanzaboote = {
|
aq = {
|
||||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
url = "github:quantum9innovation/aquamarine/patch-125";
|
||||||
};
|
|
||||||
hyprscroller-src = {
|
|
||||||
url = "github:cpiber/hyprscroller";
|
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
jkernel = {
|
|
||||||
url = "github:tweag/jupyenv";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
iamb = {
|
|
||||||
url = "github:ulyssa/iamb";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
{
|
{
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
lanzaboote,
|
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
{
|
{
|
||||||
|
@ -62,29 +52,6 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/kuroko
|
./hosts/kuroko
|
||||||
lanzaboote.nixosModules.lanzaboote
|
|
||||||
|
|
||||||
(
|
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
# For debugging and troubleshooting Secure Boot.
|
|
||||||
pkgs.sbctl
|
|
||||||
];
|
|
||||||
|
|
||||||
# Lanzaboote currently replaces the systemd-boot module.
|
|
||||||
# This setting is usually set to true in configuration.nix
|
|
||||||
# generated at installation time. So we force it to false
|
|
||||||
# for now.
|
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
boot.lanzaboote = {
|
|
||||||
enable = true;
|
|
||||||
pkiBundle = "/var/lib/sbctl";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
|
@ -95,20 +62,7 @@
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
users.kaitotlex = {
|
users.kaitotlex = {
|
||||||
imports = [
|
imports = [ ./users/kaitotlex ];
|
||||||
./users/kaitotlex
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings.monitor = [
|
|
||||||
"eDP-1,1920x1200@120,0x0,1"
|
|
||||||
"DP-1, 1920x1080@75.03,3840x0,1,transform, 1"
|
|
||||||
"HDMI-A-1,1920x1080@165,1920x0,1"
|
|
||||||
];
|
|
||||||
programs.git.signing = {
|
|
||||||
signByDefault = true;
|
|
||||||
key = "42F52D76F1B15B8D997E2AEE8AB934746F475D0B";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -121,29 +75,7 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/shiroko
|
./hosts/shiroko
|
||||||
lanzaboote.nixosModules.lanzaboote
|
|
||||||
|
|
||||||
(
|
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
# For debugging and troubleshooting Secure Boot.
|
|
||||||
pkgs.sbctl
|
|
||||||
];
|
|
||||||
|
|
||||||
# Lanzaboote currently replaces the systemd-boot module.
|
|
||||||
# This setting is usually set to true in configuration.nix
|
|
||||||
# generated at installation time. So we force it to false
|
|
||||||
# for now.
|
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
boot.lanzaboote = {
|
|
||||||
enable = true;
|
|
||||||
pkiBundle = "/var/lib/sbctl";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
|
@ -154,19 +86,7 @@
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
users.kaitotlex = {
|
users.kaitotlex = {
|
||||||
imports = [
|
imports = [ ./users/kaitotlex ];
|
||||||
./users/kaitotlex
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings.monitor = [
|
|
||||||
"eDP-1,1920x1200@120,0x0,1"
|
|
||||||
"DP-1, 1920x1080@144.04,1920x0,1"
|
|
||||||
];
|
|
||||||
programs.git.signing = {
|
|
||||||
signByDefault = true;
|
|
||||||
key = "BC04C0C14AEDA705B8FBACE8C5F52A3C0F3B4A77";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,17 +18,16 @@
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
#boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
|
|
||||||
virtualisation.waydroid.enable = true;
|
virtualisation.waydroid.enable = true;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
#boot.kernelPackages = pkgs.linuxPackages_5_15;
|
||||||
#systemdefaults
|
#systemdefaults
|
||||||
networking.hostName = "kuroko"; # Define your hostname.
|
networking.hostName = "kuroko"; # Define your hostname.
|
||||||
services.ratbagd.enable = true;
|
services.ratbagd.enable = true;
|
||||||
|
|
||||||
hardware.pulseaudio.support32Bit = true;
|
hardware.pulseaudio.support32Bit = true;
|
||||||
boot.kernelParams = [
|
# boot.kernelParams = [
|
||||||
"mem_sleep_default=deep"
|
# "mem_sleep_default=deep"
|
||||||
];
|
# ];
|
||||||
# systemd.sleep.extraConfig = ''
|
# systemd.sleep.extraConfig = ''
|
||||||
# AllowSuspend=yes
|
# AllowSuspend=yes
|
||||||
# AllowHibernation=yes
|
# AllowHibernation=yes
|
||||||
|
@ -38,14 +37,12 @@
|
||||||
|
|
||||||
#Nvidia Hardware begins
|
#Nvidia Hardware begins
|
||||||
services.xserver.videoDrivers = [
|
services.xserver.videoDrivers = [
|
||||||
"amdgpu"
|
|
||||||
"nvidia"
|
"nvidia"
|
||||||
|
"amdgpu"
|
||||||
];
|
];
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
hardware.graphics.enable32Bit = true;
|
hardware.graphics.enable32Bit = true;
|
||||||
hardware.graphics.extraPackages = with pkgs; [
|
|
||||||
amdvlk
|
|
||||||
];
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
# custom option defined in graphics/default.nix
|
# custom option defined in graphics/default.nix
|
||||||
#usePatchedAquamarine = true;
|
#usePatchedAquamarine = true;
|
||||||
|
@ -61,7 +58,7 @@
|
||||||
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
powerManagement.finegrained = lib.mkForce true;
|
powerManagement.finegrained = lib.mkForce false;
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
# independent third-party "nouveau" open source driver).
|
# independent third-party "nouveau" open source driver).
|
||||||
|
@ -70,7 +67,7 @@
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
# Only available from driver 515.43.04+
|
# Only available from driver 515.43.04+
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
open = lib.mkForce false;
|
open = lib.mkForce true;
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
# Enable the Nvidia settings menu,
|
||||||
# accessible via `nvidia-settings`.
|
# accessible via `nvidia-settings`.
|
||||||
|
@ -80,11 +77,14 @@
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
#Power Saving Features
|
#Power Saving Features
|
||||||
prime = {
|
prime = {
|
||||||
offload.enable = lib.mkForce true;
|
offload = {
|
||||||
|
enable = true;
|
||||||
|
enableOffloadCmd = true;
|
||||||
|
};
|
||||||
# Make sure to use the correct Bus ID values for your system!
|
# Make sure to use the correct Bus ID values for your system!
|
||||||
#intelBusId = "PCI:";
|
#intelBusId = "PCI:";
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
nvidiaBusId = "PCI:01:00:0";
|
||||||
amdgpuBusId = "PCI:8:0:0";
|
amdgpuBusId = "PCI:08:00:0";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -110,9 +110,7 @@
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"olm-3.2.16"
|
|
||||||
];
|
|
||||||
services.keyd = {
|
services.keyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
keyboards.default = {
|
keyboards.default = {
|
||||||
|
@ -150,20 +148,13 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
#Asus Specific Packages
|
|
||||||
services.asusd.enable = true;
|
|
||||||
programs.rog-control-center.enable = true;
|
|
||||||
|
|
||||||
#System specific packages to install
|
#System specific packages to install
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# nvtop
|
nvtop
|
||||||
osu-lazer
|
osu-lazer
|
||||||
davinci-resolve
|
davinci-resolve
|
||||||
wacomtablet
|
wacomtablet
|
||||||
obs-studio
|
obs-studio
|
||||||
asusctl
|
|
||||||
supergfxctl
|
|
||||||
thinkfan
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
|
|
|
@ -7,6 +7,5 @@
|
||||||
../../modules/audio
|
../../modules/audio
|
||||||
../../modules/stylix
|
../../modules/stylix
|
||||||
../../modules/electrical
|
../../modules/electrical
|
||||||
../../modules/desktop-environment
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,20 +8,20 @@
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/def95f35-9630-4015-9e21-97d9518a014d";
|
{ device = "/dev/disk/by-uuid/50c34d14-4b3a-483c-874e-b6412a474cfe";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-c69579ed-9b9c-4435-b329-e5c95c945823".device = "/dev/disk/by-uuid/c69579ed-9b9c-4435-b329-e5c95c945823";
|
boot.initrd.luks.devices."luks-efb1b312-b89c-493e-952a-f70fc2ab0fbf".device = "/dev/disk/by-uuid/efb1b312-b89c-493e-952a-f70fc2ab0fbf";
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
{ device = "/dev/disk/by-uuid/02A5-BCDF";
|
{ device = "/dev/disk/by-uuid/1826-F6B8";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -161,16 +161,16 @@
|
||||||
events = [ "key" ];
|
events = [ "key" ];
|
||||||
command = "pamixer -d 5";
|
command = "pamixer -d 5";
|
||||||
}
|
}
|
||||||
# {
|
{
|
||||||
# keys = [ 237 ];
|
keys = [ 237 ];
|
||||||
# events = [ "key" ];
|
events = [ "key" ];
|
||||||
# command = "${pkgs.brightnessctl} -d asus::kbd_backlight set 1-";
|
command = "brightnessctl -d asus::kbd_backlight set 1-";
|
||||||
# }
|
}
|
||||||
# {
|
{
|
||||||
# keys = [ 238 ];
|
keys = [ 238 ];
|
||||||
# events = [ "key" ];
|
events = [ "key" ];
|
||||||
# command = "${pkgs.brightnessctl} -d asus::kbd_backlight set +1";
|
command = "brightnessctl -d asus::kbd_backlight set +1";
|
||||||
# }
|
}
|
||||||
#{ keys = [ ]; events = [ "key" ]; command = "brightnessctl -d amdgpu_bl2 set +10%"; }
|
#{ keys = [ ]; events = [ "key" ]; command = "brightnessctl -d amdgpu_bl2 set +10%"; }
|
||||||
#{ keys = [ ]; events = [ "key" ]; command = "brightnessctl -d amdgpu_bl2 set +10%"; }
|
#{ keys = [ ]; events = [ "key" ]; command = "brightnessctl -d amdgpu_bl2 set +10%"; }
|
||||||
|
|
||||||
|
|
|
@ -13,32 +13,13 @@
|
||||||
];
|
];
|
||||||
services.fprintd.enable = true;
|
services.fprintd.enable = true;
|
||||||
security.pam.services.login.fprintAuth = true;
|
security.pam.services.login.fprintAuth = true;
|
||||||
hardware.graphics.extraPackages = with pkgs; [
|
|
||||||
vaapiIntel
|
|
||||||
intel-media-driver
|
|
||||||
];
|
|
||||||
hardware.graphics.enable32Bit = true;
|
|
||||||
hardware.opengl = {
|
|
||||||
enable = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
# your Open GL, Vulkan and VAAPI drivers
|
|
||||||
vpl-gpu-rt # for newer GPUs on NixOS >24.05 or unstable
|
|
||||||
# onevpl-intel-gpu # for newer GPUs on NixOS <= 24.05
|
|
||||||
# intel-media-sdk # for older GPUs
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
graphics.enable32Bit = true;
|
||||||
pulseaudio.support32Bit = true;
|
pulseaudio.support32Bit = true;
|
||||||
openrazer.enable = true;
|
openrazer.enable = true;
|
||||||
};
|
};
|
||||||
virtualisation.podman = {
|
|
||||||
enable = true;
|
|
||||||
dockerCompat = true;
|
|
||||||
};
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"olm-3.2.16"
|
|
||||||
];
|
|
||||||
boot = {
|
boot = {
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
loader.systemd-boot.enable = true;
|
loader.systemd-boot.enable = true;
|
||||||
|
@ -114,9 +95,9 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
CPU_SCALING_GOVERNOR_ON_BAT = "performance";
|
||||||
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "performance";
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||||
|
|
||||||
CPU_MIN_PERF_ON_AC = 0;
|
CPU_MIN_PERF_ON_AC = 0;
|
||||||
|
@ -132,7 +113,6 @@
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
openrazer-daemon
|
openrazer-daemon
|
||||||
distrobox
|
|
||||||
];
|
];
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/Los_Angeles"; # Asia/Taipei lib.mkDefault
|
time.timeZone = "America/Los_Angeles"; # Asia/Taipei lib.mkDefault
|
||||||
|
@ -155,46 +135,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
allowedUDPPorts = [ 51820 ]; # Clients and peers can use the same port, see listenport
|
|
||||||
};
|
|
||||||
# Enable WireGuard
|
|
||||||
# networking.wireguard.interfaces = {
|
|
||||||
# # "wg0" is the network interface name. You can name the interface arbitrarily.
|
|
||||||
# wg0 = {
|
|
||||||
# # Determines the IP address and subnet of the client's end of the tunnel interface.
|
|
||||||
# ips = [ "10.100.0.2/24" ];
|
|
||||||
# listenPort = 51820; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
|
|
||||||
#
|
|
||||||
# # Path to the private key file.
|
|
||||||
# #
|
|
||||||
# # Note: The private key can also be included inline via the privateKey option,
|
|
||||||
# # but this makes the private key world-readable; thus, using privateKeyFile is
|
|
||||||
# # recommended.
|
|
||||||
# privateKeyFile = "path to private key file";
|
|
||||||
#
|
|
||||||
# peers = [
|
|
||||||
# # For a client configuration, one peer entry for the server will suffice.
|
|
||||||
#
|
|
||||||
# {
|
|
||||||
# # Public key of the server (not a file path).
|
|
||||||
# publicKey = "{server public key}";
|
|
||||||
#
|
|
||||||
# # Forward all the traffic via VPN.
|
|
||||||
# allowedIPs = [ "0.0.0.0/0" ];
|
|
||||||
# # Or forward only particular subnets
|
|
||||||
# #allowedIPs = [ "10.100.0.1" "91.108.12.0/22" ];
|
|
||||||
#
|
|
||||||
# # Set this to the server IP and port.
|
|
||||||
# endpoint = "{server ip}:51820"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577
|
|
||||||
#
|
|
||||||
# # Send keepalives every 25 seconds. Important to keep NAT tables alive.
|
|
||||||
# persistentKeepalive = 25;
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
|
|
|
@ -7,6 +7,5 @@
|
||||||
../../modules/audio
|
../../modules/audio
|
||||||
../../modules/stylix
|
../../modules/stylix
|
||||||
../../modules/electrical
|
../../modules/electrical
|
||||||
../../modules/desktop-environment
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
../graphics
|
||||||
|
];
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
# You can disable this if you're only using the Wayland session.
|
# You can disable this if you're only using the Wayland session.
|
||||||
services.xserver.enable = false;
|
services.xserver.enable = false;
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.liminalOS.desktop;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.liminalOS.desktop = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable the liminalOS desktop environment.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
hyprland.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = cfg.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Hyprland. Sets up a default configuration at the system and user level, and installs xdg-desktop-portal-gtk.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
options.liminalOS.formFactor = lib.mkOption {
|
|
||||||
type = lib.types.nullOr (
|
|
||||||
lib.types.enum [
|
|
||||||
"laptop"
|
|
||||||
"desktop"
|
|
||||||
]
|
|
||||||
);
|
|
||||||
default = "desktop";
|
|
||||||
description = ''
|
|
||||||
Form factor of the machine. Adjusts some UI settings.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
options.liminalOS.powersave = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to set some options to reduce power consumption (mostly Hyprland).
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
xdg.portal = lib.mkIf cfg.hyprland.enable {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.hyprland.enable = cfg.hyprland.enable;
|
|
||||||
|
|
||||||
# programs.niri.enable = cfg.niri.enable;
|
|
||||||
|
|
||||||
# programs.xwayland.enable = lib.mkIf cfg.niri.enable (lib.mkForce true);
|
|
||||||
|
|
||||||
services.xserver.enable = false;
|
|
||||||
|
|
||||||
services.xserver = {
|
|
||||||
xkb.layout = "us";
|
|
||||||
xkb.variant = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
23
modules/graphics/default.nix
Normal file
23
modules/graphics/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.hardware.nvidia;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.hardware.nvidia.usePatchedAquamarine = lib.mkEnableOption "q9i's patched aquamarine with working sleep on Nvidia";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.usePatchedAquamarine {
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
aquamarine = prev.aquamarine.overrideAttrs {
|
||||||
|
src = inputs.aq;
|
||||||
|
version = inputs.aq.rev;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,9 +6,9 @@
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
image = "${inputs.wallpapers}/anime/N25/mafuAura.png";
|
image = "${inputs.wallpapers}/vtubers/nordMachi-resized.png";
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/heetch.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
serif = {
|
serif = {
|
||||||
|
|
|
@ -4,10 +4,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = ''
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway --remember --greeting 'Access is restricted to authorized personnel only.'";
|
||||||
${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland --remember --asterisks --greeting "Welcome, generation $(readlink /nix/var/nix/profiles/system | grep -o '[0-9]*'). Access is restricted to authorized personnel only."
|
|
||||||
'';
|
|
||||||
# --remember tuigreet --time --cmd Hyprland --remember --asterisks --greeting 'Access granted for those who don't touch grass'
|
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
fetchFromGitHub,
|
|
||||||
hyprland,
|
|
||||||
pkg-config,
|
|
||||||
cmake,
|
|
||||||
unstableGitUpdater,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
mkHyprlandPlugin =
|
|
||||||
hyprland:
|
|
||||||
args@{ pluginName, ... }:
|
|
||||||
hyprland.stdenv.mkDerivation (
|
|
||||||
args
|
|
||||||
// {
|
|
||||||
pname = "${pluginName}";
|
|
||||||
nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
|
|
||||||
buildInputs = [ hyprland ] ++ hyprland.buildInputs ++ (args.buildInputs or [ ]);
|
|
||||||
meta = args.meta // {
|
|
||||||
description = args.meta.description or "";
|
|
||||||
longDescription =
|
|
||||||
(args.meta.longDescription or "")
|
|
||||||
+ "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
in
|
|
||||||
mkHyprlandPlugin hyprland {
|
|
||||||
pluginName = "hyprscroller";
|
|
||||||
version = "0-unstable-2025-05-16";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "cpiber";
|
|
||||||
repo = "hyprscroller";
|
|
||||||
rev = "de97924b6d1086d84939b6f6688637f7b21d8d80";
|
|
||||||
hash = "sha256-m9689UH+w8Z/qP/DKYtzQfIGfiE4jgBAfO+uH34cfNs=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/lib
|
|
||||||
mv hyprscroller.so $out/lib/libhyprscroller.so
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.updateScript = unstableGitUpdater { };
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/cpiber/hyprscroller";
|
|
||||||
description = "Hyprland layout plugin providing a scrolling layout like PaperWM";
|
|
||||||
license = lib.licenses.mit;
|
|
||||||
maintainers = with lib.maintainers; [ youwen5 ];
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
7
users/kaitotlex/de/default.nix
Normal file
7
users/kaitotlex/de/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./sway
|
||||||
|
./waybar
|
||||||
|
#./rofi
|
||||||
|
];
|
||||||
|
}
|
89
users/kaitotlex/de/sway/default.nix
Normal file
89
users/kaitotlex/de/sway/default.nix
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
{
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
enable = true;
|
||||||
|
config = rec {
|
||||||
|
terminal = "kitty";
|
||||||
|
modifier = "Mod4";
|
||||||
|
menu = "rofi -show combi";
|
||||||
|
#lock = "swaylock";
|
||||||
|
bars = [
|
||||||
|
{
|
||||||
|
command = "waybar";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
gaps = {
|
||||||
|
inner = 12;
|
||||||
|
};
|
||||||
|
# colors = {
|
||||||
|
# focused = {
|
||||||
|
# background = "#191724";
|
||||||
|
# border = "#6e6a86";
|
||||||
|
# childBorder = "#6e6a86";
|
||||||
|
# indicator = "#26233a";
|
||||||
|
# text = "#e0def4";
|
||||||
|
# };
|
||||||
|
# focusedInactive = {
|
||||||
|
# background = "#797593";
|
||||||
|
# border = "#393552";
|
||||||
|
# childBorder = "#393552";
|
||||||
|
# indicator = "#ea9d34";
|
||||||
|
# text = "#e0def4";
|
||||||
|
# };
|
||||||
|
# placeholder = {
|
||||||
|
# background = "#1f1d2e";
|
||||||
|
# border = "#000000";
|
||||||
|
# childBorder = "#9893a5";
|
||||||
|
# indicator = "#000000";
|
||||||
|
# text = "#e0def4";
|
||||||
|
# };
|
||||||
|
# unfocused = {
|
||||||
|
# background = "#1f1d2e";
|
||||||
|
# border = "#1f1d2e";
|
||||||
|
# childBorder = "#1f1d2e";
|
||||||
|
# indicator = "#797593";
|
||||||
|
# text = "#e0def4";
|
||||||
|
# };
|
||||||
|
# urgent = {
|
||||||
|
# background = "#2a273f";
|
||||||
|
# border = "#ea9a97";
|
||||||
|
# childBorder = "#ea9a97";
|
||||||
|
# indicator = "#1f1d2e";
|
||||||
|
# text = "#e0def4";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
window = {
|
||||||
|
border = 3;
|
||||||
|
titlebar = false;
|
||||||
|
};
|
||||||
|
# startup = [
|
||||||
|
# {
|
||||||
|
# always = true;
|
||||||
|
# command = "swaybg -i /home/kaitotlex/Pictures/eff.png";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
xwayland = true;
|
||||||
|
extraConfig = ''
|
||||||
|
bindsym XF86AudioRaiseVolume exec pamixer -i 5
|
||||||
|
bindsym XF86AudioLowerVolume exec pamixer -d 5
|
||||||
|
bindsym XF86AudioMute exec pamixer -t
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl s 5%+
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
|
||||||
|
bindsym XF86AudioMicMute exec spotify
|
||||||
|
input "type:touchpad" {
|
||||||
|
natural_scroll enabled
|
||||||
|
tap enabled # enables click-on-tap
|
||||||
|
tap_button_map lrm # tap with 1 finger = left click, 2 fingers = right click, 3 fingers = middle click
|
||||||
|
#dwt enabled # disable (touchpad) while typing
|
||||||
|
}
|
||||||
|
bindsym XF86KbdBrightnessDown exec brightnessctl -d asus::kbd_backlight s 1-
|
||||||
|
bindsym XF86KbdBrightnessUp exec brightnessctl -d asus::kbd_backlight s +1
|
||||||
|
bindsym XF86Tools exec brightnessctl s 0
|
||||||
|
bindsym XF86WebCam exec systemctl sleep
|
||||||
|
bindsym Prior exec playerctl previous
|
||||||
|
bindsym Next exec playerctl next
|
||||||
|
bindsym XF86RotateWindows exec playerctl play-pause
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
172
users/kaitotlex/de/waybar/default.nix
Normal file
172
users/kaitotlex/de/waybar/default.nix
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
style = ./style.css;
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
name = "bar0";
|
||||||
|
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
|
||||||
|
height = 28;
|
||||||
|
# "width" = 1920;
|
||||||
|
|
||||||
|
"margin" = "5px 10px 0px 10px";
|
||||||
|
"spacing" = 10;
|
||||||
|
|
||||||
|
"mode" = "top";
|
||||||
|
# "exclusive" = true;
|
||||||
|
|
||||||
|
# "output" = "eDP-1";
|
||||||
|
|
||||||
|
reload_style_on_change = true;
|
||||||
|
|
||||||
|
modules-left = [
|
||||||
|
"sway/workspaces"
|
||||||
|
"sway/window"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"tray"
|
||||||
|
"idle_inhibitor"
|
||||||
|
"backlight"
|
||||||
|
"wireplumber"
|
||||||
|
"network"
|
||||||
|
"battery"
|
||||||
|
"disk"
|
||||||
|
"memory"
|
||||||
|
"cpu"
|
||||||
|
"temperature"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
|
||||||
|
idle_inhibitor = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
activated = " ";
|
||||||
|
deactivated = " ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
network = {
|
||||||
|
format = "{ifname}";
|
||||||
|
format-wifi = "{icon}{essid}";
|
||||||
|
format-ethernet = " {essid}";
|
||||||
|
format-disconnected = " Disconnected";
|
||||||
|
format-icons = [
|
||||||
|
" "
|
||||||
|
" "
|
||||||
|
" "
|
||||||
|
];
|
||||||
|
tooltip-format = " {bandwidthUpBits} | {bandwidthDownBits}";
|
||||||
|
tooltip-format-wifi = " {bandwidthUpBits} | {bandwidthDownBits} | {signalStrength}";
|
||||||
|
};
|
||||||
|
|
||||||
|
backlight = {
|
||||||
|
interval = 2;
|
||||||
|
format = " {percent}%";
|
||||||
|
on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -d amdgpu_bl2 set 10%";
|
||||||
|
on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -d amdgpu_bl2 set 10%-";
|
||||||
|
};
|
||||||
|
|
||||||
|
wireplumber = {
|
||||||
|
format = "{icon} {volume}%";
|
||||||
|
format-muted = " ";
|
||||||
|
on-click = "pamixer -t";
|
||||||
|
on-scroll-up = "${pkgs.pamixer}/bin/pamixer set 5%+";
|
||||||
|
on-scroll-down = "${pkgs.pamixer}/bin/pamixer set 5%-";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
interval = 10;
|
||||||
|
format = "{icon} {capacity}%";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
tooltip = true;
|
||||||
|
tooltip-format = "{timeTo}";
|
||||||
|
};
|
||||||
|
|
||||||
|
disk = {
|
||||||
|
intervel = 30;
|
||||||
|
format = " {percentage_used}%";
|
||||||
|
tooltip-format = "{used} used out of {total} on \"{path}\" ({percentage_used}%)";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory = {
|
||||||
|
interval = 10;
|
||||||
|
format = " {used}";
|
||||||
|
tooltip-format = "{used}GiB used of {total}GiB ({percentage}%)";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu = {
|
||||||
|
interval = 10;
|
||||||
|
format = " {usage}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
temperature = {
|
||||||
|
interval = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
clock = {
|
||||||
|
interval = 1;
|
||||||
|
format = "{:%H:%M:%S}";
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
show-special = true;
|
||||||
|
persistent-workspaces = {
|
||||||
|
"*" = [
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
];
|
||||||
|
};
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
active = "";
|
||||||
|
empty = "";
|
||||||
|
default = "";
|
||||||
|
urgent = "";
|
||||||
|
special = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"hyprland/window" = {
|
||||||
|
icon = true;
|
||||||
|
icon-size = 20;
|
||||||
|
max-length = 50;
|
||||||
|
rewrite = {
|
||||||
|
"(.*) — firefox" = "$1";
|
||||||
|
"(.*) — chromium" = "$1";
|
||||||
|
"^$" = "👾";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
27
users/kaitotlex/de/waybar/nord.css
Normal file
27
users/kaitotlex/de/waybar/nord.css
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
@define-color bg #2E3440;
|
||||||
|
/*@define-color bg #353C4A;*/
|
||||||
|
@define-color light #D8DEE9;
|
||||||
|
/*@define-color dark @nord_dark_font;*/
|
||||||
|
@define-color warning #ebcb8b;
|
||||||
|
@define-color critical #BF616A;
|
||||||
|
@define-color mode #434C5E;
|
||||||
|
/*@define-color workspaces @bg;*/
|
||||||
|
/*@define-color workspaces @nord_dark_font;*/
|
||||||
|
/*@define-color workspacesfocused #434C5E;*/
|
||||||
|
@define-color workspacesfocused #4C566A;
|
||||||
|
@define-color tray @workspacesfocused;
|
||||||
|
@define-color sound #EBCB8B;
|
||||||
|
@define-color network #5D7096;
|
||||||
|
@define-color memory #546484;
|
||||||
|
@define-color cpu #596A8D;
|
||||||
|
@define-color temp #4D5C78;
|
||||||
|
@define-color layout #5e81ac;
|
||||||
|
@define-color battery #88c0d0;
|
||||||
|
@define-color date #434C5E;
|
||||||
|
@define-color time #434C5E;
|
||||||
|
@define-color backlight #434C5E;
|
||||||
|
@define-color nord_bg #434C5E;
|
||||||
|
@define-color nord_bg_blue #546484;
|
||||||
|
@define-color nord_light #D8DEE9;
|
||||||
|
@define-color nord_light_font #D8DEE9;
|
||||||
|
@define-color nord_dark_font #434C5E;
|
23
users/kaitotlex/de/waybar/rose-pine-dawn.css
Normal file
23
users/kaitotlex/de/waybar/rose-pine-dawn.css
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* Variant: Rosé Pine Dawn
|
||||||
|
* Maintainer: DankChoir
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color base #faf4ed;
|
||||||
|
@define-color surface #fffaf3;
|
||||||
|
@define-color overlay #f2e9e1;
|
||||||
|
|
||||||
|
@define-color muted #9893a5;
|
||||||
|
@define-color subtle #797593;
|
||||||
|
@define-color text #575279;
|
||||||
|
|
||||||
|
@define-color love #b4637a;
|
||||||
|
@define-color gold #ea9d34;
|
||||||
|
@define-color rose #d7827e;
|
||||||
|
@define-color pine #286983;
|
||||||
|
@define-color foam #56949f;
|
||||||
|
@define-color iris #907aa9;
|
||||||
|
|
||||||
|
@define-color highlightLow #f4ede8;
|
||||||
|
@define-color highlightMed #dfdad9;
|
||||||
|
@define-color highlightHigh #cecacd;
|
75
users/kaitotlex/de/waybar/style.css
Normal file
75
users/kaitotlex/de/waybar/style.css
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
@import "./nord.css";
|
||||||
|
window#waybar {
|
||||||
|
font-family: "CaskaydiaCove Nerd Font";
|
||||||
|
background-color: @bg;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
opacity: 1;
|
||||||
|
background-color: #95a3bb;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
opacity: 1;
|
||||||
|
background-color: #95a3bb;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 2px 2px 2px 10px
|
||||||
|
}
|
||||||
|
|
||||||
|
/* label.module {
|
||||||
|
margin-left: -1px;
|
||||||
|
} */
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background-color: #6e7581;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
font-size: 0.6rem;
|
||||||
|
padding: 0 0.3rem 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: #95a3bb;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 2px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 0 3px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: @date;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
color: @memory;
|
||||||
|
}
|
||||||
|
|
||||||
|
#disk {
|
||||||
|
color: @date;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
color: @cpu;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
color: @temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
color: @network;
|
||||||
|
}
|
76
users/kaitotlex/de/waybar/style.css.bak
Normal file
76
users/kaitotlex/de/waybar/style.css.bak
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
@import "./rose-pine-dawn.css";
|
||||||
|
window#waybar {
|
||||||
|
font-family: "CaskaydiaCove Nerd Font";
|
||||||
|
background-color: @base;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
opacity: 1;
|
||||||
|
background: linear-gradient(45deg, @muted, @subtle);
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
opacity: 1;
|
||||||
|
background-color: @subtle;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 2px 2px 2px 10px
|
||||||
|
}
|
||||||
|
|
||||||
|
/* label.module {
|
||||||
|
margin-left: -1px;
|
||||||
|
} */
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background-color: @rose;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
font-size: 0.6rem;
|
||||||
|
padding: 0 0.3rem 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: @iris;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 2px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
padding: 0 3px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
color: @iris;
|
||||||
|
}
|
||||||
|
|
||||||
|
#disk {
|
||||||
|
color: @gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
color: @rose;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
color: @rose;
|
||||||
|
}
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
./home.nix
|
./home.nix
|
||||||
./spicetify.nix
|
./spicetify.nix
|
||||||
|
./de
|
||||||
./stylix
|
./stylix
|
||||||
./desktop-environment
|
|
||||||
];
|
];
|
||||||
|
|
||||||
liminalOS.formFactor = "laptop";
|
|
||||||
liminalOS.powersave = false;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
osConfig,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hyprland
|
|
||||||
./waybar
|
|
||||||
./swaync.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
options.liminalOS.desktop = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = osConfig.liminalOS.desktop.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to enable the default configuration for the userland portions of the liminalOS desktop environment.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,99 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.liminalOS.desktop.hyprland;
|
|
||||||
hyprnome = "${pkgs.hyprnome}/bin/hyprnome";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings = lib.mkIf cfg.enable {
|
|
||||||
bind = [
|
|
||||||
"$mod+Shift, $Left, scroller:movewindow, l"
|
|
||||||
"$mod+Shift, $Right, scroller:movewindow, r"
|
|
||||||
"$mod+Shift, $Up, scroller:movewindow, u"
|
|
||||||
"$mod+Shift, $Down, scroller:movewindow, d"
|
|
||||||
|
|
||||||
# Move around
|
|
||||||
"$mod, $Left, scroller:movefocus, l"
|
|
||||||
"$mod, $Right, scroller:movefocus, r"
|
|
||||||
"$mod, $Up, scroller:movefocus, u"
|
|
||||||
"$mod, $Down, scroller:movefocus, d"
|
|
||||||
"$mod, comma, scroller:admitwindow"
|
|
||||||
"$mod, period, scroller:expelwindow"
|
|
||||||
"$mod, F, scroller:fitsize, active"
|
|
||||||
"$mod, Y, scroller:fitsize, all"
|
|
||||||
"$mod, semicolon, scroller:cyclesize, next"
|
|
||||||
"$mod, apostrophe, scroller:cyclesize, previous"
|
|
||||||
|
|
||||||
"$mod+Shift, U, exec, ${hyprnome} --move"
|
|
||||||
"$mod+Shift, I, exec, ${hyprnome} --previous --move"
|
|
||||||
|
|
||||||
"$mod, U, exec, ${hyprnome}"
|
|
||||||
"$mod, I, exec, ${hyprnome} --previous"
|
|
||||||
|
|
||||||
"$mod, C, scroller:setmode, c"
|
|
||||||
"$mod, V, scroller:setmode, r"
|
|
||||||
|
|
||||||
"$mod, G, scroller:jump"
|
|
||||||
"$mod+Ctrl, G, scroller:toggleoverview"
|
|
||||||
# Window actions
|
|
||||||
"$mod, Q, killactive"
|
|
||||||
"$mod, W, togglefloating"
|
|
||||||
"$mod, Return, fullscreen"
|
|
||||||
|
|
||||||
# Utilities
|
|
||||||
"$mod, Space, exec, pkill -x rofi || rofi -show drun" # Run rofi application launcher
|
|
||||||
"$mod, X, exec, pkill -x rofi || rofi -show window" # Run rofi window switcher
|
|
||||||
|
|
||||||
"$mod, Backspace, exec, pkill -x wlogout || wlogout" # show logout menu
|
|
||||||
|
|
||||||
"$mod, Z, exec, loginctl lock-session"
|
|
||||||
|
|
||||||
# Media controls
|
|
||||||
",XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer -t"
|
|
||||||
",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox play-pause"
|
|
||||||
",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox next"
|
|
||||||
",XF86AudioRewind, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox previous"
|
|
||||||
|
|
||||||
"$mod, S, togglespecialworkspace"
|
|
||||||
"$mod+Alt, S, movetoworkspacesilent, special"
|
|
||||||
"$mod, Tab, workspace, previous"
|
|
||||||
''$mod+Shift, P, exec, ${pkgs.grim}/bin/grim - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot full screen
|
|
||||||
''$mod, P, exec, ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot
|
|
||||||
|
|
||||||
"$mod, B, exec, zen"
|
|
||||||
|
|
||||||
"$mod, N, exec, sleep 0.1 && ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"
|
|
||||||
# Application Keybinds
|
|
||||||
"$mod, R, exec, ${pkgs.pavucontrol}/bin/pavucontrol -t 3" # open pavucontrol on 'outputs' tab
|
|
||||||
"$mod, T, exec, ${pkgs.kitty}/bin/kitty"
|
|
||||||
"$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar"
|
|
||||||
"$mod, M, exec, ${pkgs.thunderbird}/bin/thunderbird"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"$mod, mouse:272, movewindow"
|
|
||||||
"$mod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
bindel = [
|
|
||||||
",XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%-"
|
|
||||||
",XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl set 5%+"
|
|
||||||
",XF86KbdBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl -d asus::kbd_backlight set 1-"
|
|
||||||
",XF86KbdBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl -d asus::kbd_backlight set 1-"
|
|
||||||
",XF86Launch1, exec, ${pkgs.supergfxctl}/bin/supergfxctl --mode Hybrid"
|
|
||||||
",XF86Launch4, exec, ${pkgs.supergfxctl}/bin/supergfxctl --mode Integrated"
|
|
||||||
",XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer -i 5"
|
|
||||||
",XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer -d 5"
|
|
||||||
];
|
|
||||||
binde = [
|
|
||||||
# Resize windows
|
|
||||||
"$mod+Alt, $Right, resizeactive, 30 0"
|
|
||||||
"$mod+Alt, $Left, resizeactive, -30 0"
|
|
||||||
"$mod+Alt, $Up, resizeactive, 0 -30"
|
|
||||||
"$mod+Alt, $Down, resizeactive, 0 30"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,248 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
osConfig,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.liminalOS.desktop.hyprland;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./binds.nix
|
|
||||||
./utilities.nix
|
|
||||||
./windowrules.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
options.liminalOS.formFactor = lib.mkOption {
|
|
||||||
type = lib.types.nullOr (
|
|
||||||
lib.types.enum [
|
|
||||||
"laptop"
|
|
||||||
"desktop"
|
|
||||||
]
|
|
||||||
);
|
|
||||||
default = osConfig.liminalOS.formFactor;
|
|
||||||
description = ''
|
|
||||||
Form factor of the machine. Adjusts some UI settings.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
options.liminalOS.powersave = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = osConfig.liminalOS.powersave;
|
|
||||||
description = ''
|
|
||||||
Whether to set some options to reduce power consumption (mostly Hyprland).
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
options.liminalOS.desktop.hyprland = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = config.liminalOS.desktop.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to enable and rice Hyprland as well as some basic desktop utilities.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
gtkUseOpenGL = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to set GSK_RENDERER environment variable to stop GTK apps from crashing.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
idleDaemon.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = cfg.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to setup and enable Hypridle with some defaults to automatically lock the screen and suspend after idling.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
screenlocker.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = cfg.enable && cfg.idleDaemon.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to set up Hyprlock for screen locking.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
screenlocker.useCrashFix = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to use a workaround for Hyprlock background blur not working on some machines. Before locking, a screenshot will be taken and placed at `/tmp/__hyprlock-monitor-screenshot.png`.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
screenlocker.monitor = lib.mkOption {
|
|
||||||
type = lib.types.nullOr lib.types.str;
|
|
||||||
default = null;
|
|
||||||
description = ''
|
|
||||||
Monitor to use for screen locker. Use `hyprctl monitors` to determine.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
bluelight.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = true;
|
|
||||||
description = ''
|
|
||||||
Whether to enable `hyprsunset` as a daemon.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
wl-clipboard
|
|
||||||
libsForQt5.qtstyleplugin-kvantum
|
|
||||||
libsForQt5.qt5ct
|
|
||||||
papirus-icon-theme
|
|
||||||
libsForQt5.qt5ct
|
|
||||||
hyprland-qtutils
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland =
|
|
||||||
let
|
|
||||||
hyprscroller = pkgs.callPackage ../../../../pkgs/hyprland/hyprscroller.nix {
|
|
||||||
src = inputs.hyprscroller-src;
|
|
||||||
version = inputs.hyprscroller-src.lastModified;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
plugins = [ hyprscroller ];
|
|
||||||
settings = {
|
|
||||||
input.touchpad = lib.mkIf (config.liminalOS.formFactor == "laptop") {
|
|
||||||
natural_scroll = true;
|
|
||||||
disable_while_typing = true;
|
|
||||||
clickfinger_behavior = true;
|
|
||||||
tap-to-click = true;
|
|
||||||
scroll_factor = 0.15;
|
|
||||||
};
|
|
||||||
|
|
||||||
exec-once = [
|
|
||||||
"hyprctl dispatch workspace 100000"
|
|
||||||
];
|
|
||||||
"$mod" = "SUPER";
|
|
||||||
"$Left" = "H";
|
|
||||||
"$Right" = "L";
|
|
||||||
"$Up" = "K";
|
|
||||||
"$Down" = "J";
|
|
||||||
env = (
|
|
||||||
lib.optionals cfg.gtkUseOpenGL [
|
|
||||||
"GSK_RENDERER,ngl"
|
|
||||||
]
|
|
||||||
);
|
|
||||||
layerrule = [
|
|
||||||
"blur,rofi"
|
|
||||||
"ignorezero,rofi"
|
|
||||||
"animation slide bottom 0.2 0.2 wind,rofi"
|
|
||||||
"blur,notifications"
|
|
||||||
"ignorezero,notifications"
|
|
||||||
"blur,swaync-notification-window"
|
|
||||||
"animation slide right 0.5 0.5,swaync-control-center"
|
|
||||||
"animation slide right 0.5 0.5,notifications"
|
|
||||||
"animation slide right 0.5 0.5,swaync-notification-window"
|
|
||||||
"ignorezero,swaync-notification-window"
|
|
||||||
"blur,swaync-control-center"
|
|
||||||
"ignorezero,swaync-control-center"
|
|
||||||
"blur,logout_dialog"
|
|
||||||
];
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = "yes";
|
|
||||||
preserve_split = "yes";
|
|
||||||
};
|
|
||||||
animations = {
|
|
||||||
enabled = "yes";
|
|
||||||
bezier = [
|
|
||||||
"wind, 0.05, 0.9, 0.1, 1.05"
|
|
||||||
"winIn, 0.1, 1.1, 0.1, 1.1"
|
|
||||||
"winOut, 0.3, -0.3, 0, 1"
|
|
||||||
"liner, 1, 1, 1, 1"
|
|
||||||
"windup, 0.05, 0.9, 0.1, 1.05"
|
|
||||||
];
|
|
||||||
animation =
|
|
||||||
[
|
|
||||||
"windows, 1, 6, wind, slide"
|
|
||||||
"windowsIn, 1, 6, winIn, slide"
|
|
||||||
"windowsOut, 1, 5, winOut, slide"
|
|
||||||
"windowsMove, 1, 5, wind, slide"
|
|
||||||
"fade, 1, 10, default"
|
|
||||||
# "layers, 1, 8, default, slide"
|
|
||||||
"workspaces, 1, 5, wind, slidefadevert"
|
|
||||||
]
|
|
||||||
++ (lib.optionals (!osConfig.liminalOS.powersave) [
|
|
||||||
"border, 1, 1, liner"
|
|
||||||
"borderangle, 1, 30, liner, loop"
|
|
||||||
]);
|
|
||||||
};
|
|
||||||
|
|
||||||
general =
|
|
||||||
let
|
|
||||||
inherit (config.lib.stylix) colors;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
gaps_in = "3";
|
|
||||||
gaps_out = "8";
|
|
||||||
border_size = "2";
|
|
||||||
# "col.active_border" = pkgs.lib.mkForce "rgba(ca9ee6ff) rgba(f2d5cfff) 45deg";
|
|
||||||
# "col.inactive_border" = pkgs.lib.mkForce "rgba(b4befecc) rgba(6c7086cc) 45deg";
|
|
||||||
"col.active_border" = "rgba(${colors.base0A}ff) rgba(${colors.base09}ff) 45deg";
|
|
||||||
"col.inactive_border" = "rgba(${colors.base01}cc) rgba(${colors.base02}cc) 45deg";
|
|
||||||
layout = "scroller";
|
|
||||||
resize_on_border = "true";
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
disable_splash_rendering = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
hide_on_key_press = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = "10";
|
|
||||||
dim_special = "0.3";
|
|
||||||
blur = {
|
|
||||||
enabled = "yes";
|
|
||||||
size = "6";
|
|
||||||
passes = "3";
|
|
||||||
new_optimizations = "on";
|
|
||||||
ignore_opacity = "on";
|
|
||||||
xray = "false";
|
|
||||||
special = true;
|
|
||||||
};
|
|
||||||
shadow = {
|
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
input = {
|
|
||||||
sensitivity = "-0.25";
|
|
||||||
};
|
|
||||||
plugin.scroller = {
|
|
||||||
column_widths = "onethird onehalf twothirds one";
|
|
||||||
column_heights = "onethird onehalf twothirds one";
|
|
||||||
};
|
|
||||||
experimental.xx_color_management_v4 = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# wayland.windowManager.hyprland.settings.input.touchpad =
|
|
||||||
# lib.mkIf (config.liminalOS.formFactor == "laptop")
|
|
||||||
# {
|
|
||||||
# natural_scroll = true;
|
|
||||||
# disable_while_typing = true;
|
|
||||||
# clickfinger_behavior = true;
|
|
||||||
# tap-to-click = false;
|
|
||||||
# scroll_factor = 0.15;
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
assertions = [
|
|
||||||
{
|
|
||||||
assertion =
|
|
||||||
!cfg.screenlocker.useCrashFix || (cfg.screenlocker.useCrashFix && cfg.screenlocker.monitor != null);
|
|
||||||
message = "To use the Nvidia crash fix, you must set screenlocker.monitor to the monitor you want to use as the lock screen that blurs! Use `hyprctl monitors` to determine the monitor codes (should be something like DP-1, HDMI-A-1, etc).";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,183 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.liminalOS.desktop.hyprland;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
systemd.user.services = lib.mkIf cfg.bluelight.enable {
|
|
||||||
hyprsunset = {
|
|
||||||
Unit = {
|
|
||||||
Description = "Start the hyprsunset daemon";
|
|
||||||
PartOf = "hyprland-session.target";
|
|
||||||
After = "hyprland-session.target";
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
Type = "simple";
|
|
||||||
ExecStart = "${pkgs.hyprsunset}/bin/hyprsunset";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = 3;
|
|
||||||
};
|
|
||||||
Install = {
|
|
||||||
WantedBy = [ "hyprland-session.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.hyprpaper.enable = true;
|
|
||||||
|
|
||||||
programs.wlogout.enable = true;
|
|
||||||
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.rofi-wayland;
|
|
||||||
terminal = "${pkgs.kitty}/bin/kitty";
|
|
||||||
theme =
|
|
||||||
let
|
|
||||||
inherit (config.lib.formats.rasi) mkLiteral;
|
|
||||||
mkRgba =
|
|
||||||
opacity: color:
|
|
||||||
let
|
|
||||||
c = config.lib.stylix.colors;
|
|
||||||
r = c."${color}-rgb-r";
|
|
||||||
g = c."${color}-rgb-g";
|
|
||||||
b = c."${color}-rgb-b";
|
|
||||||
in
|
|
||||||
mkLiteral "rgba ( ${r}, ${g}, ${b}, ${opacity} % )";
|
|
||||||
mkRgb = mkRgba "100";
|
|
||||||
rofiOpacity = builtins.toString (builtins.ceil (config.stylix.opacity.popups * 100));
|
|
||||||
in
|
|
||||||
{
|
|
||||||
"*" = {
|
|
||||||
font = "${config.stylix.fonts.monospace.name} ${toString config.stylix.fonts.sizes.popups}";
|
|
||||||
text-color = mkRgb "base05";
|
|
||||||
background-color = mkRgba rofiOpacity "base00";
|
|
||||||
};
|
|
||||||
"window" = {
|
|
||||||
height = mkLiteral "20em";
|
|
||||||
width = mkLiteral "30em";
|
|
||||||
border-radius = mkLiteral "8px";
|
|
||||||
border-width = mkLiteral "2px";
|
|
||||||
padding = mkLiteral "1.5em";
|
|
||||||
};
|
|
||||||
"mainbox" = {
|
|
||||||
background-color = mkRgba rofiOpacity "base01";
|
|
||||||
};
|
|
||||||
"inputbar" = {
|
|
||||||
margin = mkLiteral "0 0 1em 0";
|
|
||||||
};
|
|
||||||
"prompt" = {
|
|
||||||
enabled = false;
|
|
||||||
};
|
|
||||||
"entry" = {
|
|
||||||
placeholder = "Search...";
|
|
||||||
padding = mkLiteral "1em 1em";
|
|
||||||
text-color = mkRgb "base05";
|
|
||||||
background-color = mkRgba rofiOpacity "base00";
|
|
||||||
border-radius = mkLiteral "8px";
|
|
||||||
};
|
|
||||||
"element-text" = {
|
|
||||||
padding = mkLiteral "0.5em 1em";
|
|
||||||
margin = mkLiteral "0 0.5em";
|
|
||||||
};
|
|
||||||
"element-icon" = {
|
|
||||||
size = mkLiteral "3ch";
|
|
||||||
};
|
|
||||||
"element-text selected" = {
|
|
||||||
background-color = mkRgba rofiOpacity "base0A";
|
|
||||||
text-color = mkRgb "base01";
|
|
||||||
border-radius = mkLiteral "8px";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.swayosd.enable = true;
|
|
||||||
|
|
||||||
programs.hyprlock = lib.mkIf cfg.screenlocker.enable {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
hide_cursor = true;
|
|
||||||
grace = 0;
|
|
||||||
};
|
|
||||||
background = {
|
|
||||||
monitor = cfg.screenlocker.monitor;
|
|
||||||
path =
|
|
||||||
if cfg.screenlocker.useCrashFix then "/tmp/__hyprlock-monitor-screenshot.png" else "screenshot";
|
|
||||||
blur_passes = 3;
|
|
||||||
blur_size = 7;
|
|
||||||
noise = 0.0117;
|
|
||||||
contrast = 0.8916;
|
|
||||||
brightness = 0.8172;
|
|
||||||
vibrancy = 0.1696;
|
|
||||||
vibrancy_darkness = 0.0;
|
|
||||||
};
|
|
||||||
input-field = {
|
|
||||||
monitor = "";
|
|
||||||
size = "200, 50";
|
|
||||||
outline_thickness = 3;
|
|
||||||
dots_size = 0.33;
|
|
||||||
dots_spacing = 0.15;
|
|
||||||
dots_center = false;
|
|
||||||
dots_rounding = -1;
|
|
||||||
outer_color = "rgb(151515)";
|
|
||||||
inner_color = "rgb(200, 200, 200)";
|
|
||||||
font_color = "rgb(10, 10, 10)";
|
|
||||||
fade_on_empty = true;
|
|
||||||
fade_timeout = 1000;
|
|
||||||
placeholder_text = "<i>Input Password...</i>";
|
|
||||||
hide_input = false;
|
|
||||||
rounding = -1;
|
|
||||||
check_color = "rgb(204, 136, 34)";
|
|
||||||
fail_color = "rgb(204, 34, 34)";
|
|
||||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
|
||||||
fail_timeout = 2000;
|
|
||||||
fail_transition = 300;
|
|
||||||
capslock_color = -1;
|
|
||||||
numlock_color = -1;
|
|
||||||
bothlock_color = -1;
|
|
||||||
invert_numlock = false;
|
|
||||||
swap_font_color = false;
|
|
||||||
|
|
||||||
position = "0, -20";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.hypridle = lib.mkIf cfg.idleDaemon.enable {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
lock_cmd =
|
|
||||||
if cfg.screenlocker.useCrashFix then
|
|
||||||
"pidof hyprlock || ${pkgs.grim}/bin/grim -o ${config.programs.hyprlock.settings.background.monitor} /tmp/__hyprlock-monitor-screenshot.png && ${pkgs.hyprlock}/bin/hyprlock"
|
|
||||||
else
|
|
||||||
"pidof hyprlock || hyprlock";
|
|
||||||
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
|
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
|
|
||||||
};
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 1500;
|
|
||||||
on-timeout = "loginctl lock-session";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 330; # 5.5min
|
|
||||||
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
|
|
||||||
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 1800;
|
|
||||||
on-timeout = "systemctl suspend";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,95 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
config.wayland.windowManager.hyprland.settings.windowrulev2 =
|
|
||||||
lib.mkIf config.liminalOS.desktop.hyprland.enable
|
|
||||||
[
|
|
||||||
"opacity 0.90 0.90,class:^(librewolf)$"
|
|
||||||
"opacity 0.90 0.90,class:^(floorp)$"
|
|
||||||
"opacity 0.90 0.90,class:^(zen-alpha)$"
|
|
||||||
"opacity 0.90 0.90,class:^(zen-beta)$"
|
|
||||||
"opacity 0.90 0.90,class:^(zen)$"
|
|
||||||
"opacity 0.90 0.90,class:^(Brave-browser)$"
|
|
||||||
"opacity 0.80 0.80,class:^(Steam)$"
|
|
||||||
"opacity 0.80 0.80,class:^(steam)$"
|
|
||||||
"opacity 0.80 0.80,class:^(steamwebhelper)$"
|
|
||||||
"opacity 0.80 0.80,class:^(Spotify)$"
|
|
||||||
"opacity 0.80 0.80,initialTitle:^(Spotify Premium)$"
|
|
||||||
"opacity 0.80 0.80,initialTitle:^(Spotify Free)$"
|
|
||||||
"opacity 0.80 0.80,class:^(code-oss)$"
|
|
||||||
"opacity 0.80 0.80,class:^(Code)$"
|
|
||||||
"opacity 0.80 0.80,class:^(code-url-handler)$"
|
|
||||||
"opacity 0.80 0.80,class:^(code-insiders-url-handler)$"
|
|
||||||
"opacity 0.80 0.80,class:^(kitty)$"
|
|
||||||
"opacity 0.80 0.80,class:^(neovide)$"
|
|
||||||
"opacity 0.80 0.80,class:^(org.kde.dolphin)$"
|
|
||||||
"opacity 0.80 0.80,class:^(thunar)$"
|
|
||||||
"opacity 0.80 0.80,class:^(org.kde.ark)$"
|
|
||||||
"opacity 0.80 0.80,class:^(nwg-look)$"
|
|
||||||
"opacity 0.80 0.80,class:^(qt5ct)$"
|
|
||||||
"opacity 0.80 0.80,class:^(qt6ct)$"
|
|
||||||
"opacity 0.80 0.80,class:^(kvantummanager)$"
|
|
||||||
"opacity 0.80 0.80,class:^(waypaper)$"
|
|
||||||
"opacity 0.80 0.80,class:^(org.pulseaudio.pavucontrol)$"
|
|
||||||
"opacity 0.80 0.80,class:^(com.github.wwmm.easyeffects)$"
|
|
||||||
"opacity 0.80 0.80,class:^(thunderbird)$"
|
|
||||||
|
|
||||||
"opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt"
|
|
||||||
"opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(discord)$ # Discord-Electron"
|
|
||||||
"opacity 0.80 0.80,class:^(vesktop)$ # Vesktop-Electron"
|
|
||||||
"opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron"
|
|
||||||
"opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt"
|
|
||||||
"opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(signal)$ # Signal-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk"
|
|
||||||
"opacity 0.80 0.80,class:^(lutris)$ # Lutris game launcher"
|
|
||||||
|
|
||||||
"opacity 0.80 0.70,class:^(pavucontrol)$"
|
|
||||||
"opacity 0.80 0.70,class:^(blueman-manager)$"
|
|
||||||
"opacity 0.80 0.70,class:^(nm-applet)$"
|
|
||||||
"opacity 0.80 0.70,class:^(nm-connection-editor)$"
|
|
||||||
"opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$"
|
|
||||||
|
|
||||||
"float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$"
|
|
||||||
"float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$"
|
|
||||||
"float,title:^(Picture-in-Picture)$"
|
|
||||||
"float,class:^(librewolf)$,title:^(Library)$"
|
|
||||||
"float,class:^(floorp)$,title:^(Library)$"
|
|
||||||
"float,class:^(zen-alpha)$,title:^(Library)$"
|
|
||||||
"float,class:^(zen-beta)$,title:^(Library)$"
|
|
||||||
"float,class:^(zen)$,title:^(Library)$"
|
|
||||||
''float,class:^(zen)$,title:^(.*Extension: \(Bitwarden Password Manager\).*)$''
|
|
||||||
"float,class:^(vlc)$"
|
|
||||||
"float,class:^(kvantummanager)$"
|
|
||||||
"float,class:^(qt5ct)$"
|
|
||||||
"float,class:^(qt6ct)$"
|
|
||||||
"float,class:^(nwg-look)$"
|
|
||||||
"float,class:^(org.kde.ark)$"
|
|
||||||
"float,class:^(org.pulseaudio.pavucontrol)$"
|
|
||||||
"float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk"
|
|
||||||
"float,class:^(app.drey.Warp)$ # Warp-Gtk"
|
|
||||||
"float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt"
|
|
||||||
"float,class:^(yad)$ # Protontricks-Gtk"
|
|
||||||
"float,class:^(eog)$ # Imageviewer-Gtk"
|
|
||||||
"float,class:^(io.github.alainm23.planify)$ # planify-Gtk"
|
|
||||||
"float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk"
|
|
||||||
"float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk"
|
|
||||||
"float,class:^(blueman-manager)$"
|
|
||||||
"float,class:^(nm-applet)$"
|
|
||||||
"float,class:^(nm-connection-editor)$"
|
|
||||||
"float,class:^(org.kde.polkit-kde-authentication-agent-1)$"
|
|
||||||
"opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.gtk)$"
|
|
||||||
"opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.hyprland)$"
|
|
||||||
|
|
||||||
''size 70% 70%,class:^(zen)$,title:^(.*Extension: \(Bitwarden Password Manager\).*)$''
|
|
||||||
"size 50% 50%,class:^(org.pulseaudio.pavucontrol)"
|
|
||||||
|
|
||||||
"stayfocused, class:^(pinentry-)" # fix pinentry losing focus
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,325 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.liminalOS.desktop.swaync;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.liminalOS.desktop.swaync = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = config.liminalOS.desktop.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to enable the swaync notification center and daemon.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.swaync.enable = true;
|
|
||||||
services.swaync.settings = {
|
|
||||||
positionX = "right";
|
|
||||||
positionY = "top";
|
|
||||||
control-center-margin-top = 10;
|
|
||||||
control-center-margin-bottom = 10;
|
|
||||||
control-center-margin-right = 10;
|
|
||||||
control-center-margin-left = 10;
|
|
||||||
notification-icon-size = 64;
|
|
||||||
notification-body-image-height = 100;
|
|
||||||
notification-body-image-width = 200;
|
|
||||||
timeout = 10;
|
|
||||||
timeout-low = 5;
|
|
||||||
timeout-critical = 0;
|
|
||||||
fit-to-screen = false;
|
|
||||||
control-center-width = 500;
|
|
||||||
control-center-height = 800;
|
|
||||||
notification-window-width = 500;
|
|
||||||
keyboard-shortcuts = true;
|
|
||||||
image-visibility = "when-available";
|
|
||||||
transition-time = 200;
|
|
||||||
hide-on-clear = false;
|
|
||||||
hide-on-action = true;
|
|
||||||
script-fail-notify = true;
|
|
||||||
widgets = [
|
|
||||||
"title"
|
|
||||||
"mpris"
|
|
||||||
"volume"
|
|
||||||
"backlight"
|
|
||||||
"dnd"
|
|
||||||
"notifications"
|
|
||||||
];
|
|
||||||
widget-config = {
|
|
||||||
title = {
|
|
||||||
text = "Mission Control";
|
|
||||||
clear-all-button = "true";
|
|
||||||
button-text = " All Systems Go";
|
|
||||||
};
|
|
||||||
dnd = {
|
|
||||||
text = "Do Not Disturb";
|
|
||||||
};
|
|
||||||
label = {
|
|
||||||
max-lines = 1;
|
|
||||||
text = "Mission Control";
|
|
||||||
};
|
|
||||||
mpris = {
|
|
||||||
image-size = 96;
|
|
||||||
image-radius = 7;
|
|
||||||
};
|
|
||||||
volume = {
|
|
||||||
label = "";
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
label = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/swaync/style.css".text = ''
|
|
||||||
* {
|
|
||||||
font-family: ${config.stylix.fonts.monospace.name};
|
|
||||||
}
|
|
||||||
.control-center .notification-row:focus,
|
|
||||||
.control-center .notification-row:hover {
|
|
||||||
background: #${config.lib.stylix.colors.base00}
|
|
||||||
}
|
|
||||||
.notification-row {
|
|
||||||
outline: none;
|
|
||||||
margin: 10px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.notification {
|
|
||||||
background: transparent;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0px;
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
.notification-content {
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
padding: 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
border: 2px solid #${config.lib.stylix.colors.base05};
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
.notification-default-action {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.close-button {
|
|
||||||
background: #${config.lib.stylix.colors.base08};
|
|
||||||
color: #${config.lib.stylix.colors.base00};
|
|
||||||
text-shadow: none;
|
|
||||||
padding: 0;
|
|
||||||
border-radius: 5px;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
.close-button:hover {
|
|
||||||
box-shadow: none;
|
|
||||||
background: #${config.lib.stylix.colors.base0D};
|
|
||||||
transition: all .15s ease-in-out;
|
|
||||||
border: none
|
|
||||||
}
|
|
||||||
.notification-action {
|
|
||||||
border: 2px solid #${config.lib.stylix.colors.base0D};
|
|
||||||
border-top: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.notification-default-action:hover,
|
|
||||||
.notification-action:hover {
|
|
||||||
color: #${config.lib.stylix.colors.base0B};
|
|
||||||
background: #${config.lib.stylix.colors.base0B}
|
|
||||||
}
|
|
||||||
.notification-default-action {
|
|
||||||
border-radius: 5px;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.notification-default-action:not(:only-child) {
|
|
||||||
border-bottom-left-radius: 7px;
|
|
||||||
border-bottom-right-radius: 7px
|
|
||||||
}
|
|
||||||
.notification-action:first-child {
|
|
||||||
border-bottom-left-radius: 10px;
|
|
||||||
background: #${config.lib.stylix.colors.base00}
|
|
||||||
}
|
|
||||||
.notification-action:last-child {
|
|
||||||
border-bottom-right-radius: 10px;
|
|
||||||
background: #${config.lib.stylix.colors.base00}
|
|
||||||
}
|
|
||||||
.inline-reply {
|
|
||||||
margin-top: 8px
|
|
||||||
}
|
|
||||||
.inline-reply-entry {
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
caret-color: #${config.lib.stylix.colors.base05};
|
|
||||||
border: 1px solid #${config.lib.stylix.colors.base09};
|
|
||||||
border-radius: 5px
|
|
||||||
}
|
|
||||||
.inline-reply-button {
|
|
||||||
margin-left: 4px;
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
border: 1px solid #${config.lib.stylix.colors.base09};
|
|
||||||
border-radius: 5px;
|
|
||||||
color: #${config.lib.stylix.colors.base05}
|
|
||||||
}
|
|
||||||
.inline-reply-button:disabled {
|
|
||||||
background: initial;
|
|
||||||
color: #${config.lib.stylix.colors.base03};
|
|
||||||
border: 1px solid transparent
|
|
||||||
}
|
|
||||||
.inline-reply-button:hover {
|
|
||||||
background: #${config.lib.stylix.colors.base00}
|
|
||||||
}
|
|
||||||
.body-image {
|
|
||||||
margin-top: 6px;
|
|
||||||
background-color: #${config.lib.stylix.colors.base05};
|
|
||||||
border-radius: 5px
|
|
||||||
}
|
|
||||||
.summary {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 700;
|
|
||||||
background: transparent;
|
|
||||||
color: rgba(158, 206, 106, 1);
|
|
||||||
text-shadow: none
|
|
||||||
}
|
|
||||||
.time {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 700;
|
|
||||||
background: transparent;
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
text-shadow: none;
|
|
||||||
margin-right: 18px
|
|
||||||
}
|
|
||||||
.body {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 400;
|
|
||||||
background: transparent;
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
text-shadow: none
|
|
||||||
}
|
|
||||||
.control-center {
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
border: 2px solid #${config.lib.stylix.colors.base0C};
|
|
||||||
border-radius: 5px;
|
|
||||||
opacity: 0.85;
|
|
||||||
}
|
|
||||||
.control-center-list {
|
|
||||||
background: transparent
|
|
||||||
}
|
|
||||||
.control-center-list-placeholder {
|
|
||||||
opacity: .5
|
|
||||||
}
|
|
||||||
.floating-notifications {
|
|
||||||
background: transparent
|
|
||||||
}
|
|
||||||
.blank-window {
|
|
||||||
background: alpha(black, 0)
|
|
||||||
}
|
|
||||||
.widget-title {
|
|
||||||
color: #${config.lib.stylix.colors.base0B};
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
padding: 5px 10px;
|
|
||||||
margin: 10px 10px 5px 10px;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.widget-title>button {
|
|
||||||
font-size: 1rem;
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
text-shadow: none;
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
box-shadow: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.widget-title>button:hover {
|
|
||||||
background: #${config.lib.stylix.colors.base08};
|
|
||||||
color: #${config.lib.stylix.colors.base00};
|
|
||||||
}
|
|
||||||
.widget-dnd {
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
padding: 5px 10px;
|
|
||||||
margin: 10px 10px 5px 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: large;
|
|
||||||
color: #${config.lib.stylix.colors.base0B};
|
|
||||||
}
|
|
||||||
.widget-dnd>switch {
|
|
||||||
border-radius: 5px;
|
|
||||||
/* border: 1px solid #${config.lib.stylix.colors.base0B}; */
|
|
||||||
background: #${config.lib.stylix.colors.base0B};
|
|
||||||
}
|
|
||||||
.widget-dnd>switch:checked {
|
|
||||||
background: #${config.lib.stylix.colors.base08};
|
|
||||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
|
||||||
}
|
|
||||||
.widget-dnd>switch slider {
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
border-radius: 5px
|
|
||||||
}
|
|
||||||
.widget-dnd>switch:checked slider {
|
|
||||||
background: #${config.lib.stylix.colors.base00};
|
|
||||||
border-radius: 5px
|
|
||||||
}
|
|
||||||
.widget-label {
|
|
||||||
margin: 10px 10px 5px 10px;
|
|
||||||
}
|
|
||||||
.widget-label>label {
|
|
||||||
font-size: 1rem;
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
}
|
|
||||||
.widget-mpris {
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
padding: 5px 10px;
|
|
||||||
margin: 10px 10px 5px 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.widget-mpris > box > button {
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.widget-mpris-player {
|
|
||||||
padding: 5px 10px;
|
|
||||||
margin: 10px
|
|
||||||
}
|
|
||||||
.widget-mpris-title {
|
|
||||||
font-weight: 700;
|
|
||||||
font-size: 1.25rem
|
|
||||||
}
|
|
||||||
.widget-mpris-subtitle {
|
|
||||||
font-size: 1.1rem
|
|
||||||
}
|
|
||||||
.widget-menubar>box>.menu-button-bar>button {
|
|
||||||
border: none;
|
|
||||||
background: transparent
|
|
||||||
}
|
|
||||||
.topbar-buttons>button {
|
|
||||||
border: none;
|
|
||||||
background: transparent
|
|
||||||
}
|
|
||||||
.widget-volume {
|
|
||||||
background: #${config.lib.stylix.colors.base01};
|
|
||||||
padding: 5px;
|
|
||||||
margin: 10px 10px 5px 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: x-large;
|
|
||||||
color: #${config.lib.stylix.colors.base05};
|
|
||||||
}
|
|
||||||
.widget-volume>box>button {
|
|
||||||
background: #${config.lib.stylix.colors.base0B};
|
|
||||||
border: none
|
|
||||||
}
|
|
||||||
.per-app-volume {
|
|
||||||
background-color: #${config.lib.stylix.colors.base00};
|
|
||||||
padding: 4px 8px 8px;
|
|
||||||
margin: 0 8px 8px;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.widget-backlight {
|
|
||||||
background: #${config.lib.stylix.colors.base01};
|
|
||||||
padding: 5px;
|
|
||||||
margin: 10px 10px 5px 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: x-large;
|
|
||||||
color: #${config.lib.stylix.colors.base05}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,424 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.liminalOS.desktop.waybar;
|
|
||||||
theme = config.lib.stylix;
|
|
||||||
palette = theme.colors;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.liminalOS.desktop.waybar = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = config.liminalOS.desktop.enable;
|
|
||||||
description = ''
|
|
||||||
Whether to enable Waybar and the liminalOS rice.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [ playerctl ];
|
|
||||||
programs.waybar =
|
|
||||||
let
|
|
||||||
isDesktop = osConfig.liminalOS.formFactor == "desktop";
|
|
||||||
isLaptop = osConfig.liminalOS.formFactor == "laptop";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
systemd.target = lib.mkIf config.liminalOS.desktop.hyprland.enable "hyprland-session.target";
|
|
||||||
settings.mainBar = {
|
|
||||||
name = "bar0";
|
|
||||||
reload_style_on_change = true;
|
|
||||||
position = "top";
|
|
||||||
layer = "top";
|
|
||||||
height = 37;
|
|
||||||
margin-top = 0;
|
|
||||||
margin-bottom = 0;
|
|
||||||
margin-left = 0;
|
|
||||||
margin-right = 0;
|
|
||||||
modules-left =
|
|
||||||
[
|
|
||||||
"custom/launcher"
|
|
||||||
]
|
|
||||||
++ (lib.optionals isDesktop [
|
|
||||||
|
|
||||||
"custom/playerctl#backward"
|
|
||||||
"custom/playerctl#play"
|
|
||||||
"custom/playerctl#foward"
|
|
||||||
])
|
|
||||||
++ [
|
|
||||||
"custom/playerlabel"
|
|
||||||
]
|
|
||||||
++ (lib.optionals isLaptop [
|
|
||||||
"hyprland/workspaces"
|
|
||||||
]);
|
|
||||||
modules-center = lib.mkIf isDesktop [
|
|
||||||
"cava#left"
|
|
||||||
"hyprland/workspaces"
|
|
||||||
"cava#right"
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"tray"
|
|
||||||
"battery"
|
|
||||||
"pulseaudio"
|
|
||||||
"network"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
clock = {
|
|
||||||
format = " {:%a, %D, %T}";
|
|
||||||
tooltip = "true";
|
|
||||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
||||||
format-alt = " {:%d/%m}";
|
|
||||||
};
|
|
||||||
"hyprland/workspaces" = {
|
|
||||||
disable-scroll = false;
|
|
||||||
on-scroll-down = "${pkgs.hyprnome}/bin/hyprnome";
|
|
||||||
on-scroll-up = "${pkgs.hyprnome}/bin/hyprnome --previous";
|
|
||||||
format = "{icon}";
|
|
||||||
on-click = "activate";
|
|
||||||
format-icons = {
|
|
||||||
active = "";
|
|
||||||
default = "";
|
|
||||||
urgent = "";
|
|
||||||
special = "";
|
|
||||||
};
|
|
||||||
sort-by-number = true;
|
|
||||||
};
|
|
||||||
"cava#left" = {
|
|
||||||
framerate = 60;
|
|
||||||
autosens = 1;
|
|
||||||
bars = 18;
|
|
||||||
lower_cutoff_freq = 50;
|
|
||||||
higher_cutoff_freq = 10000;
|
|
||||||
method = "pipewire";
|
|
||||||
source = "auto";
|
|
||||||
stereo = true;
|
|
||||||
reverse = false;
|
|
||||||
bar_delimiter = 0;
|
|
||||||
monstercat = false;
|
|
||||||
waves = false;
|
|
||||||
input_delay = 2;
|
|
||||||
format-icons = [
|
|
||||||
"<span foreground='#${palette.base08}'>▁</span>"
|
|
||||||
"<span foreground='#${palette.base08}'>▂</span>"
|
|
||||||
"<span foreground='#${palette.base08}'>▃</span>"
|
|
||||||
"<span foreground='#${palette.base08}'>▄</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>▅</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>▆</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>▇</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>█</span>"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"cava#right" = {
|
|
||||||
framerate = 60;
|
|
||||||
autosens = 1;
|
|
||||||
bars = 18;
|
|
||||||
lower_cutoff_freq = 50;
|
|
||||||
higher_cutoff_freq = 10000;
|
|
||||||
method = "pipewire";
|
|
||||||
source = "auto";
|
|
||||||
stereo = true;
|
|
||||||
reverse = false;
|
|
||||||
bar_delimiter = 0;
|
|
||||||
monstercat = false;
|
|
||||||
waves = false;
|
|
||||||
input_delay = 2;
|
|
||||||
format-icons = [
|
|
||||||
"<span foreground='#${palette.base08}'>▁</span>"
|
|
||||||
"<span foreground='#${palette.base08}'>▂</span>"
|
|
||||||
"<span foreground='#${palette.base08}'>▃</span>"
|
|
||||||
"<span foreground='#${palette.base08}'>▄</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>▅</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>▆</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>▇</span>"
|
|
||||||
"<span foreground='#${palette.base0A}'>█</span>"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"custom/playerctl#backward" = {
|
|
||||||
format = " ";
|
|
||||||
on-click = "playerctl previous";
|
|
||||||
on-scroll-up = "playerctl volume .05+";
|
|
||||||
on-scroll-down = "playerctl volume .05-";
|
|
||||||
};
|
|
||||||
"custom/playerctl#play" = {
|
|
||||||
format = "{icon}";
|
|
||||||
return-type = "json";
|
|
||||||
exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F";
|
|
||||||
on-click = "playerctl play-pause";
|
|
||||||
on-scroll-up = "playerctl volume .05+";
|
|
||||||
on-scroll-down = "playerctl volume .05-";
|
|
||||||
format-icons = {
|
|
||||||
Playing = "<span> </span>";
|
|
||||||
Paused = "<span> </span>";
|
|
||||||
Stopped = "<span> </span>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"custom/playerctl#foward" = {
|
|
||||||
format = " ";
|
|
||||||
on-click = "playerctl next";
|
|
||||||
on-scroll-up = "playerctl volume .05+";
|
|
||||||
on-scroll-down = "playerctl volume .05-";
|
|
||||||
};
|
|
||||||
"custom/playerlabel" = {
|
|
||||||
format = "<span> {} </span>";
|
|
||||||
return-type = "json";
|
|
||||||
max-length = 40;
|
|
||||||
exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F";
|
|
||||||
on-click = "";
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
states = {
|
|
||||||
good = 95;
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{icon} {capacity}%";
|
|
||||||
format-charging = " {capacity}%";
|
|
||||||
format-plugged = " {capacity}% ";
|
|
||||||
format-alt = "{icon} {time}";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
memory = {
|
|
||||||
format = " {}%";
|
|
||||||
format-alt = " {used}/{total} GiB";
|
|
||||||
interval = 5;
|
|
||||||
};
|
|
||||||
cpu = {
|
|
||||||
format = " {usage}%";
|
|
||||||
format-alt = " {avg_frequency} GHz";
|
|
||||||
interval = 5;
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
format-wifi = " {signalStrength}%";
|
|
||||||
format-ethernet = " 100% ";
|
|
||||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
|
||||||
format-linked = "{ifname} (No IP)";
|
|
||||||
format-disconnected = " 0% ";
|
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
icon-size = 20;
|
|
||||||
spacing = 8;
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
format = "{icon} {volume}%";
|
|
||||||
format-muted = "";
|
|
||||||
format-icons = {
|
|
||||||
default = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
scroll-step = 5;
|
|
||||||
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
|
|
||||||
};
|
|
||||||
"custom/launcher" =
|
|
||||||
let
|
|
||||||
toggle-colorscheme = pkgs.writeShellScriptBin "toggle-colorscheme.sh" ''
|
|
||||||
POLARITY_FILE="/etc/polarity"
|
|
||||||
|
|
||||||
if [[ ! -f "$POLARITY_FILE" ]]; then
|
|
||||||
exit 0
|
|
||||||
elif [[ ! -r "$POLARITY_FILE" ]]; then
|
|
||||||
echo "Error: Cannot read $POLARITY_FILE. Check permissions." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
current_scheme=$(cat "$POLARITY_FILE")
|
|
||||||
if [[ $? -ne 0 ]]; then
|
|
||||||
echo "Error: Failed to read content from $POLARITY_FILE." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
current_scheme=$(echo "$current_scheme" | xargs)
|
|
||||||
|
|
||||||
target_service=""
|
|
||||||
case "$current_scheme" in
|
|
||||||
dawn)
|
|
||||||
target_service="colorscheme-dusk.service"
|
|
||||||
;;
|
|
||||||
dusk)
|
|
||||||
target_service="colorscheme-dawn.service"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Error: Invalid content '$current_scheme' found in $POLARITY_FILE. Expected 'dawn' or 'dusk'." >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "Current scheme: '$current_scheme'. Attempting to start '$target_service'..."
|
|
||||||
systemctl start "$target_service"
|
|
||||||
|
|
||||||
if [[ $? -ne 0 ]]; then
|
|
||||||
echo "Error: Failed to execute 'systemctl start $target_service'. Check systemctl logs or permissions." >&2
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "Command 'systemctl start $target_service' executed successfully."
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
format = "";
|
|
||||||
on-click = "pkill -9 rofi || rofi -show drun";
|
|
||||||
on-click-right = "${toggle-colorscheme}/bin/toggle-colorscheme.sh";
|
|
||||||
tooltip = "false";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style =
|
|
||||||
''
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0px;
|
|
||||||
font-family: GeistMono Nerd Font;
|
|
||||||
font-size: 13px;
|
|
||||||
min-height: 0;
|
|
||||||
}
|
|
||||||
window#waybar {
|
|
||||||
background: #${palette.base01};
|
|
||||||
}
|
|
||||||
|
|
||||||
#cava.left, #cava.right {
|
|
||||||
background: #${palette.base00};
|
|
||||||
margin: 4px;
|
|
||||||
padding: 6px 16px;
|
|
||||||
color: #${palette.base00};
|
|
||||||
}
|
|
||||||
#cava.left {
|
|
||||||
border-radius: 24px 10px 24px 10px;
|
|
||||||
}
|
|
||||||
#cava.right {
|
|
||||||
border-radius: 10px 24px 10px 24px;
|
|
||||||
}
|
|
||||||
#workspaces {
|
|
||||||
background: #${palette.base00};
|
|
||||||
color: #${palette.base00}
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
padding: 0px 5px;
|
|
||||||
margin: 0px 3px;
|
|
||||||
border-radius: 16px;
|
|
||||||
color: transparent;
|
|
||||||
background: #${palette.base01};
|
|
||||||
transition: all 0.3s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
background-color: #${palette.base0A};
|
|
||||||
color: #${palette.base01};
|
|
||||||
border-radius: 16px;
|
|
||||||
min-width: 50px;
|
|
||||||
background-size: 400% 400%;
|
|
||||||
transition: all 0.3s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
background-color: #${palette.base05};
|
|
||||||
color: #${palette.base01};
|
|
||||||
border-radius: 16px;
|
|
||||||
min-width: 50px;
|
|
||||||
background-size: 400% 400%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray, #pulseaudio, #network, #battery,
|
|
||||||
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward{
|
|
||||||
background: #${palette.base00};
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 4px 0px;
|
|
||||||
}
|
|
||||||
#tray, #pulseaudio, #network, #battery{
|
|
||||||
color: #${palette.base05};
|
|
||||||
border-radius: 10px 24px 10px 24px;
|
|
||||||
padding: 0 20px;
|
|
||||||
margin-left: 7px;
|
|
||||||
}
|
|
||||||
#clock {
|
|
||||||
color: #${palette.base05};
|
|
||||||
background: #${palette.base00};
|
|
||||||
border-radius: 0px 0px 0px 40px;
|
|
||||||
padding: 8px 10px 8px 25px;
|
|
||||||
margin-left: 7px;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
#custom-launcher {
|
|
||||||
color: #${palette.base0A};
|
|
||||||
background: #${palette.base00};
|
|
||||||
border-radius: 0px 0px 40px 0px;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px 35px 0px 15px;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward {
|
|
||||||
background: #${palette.base00};
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
#custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.foward:hover{
|
|
||||||
color: #${palette.base05};
|
|
||||||
}
|
|
||||||
#custom-playerctl.backward {
|
|
||||||
color: #${palette.base08};
|
|
||||||
border-radius: 24px 0px 0px 10px;
|
|
||||||
padding-left: 16px;
|
|
||||||
margin-left: 7px;
|
|
||||||
}
|
|
||||||
#custom-playerctl.play {
|
|
||||||
color: #${palette.base0A};
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
#custom-playerctl.foward {
|
|
||||||
color: #${palette.base08};
|
|
||||||
border-radius: 0px 10px 24px 0px;
|
|
||||||
padding-right: 12px;
|
|
||||||
margin-right: 7px
|
|
||||||
}
|
|
||||||
#custom-playerlabel {
|
|
||||||
background: #${palette.base00};
|
|
||||||
color: #${palette.base05};
|
|
||||||
padding: 0 20px;
|
|
||||||
border-radius: 24px 10px 24px 10px;
|
|
||||||
margin: 4px 0;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
#window{
|
|
||||||
background: #${palette.base00};
|
|
||||||
padding-left: 15px;
|
|
||||||
padding-right: 15px;
|
|
||||||
border-radius: 16px;
|
|
||||||
margin-top: 4px;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
''
|
|
||||||
+ (lib.optionalString isLaptop ''
|
|
||||||
#workspaces {
|
|
||||||
margin: 4px;
|
|
||||||
padding: 6px 16px;
|
|
||||||
border-radius: 24px 10px 24px 10px;
|
|
||||||
}
|
|
||||||
'')
|
|
||||||
+ (lib.optionalString isDesktop ''
|
|
||||||
#workspaces {
|
|
||||||
margin: 4px 5px;
|
|
||||||
padding: 6px 5px;
|
|
||||||
border-radius: 16px;
|
|
||||||
}
|
|
||||||
'');
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -22,25 +22,6 @@
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# here is some command line tools I use frequently
|
# here is some command line tools I use frequently
|
||||||
# feel free to add your own or remove some of them
|
# feel free to add your own or remove some of them
|
||||||
#gfortran1
|
|
||||||
gqrx
|
|
||||||
urh
|
|
||||||
rtl_433
|
|
||||||
rng-tools
|
|
||||||
nheko
|
|
||||||
openvpn
|
|
||||||
tor-browser
|
|
||||||
bambu-studio
|
|
||||||
gimp3
|
|
||||||
openssl
|
|
||||||
cmake
|
|
||||||
obs-studio
|
|
||||||
python312Packages.pip
|
|
||||||
pipx
|
|
||||||
rpcs3
|
|
||||||
dolphin-emu
|
|
||||||
affine-bin
|
|
||||||
elmPackages.elm
|
|
||||||
kicad
|
kicad
|
||||||
android-tools
|
android-tools
|
||||||
wacomtablet
|
wacomtablet
|
||||||
|
@ -52,6 +33,7 @@
|
||||||
arduino-language-server
|
arduino-language-server
|
||||||
geoclue2
|
geoclue2
|
||||||
lua
|
lua
|
||||||
|
tetrio-desktop
|
||||||
prismlauncher
|
prismlauncher
|
||||||
asciiquarium-transparent
|
asciiquarium-transparent
|
||||||
fortune
|
fortune
|
||||||
|
@ -98,6 +80,7 @@
|
||||||
sl
|
sl
|
||||||
piper
|
piper
|
||||||
nwg-displays
|
nwg-displays
|
||||||
|
dolphin
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
tailwindcss
|
tailwindcss
|
||||||
|
|
||||||
|
@ -162,7 +145,7 @@
|
||||||
# productivity
|
# productivity
|
||||||
glow # markdown previewer in terminal
|
glow # markdown previewer in terminal
|
||||||
obsidian # markdown previewer
|
obsidian # markdown previewer
|
||||||
#thunderbird-unwrapped # Full Feature Email Client
|
thunderbird-unwrapped # Full Feature Email Client
|
||||||
|
|
||||||
#sway Modules
|
#sway Modules
|
||||||
swaybg
|
swaybg
|
||||||
|
@ -183,6 +166,7 @@
|
||||||
texlivePackages.csquotes
|
texlivePackages.csquotes
|
||||||
texlivePackages.csquotes-de
|
texlivePackages.csquotes-de
|
||||||
texlivePackages.collection-latexextra
|
texlivePackages.collection-latexextra
|
||||||
|
texpresso
|
||||||
|
|
||||||
btop # replacement of htop/nmon
|
btop # replacement of htop/nmon
|
||||||
iotop # io monitoring
|
iotop # io monitoring
|
||||||
|
@ -208,6 +192,7 @@
|
||||||
git-credential-oauth
|
git-credential-oauth
|
||||||
|
|
||||||
# messaging apps
|
# messaging apps
|
||||||
|
vesktop
|
||||||
signal-desktop
|
signal-desktop
|
||||||
gh
|
gh
|
||||||
|
|
||||||
|
@ -215,7 +200,7 @@
|
||||||
netcat
|
netcat
|
||||||
nmap
|
nmap
|
||||||
metasploit
|
metasploit
|
||||||
#john
|
john
|
||||||
lynis
|
lynis
|
||||||
hydra-cli
|
hydra-cli
|
||||||
#ghidra
|
#ghidra
|
||||||
|
@ -230,12 +215,24 @@
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.vesktop.enable = true;
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
cycle = true;
|
||||||
|
location = "center";
|
||||||
|
package = pkgs.rofi-wayland;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.dunst.enable = true;
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "KaitoTLex";
|
userName = "KaitoTLex";
|
||||||
userEmail = "renl@kaitotlex.systems";
|
userEmail = "wlin@kaitotlex.systems";
|
||||||
|
signing = {
|
||||||
|
signByDefault = true;
|
||||||
|
key = "2AE6771F14386F9B85E48685A9209668BFA39C0E";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.neovim.defaultEditor = true;
|
programs.neovim.defaultEditor = true;
|
||||||
|
@ -247,38 +244,7 @@
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
programs.iamb = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default;
|
|
||||||
settings = {
|
|
||||||
profiles."matrix.org".user_id = "@kaitotlex:matrix.org";
|
|
||||||
settings = {
|
|
||||||
image_preview = { };
|
|
||||||
notifications = {
|
|
||||||
enabled = true;
|
|
||||||
show_message = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# programs.iamb = {
|
|
||||||
# enable = true;
|
|
||||||
# packages = inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default;
|
|
||||||
# settings = {
|
|
||||||
# profiles."matrix.org" = {
|
|
||||||
# user_id = "@kaitotlex:matrix.org";
|
|
||||||
# style = "restore";
|
|
||||||
# };
|
|
||||||
# settings = {
|
|
||||||
# image_preview = { };
|
|
||||||
# image_preview.protocol.type = "kitty";
|
|
||||||
# notifications = {
|
|
||||||
# enabled = true;
|
|
||||||
# show_message = true;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -299,10 +265,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# programs.firefox = {
|
programs.firefox = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# package = pkgs.firefox-devedition;
|
package = pkgs.firefox-devedition;
|
||||||
# };
|
};
|
||||||
programs.ripgrep.enable = true;
|
programs.ripgrep.enable = true;
|
||||||
|
|
||||||
programs.oh-my-posh = {
|
programs.oh-my-posh = {
|
||||||
|
|
|
@ -3,9 +3,7 @@
|
||||||
waybar.enable = false;
|
waybar.enable = false;
|
||||||
kitty.variant256Colors = true;
|
kitty.variant256Colors = true;
|
||||||
neovim.enable = false;
|
neovim.enable = false;
|
||||||
hyprland.enable = false;
|
sway.enable = true;
|
||||||
hyprlock.enable = false;
|
swaylock.enable = true;
|
||||||
rofi.enable = false;
|
|
||||||
swaync.enable = false;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue