mirror of
https://github.com/gburd/nix-config.git
synced 2024-10-03 12:16:57 +00:00
wimpy-ified
inspired by wimpysworld nix-config
This commit is contained in:
parent
a81c09b737
commit
86706b1fc7
221 changed files with 4788 additions and 1003 deletions
7
.github/dependabot.yml
vendored
Normal file
7
.github/dependabot.yml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
# Check for updates to GitHub Actions every week
|
||||||
|
interval: "weekly"
|
80
.github/workflows/build-iso.yml
vendored
Normal file
80
.github/workflows/build-iso.yml
vendored
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
name: Build 🏗️ and Publish 📀
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags: ['*']
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-release:
|
||||||
|
name: Create Release
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Create release ${{ github.ref }} as a draft
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
gh release create "${{ github.ref }}" --draft --generate-notes
|
||||||
|
|
||||||
|
build-console-iso:
|
||||||
|
needs: [create-release]
|
||||||
|
name: Console ISO
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: DeterminateSystems/nix-installer-action@v4
|
||||||
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
||||||
|
- name: Build Console ISO
|
||||||
|
run: |
|
||||||
|
nix build .#nixosConfigurations.iso-console.config.system.build.isoImage
|
||||||
|
mkdir iso || true
|
||||||
|
ISO=$(head -n1 result/nix-support/hydra-build-products | cut -d'/' -f6)
|
||||||
|
sudo mv "result/iso/${ISO}" iso/console-${ISO}
|
||||||
|
sha256sum "iso/console-${ISO}" > "iso/console-${ISO}.sha256"
|
||||||
|
sed -i -r "s/ .*\/(.+)/ \1/g" "iso/console-${ISO}.sha256"
|
||||||
|
- name: Upload Console ISO
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
for artefact in "iso/"*; do
|
||||||
|
gh release upload "${{ github.ref }}" "${artefact}" --clobber
|
||||||
|
done
|
||||||
|
|
||||||
|
build-desktop-iso:
|
||||||
|
needs: [create-release]
|
||||||
|
name: Desktop ISO
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: DeterminateSystems/nix-installer-action@v4
|
||||||
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
||||||
|
- name: Build Desktop ISO
|
||||||
|
run: |
|
||||||
|
nix build .#nixosConfigurations.iso-desktop.config.system.build.isoImage
|
||||||
|
mkdir iso || true
|
||||||
|
ISO=$(head -n1 result/nix-support/hydra-build-products | cut -d'/' -f6)
|
||||||
|
sudo mv "result/iso/${ISO}" iso/desktop-${ISO}
|
||||||
|
sha256sum "iso/desktop-${ISO}" > "iso/desktop-${ISO}.sha256"
|
||||||
|
sed -i -r "s/ .*\/(.+)/ \1/g" "iso/desktop-${ISO}.sha256"
|
||||||
|
- name: Upload Desktop ISO
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
for artefact in "iso/"*; do
|
||||||
|
gh release upload "${{ github.ref }}" "${artefact}" --clobber
|
||||||
|
done
|
||||||
|
|
||||||
|
publish-release:
|
||||||
|
name: Publish Release
|
||||||
|
needs: [build-console-iso, build-desktop-iso]
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Publish release ${{ github.ref }}
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
if [ "$(gh release view "${{ github.ref }}" --json assets --template '{{len .assets}}')" -lt 0 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
gh release edit "${{ github.ref }}" --draft=false
|
16
.github/workflows/deadnix.yml
vendored
Normal file
16
.github/workflows/deadnix.yml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
name: Dead 😵 Nix ❄️ Analysis 🔍️
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deadnix:
|
||||||
|
name: Dead Nix Analysis
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: DeterminateSystems/nix-installer-action@v4
|
||||||
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
||||||
|
- uses: astro/deadnix-action@v1
|
22
.github/workflows/flake-checker.yml
vendored
Normal file
22
.github/workflows/flake-checker.yml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
name: Flake ❄️ Checker ✅
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
schedule:
|
||||||
|
# l33t o'clock
|
||||||
|
- cron: '37 13 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
flake-checker:
|
||||||
|
name: Flake Checker
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: DeterminateSystems/nix-installer-action@v4
|
||||||
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
||||||
|
- uses: DeterminateSystems/flake-checker-action@v5
|
25
.github/workflows/lock-updater.yml
vendored
Normal file
25
.github/workflows/lock-updater.yml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
name: Flake ❄️ Lock 🔒️ Updater ✨
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# Pi o'clock
|
||||||
|
- cron: '3 14 * * 1,5'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lock-updater:
|
||||||
|
name: Flake Lock Updater
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: DeterminateSystems/nix-installer-action@v4
|
||||||
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
||||||
|
- uses: DeterminateSystems/update-flake-lock@v20
|
||||||
|
with:
|
||||||
|
pr-title: "chore: update flake.lock"
|
||||||
|
# Labels to be set on the PR
|
||||||
|
pr-labels: |
|
||||||
|
dependencies
|
||||||
|
automated
|
38
NOTES
38
NOTES
|
@ -21,6 +21,9 @@
|
||||||
* swap (see: https://discourse.nixos.org/t/how-do-i-set-up-a-swap-file/8323/7)
|
* swap (see: https://discourse.nixos.org/t/how-do-i-set-up-a-swap-file/8323/7)
|
||||||
* udevadm trigger
|
* udevadm trigger
|
||||||
|
|
||||||
|
nh os switch --ask
|
||||||
|
|
||||||
|
|
||||||
INSTALL:
|
INSTALL:
|
||||||
export device=/dev/nvme0n1
|
export device=/dev/nvme0n1
|
||||||
export hostname=floki
|
export hostname=floki
|
||||||
|
@ -93,25 +96,24 @@ clear; sudo nixos-rebuild dry-activate --flake .#${hostname}
|
||||||
|
|
||||||
https://mt-caret.github.io/blog/posts/2020-06-29-optin-state.html
|
https://mt-caret.github.io/blog/posts/2020-06-29-optin-state.html
|
||||||
https://hoverbear.org/blog/declarative-gnome-configuration-in-nixos/
|
https://hoverbear.org/blog/declarative-gnome-configuration-in-nixos/
|
||||||
|
https://github.com/wimpysworld/nix-config
|
||||||
|
https://github.com/Misterio77/nix-config
|
||||||
|
https://github.com/Misterio77/nix-starter-configs
|
||||||
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
TODO:
|
||||||
|
|
||||||
|
* agenix: alternative to sops/age for secrets
|
||||||
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
* "yet-another-nix-helper" https://github.com/viperML/nh
|
||||||
|
* declarative disk partitioning/formatting
|
||||||
|
https://github.com/nix-community/disko
|
||||||
|
* https://aria2.github.io/
|
||||||
|
* https://github.com/schollz/croc
|
||||||
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
EXAMPLE COMMANDS:
|
||||||
|
|
||||||
|
* nh os switch --ask
|
||||||
building the system configuration...
|
* clear; sudo nixos-rebuild dry-activate --flake .#floki
|
||||||
warning: Git tree '/home/gburd/ws/nix-config' is dirty
|
|
||||||
trace: warning: optionsDocBook is deprecated since 23.11 and will be removed in 24.05
|
|
||||||
trace: warning: optionsDocBook is deprecated since 23.11 and will be removed in 24.05
|
|
||||||
trace: warning: optionsDocBook is deprecated since 23.11 and will be removed in 24.05
|
|
||||||
would stop the following units: ModemManager.service, NetworkManager-wait-online.service, NetworkManager.service, accounts-daemon.service, alsa-store.service, audit.service, avahi-daemon.service, avahi-daemon.socket, bluetooth.service, bolt.service, colord.service, cpufreq.service, kmod-static-nodes.service, logrotate-checkconf.service, mount-pstore.service, network-local-commands.service, network-setup.service, nscd.service, power-profiles-daemon.service, resolvconf.service, rtkit-daemon.service, systemd-machined.service, systemd-modules-load.service, systemd-oomd.service, systemd-oomd.socket, systemd-sysctl.service, systemd-timesyncd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd.service, systemd-update-done.service, udisks2.service, upower.service, wpa_supplicant.service
|
|
||||||
would NOT stop the following changed units: display-manager.service, getty@tty1.service, systemd-backlight@backlight:intel_backlight.service, systemd-backlight@leds:tpacpi::kbd_backlight.service, systemd-fsck@dev-disk-by\x2duuid-3D04\x2d3716.service, systemd-journal-flush.service, systemd-logind.service, systemd-random-seed.service, systemd-remount-fs.service, systemd-update-utmp.service, systemd-user-sessions.service, user-runtime-dir@1000.service, user@1000.service
|
|
||||||
would activate the configuration...
|
|
||||||
sops-install-secrets: Imported /persist/etc/ssh/ssh_host_ed25519_key as age key with fingerprint age1z2x0g05q2erpux006vwhul70d8akj9avrj67s9p27fm4ce32ly8qt8nllz
|
|
||||||
warning: password file ‘/run/secrets-for-users/gburd-password’ does not exist
|
|
||||||
would restart systemd
|
|
||||||
would reload the following units: dbus.service, firewall.service, persist.mount, reload-systemd-vconsole-setup.service
|
|
||||||
would restart the following units: nix-daemon.service, polkit.service, sshd.service, systemd-journald.service
|
|
||||||
would start the following units: ModemManager.service, NetworkManager-wait-online.service, NetworkManager.service, accounts-daemon.service, audit.service, avahi-daemon.socket, bluetooth.service, bolt.service, colord.service, cpufreq.service, kmod-static-nodes.service, logrotate-checkconf.service, mount-pstore.service, network-local-commands.service, network-setup.service, nscd.service, power-profiles-daemon.service, resolvconf.service, rtkit-daemon.service, systemd-machined.service, systemd-modules-load.service, systemd-oomd.socket, systemd-sysctl.service, systemd-timesyncd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-update-done.service, udisks2.service, upower.service, wpa_supplicant.service
|
|
||||||
|
|
||||||
[nix-shell:~/ws/nix-config]$ clear; sudo nixos-rebuild dry-activate --flake .#floki
|
|
||||||
|
|
301
flake.lock
301
flake.lock
|
@ -1,90 +1,22 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"base16-schemes": {
|
"disko": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1680729003,
|
|
||||||
"narHash": "sha256-M9LHTL24/W4oqgbYRkz0B2qpNrkefTs98pfj3MxIXnU=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-schemes",
|
|
||||||
"rev": "dc048afa066287a719ddbab62b3e19e4b5110cf0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-schemes",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"blobs": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1604995301,
|
|
||||||
"narHash": "sha256-wcLzgLec6SGJA8fx1OEN1yV/Py5b+U5iyYpksUY/yLw=",
|
|
||||||
"owner": "simple-nixos-mailserver",
|
|
||||||
"repo": "blobs",
|
|
||||||
"rev": "2cccdf1ca48316f2cfd1c9a0017e8de5a7156265",
|
|
||||||
"type": "gitlab"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "simple-nixos-mailserver",
|
|
||||||
"repo": "blobs",
|
|
||||||
"type": "gitlab"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"composer2nix-src": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1646178110,
|
|
||||||
"narHash": "sha256-P3acfGwHYjjZQcviPiOT7T7qzzP/drc2mibzrsrNP18=",
|
|
||||||
"owner": "svanderburg",
|
|
||||||
"repo": "composer2nix",
|
|
||||||
"rev": "299caca4aac42d7639a42eb4dde951c010f6e91c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "svanderburg",
|
|
||||||
"ref": "v0.0.6",
|
|
||||||
"repo": "composer2nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"firefly": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"composer2nix-src": "composer2nix-src",
|
|
||||||
"firefly-iii-src": "firefly-iii-src",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689496855,
|
"lastModified": 1695632260,
|
||||||
"narHash": "sha256-eLgJaeURjdKuBjyhS97texllfmtjCOhtPo1IOPvRCzI=",
|
"narHash": "sha256-B8nW57UouYtiWMJKX5leByifMj+lYk7IyV5uz0c/ZwA=",
|
||||||
"owner": "timhae",
|
"owner": "nix-community",
|
||||||
"repo": "firefly",
|
"repo": "disko",
|
||||||
"rev": "73aba7e1e9bd61bef0f8f54294beb3528e436806",
|
"rev": "a14a3fb0a8e465fcd728e398d00204a195be06a3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "timhae",
|
"owner": "nix-community",
|
||||||
"repo": "firefly",
|
"repo": "disko",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"firefly-iii-src": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681548383,
|
|
||||||
"narHash": "sha256-ymWotU5wM6nQhsfnyAt+unewJ5D0tJpNK+UedSyfITU=",
|
|
||||||
"owner": "firefly-iii",
|
|
||||||
"repo": "firefly-iii",
|
|
||||||
"rev": "f878af0d3bbfe7b1a51bef758d4e2e9a66118316",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "firefly-iii",
|
|
||||||
"ref": "v6.0.8",
|
|
||||||
"repo": "firefly-iii",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -111,22 +43,6 @@
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1668681692,
|
|
||||||
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
@ -160,18 +76,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hardware": {
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694710316,
|
"lastModified": 1681202837,
|
||||||
"narHash": "sha256-uRh46iIC86D8BD1wCDA5gRrt+hslUXiD0kx/UjnjBcs=",
|
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||||
"owner": "nixos",
|
"owner": "numtide",
|
||||||
"repo": "nixos-hardware",
|
"repo": "flake-utils",
|
||||||
"rev": "570256327eb6ca6f7bebe8d93af49459092a0c43",
|
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "numtide",
|
||||||
"repo": "nixos-hardware",
|
"repo": "flake-utils",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -182,15 +101,16 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695191928,
|
"lastModified": 1695108154,
|
||||||
"narHash": "sha256-yXUtJZQweg6v9G5fXStqkVNwxT4Xf+cux37yBVpaYCY=",
|
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "0ed5f9786bba801c59fb53eef497438040acd471",
|
"rev": "07682fff75d41f18327a871088d20af2710d4744",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-23.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -232,25 +152,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-colors": {
|
|
||||||
"inputs": {
|
|
||||||
"base16-schemes": "base16-schemes",
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1682108218,
|
|
||||||
"narHash": "sha256-tMr7BbxualFQlN+XopS8rMMgf2XR9ZfRuwIZtjsWmfI=",
|
|
||||||
"owner": "misterio77",
|
|
||||||
"repo": "nix-colors",
|
|
||||||
"rev": "b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "misterio77",
|
|
||||||
"repo": "nix-colors",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-filter": {
|
"nix-filter": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1687178632,
|
"lastModified": 1687178632,
|
||||||
|
@ -266,47 +167,56 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-mailserver": {
|
"nix-formatter-pack": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"blobs": "blobs",
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nixpkgs-22_11": [
|
"nmd": "nmd",
|
||||||
"nixpkgs"
|
"nmt": "nmt"
|
||||||
],
|
|
||||||
"nixpkgs-23_05": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"utils": "utils"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689976554,
|
"lastModified": 1694984852,
|
||||||
"narHash": "sha256-uWJq3sIhkqfzPmfB2RWd5XFVooGFfSuJH9ER/r302xQ=",
|
"narHash": "sha256-A1x55uLb2LT9evsTWYc1U9+iki1AmE5ROxOuCKPf3JE=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "Gerschtli",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nix-formatter-pack",
|
||||||
"rev": "c63f6e7b053c18325194ff0e274dba44e8d2271e",
|
"rev": "23795a4daf29ce784b3edc13b9776c7b445c453b",
|
||||||
"type": "gitlab"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "Gerschtli",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nix-formatter-pack",
|
||||||
"type": "gitlab"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694959747,
|
"lastModified": 1695541019,
|
||||||
"narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=",
|
"narHash": "sha256-rs++zfk41K9ArWkDAlmBDlGlKO8qeRIRzdjo+9SmNFI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixos-hardware",
|
||||||
"rev": "970a59bd19eff3752ce552935687100c46e820a5",
|
"rev": "61283b30d11f27d5b76439d43f20d0c0c8ff5296",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "master",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695559356,
|
||||||
|
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-23.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -329,33 +239,67 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680397293,
|
"lastModified": 1695360818,
|
||||||
"narHash": "sha256-wBpJ73+tJ8fZSWb4tzNbAVahC4HSo2QG3nICDy4ExBQ=",
|
"narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
|
||||||
"owner": "nix-community",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs",
|
||||||
"rev": "b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a",
|
"rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs.lib",
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nmd": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1666190571,
|
||||||
|
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nmd",
|
||||||
|
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nmd",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nmt": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1648075362,
|
||||||
|
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nmt",
|
||||||
|
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nmt",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"firefly": "firefly",
|
"disko": "disko",
|
||||||
"firefox-addons": "firefox-addons",
|
"firefox-addons": "firefox-addons",
|
||||||
"hardware": "hardware",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"nh": "nh",
|
"nh": "nh",
|
||||||
"nix-colors": "nix-colors",
|
"nix-formatter-pack": "nix-formatter-pack",
|
||||||
"nixos-mailserver": "nixos-mailserver",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"sops-nix": "sops-nix"
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"sops-nix": "sops-nix",
|
||||||
|
"vscode-server": "vscode-server"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
|
@ -381,18 +325,39 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1605370193,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "numtide",
|
"owner": "nix-systems",
|
||||||
"repo": "flake-utils",
|
"repo": "default",
|
||||||
"rev": "5021eac20303a61fafe17224c087f5519baed54d",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "nix-systems",
|
||||||
"repo": "flake-utils",
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vscode-server": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1684517665,
|
||||||
|
"narHash": "sha256-SaAr66uCQ8CF75jIr23FZjk1+9Kfwm5sQnwV25206Gs=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixos-vscode-server",
|
||||||
|
"rev": "1e1358493df6529d4c7bc4cc3066f76fd16d4ae6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixos-vscode-server",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
197
flake.nix
197
flake.nix
|
@ -1,109 +1,120 @@
|
||||||
{
|
{
|
||||||
description = "My (Greg Burd's) NixOS configuration";
|
description = "Greg Burd's NixOS and Home Manager Configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
||||||
|
# You can access packages and modules from different nixpkgs revs at the
|
||||||
|
# same time. See 'unstable-packages' overlay in 'overlays/default.nix'.
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
disko.url = "github:nix-community/disko";
|
||||||
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
nixos-hardware.url = "github:nixos/nixos-hardware/master";
|
||||||
|
|
||||||
hardware.url = "github:nixos/nixos-hardware";
|
|
||||||
impermanence.url = "github:nix-community/impermanence";
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
nix-colors.url = "github:misterio77/nix-colors";
|
|
||||||
|
|
||||||
sops-nix = {
|
nix-formatter-pack.url = "github:Gerschtli/nix-formatter-pack";
|
||||||
url = "github:mic92/sops-nix";
|
nix-formatter-pack.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.nixpkgs-stable.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
home-manager = {
|
|
||||||
url = "github:nix-community/home-manager";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
nh = {
|
|
||||||
url = "github:viperml/nh";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
nixos-mailserver = {
|
|
||||||
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.nixpkgs-22_11.follows = "nixpkgs";
|
|
||||||
inputs.nixpkgs-23_05.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
firefly = {
|
|
||||||
url = "github:timhae/firefly";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
firefox-addons = {
|
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
vscode-server.url = "github:nix-community/nixos-vscode-server";
|
||||||
|
vscode-server.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
sops-nix.url = "github:mic92/sops-nix";
|
||||||
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
sops-nix.inputs.nixpkgs-stable.follows = "nixpkgs";
|
||||||
|
|
||||||
|
nh.url = "github:viperml/nh";
|
||||||
|
nh.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
|
firefox-addons.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
|
};
|
||||||
|
outputs =
|
||||||
|
{ self
|
||||||
|
, nixpkgs
|
||||||
|
, nix-formatter-pack
|
||||||
|
, ...
|
||||||
|
} @ inputs:
|
||||||
let
|
let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
lib = nixpkgs.lib // home-manager.lib;
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
systems = [ "x86_64-linux" "aarch64-linux" ];
|
stateVersion = "23.05";
|
||||||
forEachSystem = f: lib.genAttrs systems (sys: f pkgsFor.${sys});
|
libx = import ./lib { inherit inputs outputs stateVersion; };
|
||||||
pkgsFor = nixpkgs.legacyPackages;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit lib;
|
# home-manager switch -b backup --flake $HOME/ws/nix-config
|
||||||
|
# nix build .#homeConfigurations."gburd@floki".activationPackage
|
||||||
|
homeConfigurations = {
|
||||||
|
# .iso images
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
"gburd@iso-console" = libx.mkHome { hostname = "iso-console"; username = "nixos"; };
|
||||||
|
"gburd@iso-desktop" = libx.mkHome { hostname = "iso-desktop"; username = "nixos"; desktop = "pantheon"; };
|
||||||
|
|
||||||
|
# Workstations
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
"gburd@floki" = libx.mkHome { hostname = "floki"; username = "gburd"; desktop = "pantheon"; };
|
||||||
|
|
||||||
|
# Servers
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosConfigurations = {
|
||||||
|
# .iso images
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
# - nix build .#nixosConfigurations.{iso-console|iso-desktop}.config.system.build.isoImage
|
||||||
|
iso-console = libx.mkHost { hostname = "iso-console"; username = "nixos"; installer = nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"; };
|
||||||
|
iso-desktop = libx.mkHost { hostname = "iso-desktop"; username = "nixos"; installer = nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix"; desktop = "pantheon"; };
|
||||||
|
|
||||||
|
# Workstations
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Lenovo Carbon X1 Extreme Gen 5 - x86_64
|
||||||
|
floki = libx.mkHost { hostname = "floki"; username = "gburd"; desktop = "pantheon"; };
|
||||||
|
|
||||||
|
# Servers
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
};
|
||||||
|
|
||||||
|
# Custom packages and modifications, exported as overlays
|
||||||
|
overlays = import ./overlays { inherit inputs outputs; };
|
||||||
|
|
||||||
|
hydraJobs = import ./hydra.nix { inherit inputs outputs; };
|
||||||
|
|
||||||
|
# Devshell for bootstrapping; acessible via 'nix develop' or 'nix-shell' (legacy)
|
||||||
|
devShells = libx.forAllSystems (system:
|
||||||
|
let pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in import ./shell.nix { inherit pkgs; }
|
||||||
|
);
|
||||||
|
|
||||||
|
# nix fmt
|
||||||
|
formatter = libx.forAllSystems (system:
|
||||||
|
nix-formatter-pack.lib.mkFormatter {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
config.tools = {
|
||||||
|
alejandra.enable = false;
|
||||||
|
deadnix.enable = true;
|
||||||
|
nixpkgs-fmt.enable = true;
|
||||||
|
statix.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
# Custom packages; acessible via 'nix build', 'nix shell', etc
|
||||||
|
packages = libx.forAllSystems (system:
|
||||||
|
let pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in import ./pkgs { inherit pkgs; }
|
||||||
|
);
|
||||||
|
|
||||||
nixosModules = import ./modules/nixos;
|
nixosModules = import ./modules/nixos;
|
||||||
homeManagerModules = import ./modules/home-manager;
|
homeManagerModules = import ./modules/home-manager;
|
||||||
templates = import ./templates;
|
templates = import ./templates;
|
||||||
|
|
||||||
overlays = import ./overlays { inherit inputs outputs; };
|
|
||||||
hydraJobs = import ./hydra.nix { inherit inputs outputs; };
|
|
||||||
|
|
||||||
packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; });
|
|
||||||
devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
|
|
||||||
formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt);
|
|
||||||
|
|
||||||
wallpapers = import ./home/gburd/wallpapers;
|
|
||||||
|
|
||||||
nixosConfigurations = {
|
|
||||||
# Personal laptop - Lenovo Carbon X1 Extreme Gen 5 - x86_64
|
|
||||||
floki = lib.nixosSystem {
|
|
||||||
modules = [ ./hosts/floki ];
|
|
||||||
specialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
|
|
||||||
# Work laptop - MacBook Air macOS/nix - aarch64
|
|
||||||
# ? = lib.nixosSystem {
|
|
||||||
# modules = [ ./hosts/? ];
|
|
||||||
# specialArgs = { inherit inputs outputs; };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Main desktop - Intel NUC Skull Canyon - x86_64
|
|
||||||
# ? = lib.nixosSystem {
|
|
||||||
# modules = [ ./hosts/? ];
|
|
||||||
# specialArgs = { inherit inputs outputs; };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Core server (?)
|
|
||||||
# ? = lib.nixosSystem {
|
|
||||||
# modules = [ ./hosts/? ];
|
|
||||||
# specialArgs = { inherit inputs outputs; };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Build and game server (?)
|
|
||||||
# ? = lib.nixosSystem {
|
|
||||||
# modules = [ ./hosts/? ];
|
|
||||||
# specialArgs = { inherit inputs outputs; };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
homeConfigurations = {
|
|
||||||
# Desktops
|
|
||||||
"gburd@floki" = lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./home/gburd/floki.nix ];
|
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
"gburd@generic" = lib.homeManagerConfiguration {
|
|
||||||
modules = [ ./home/gburd/generic.nix ];
|
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
185
home/_mixins/console/default.nix
Normal file
185
home/_mixins/console/default.nix
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
{ config, lib, pkgs, ... }: {
|
||||||
|
home = {
|
||||||
|
file = {
|
||||||
|
"${config.xdg.configHome}/neofetch/config.conf".text = builtins.readFile ./neofetch.conf;
|
||||||
|
};
|
||||||
|
packages = with pkgs; [
|
||||||
|
neofetch
|
||||||
|
];
|
||||||
|
sessionVariables = {
|
||||||
|
EDITOR = "micro";
|
||||||
|
MANPAGER = "sh -c 'col --no-backspaces --spaces | bat --language man'";
|
||||||
|
SYSTEMD_EDITOR = "micro";
|
||||||
|
VISUAL = "micro";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
atuin = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
flags = [
|
||||||
|
"--disable-up-arrow"
|
||||||
|
];
|
||||||
|
package = pkgs.unstable.atuin;
|
||||||
|
settings = {
|
||||||
|
auto_sync = true;
|
||||||
|
dialect = "uk";
|
||||||
|
show_preview = true;
|
||||||
|
style = "compact";
|
||||||
|
sync_frequency = "1h";
|
||||||
|
sync_address = "https://api.atuin.sh";
|
||||||
|
update_check = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs.bat-extras; [
|
||||||
|
batwatch
|
||||||
|
prettybat
|
||||||
|
];
|
||||||
|
};
|
||||||
|
bottom = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
colors = {
|
||||||
|
high_battery_color = "green";
|
||||||
|
medium_battery_color = "yellow";
|
||||||
|
low_battery_color = "red";
|
||||||
|
};
|
||||||
|
disk_filter = {
|
||||||
|
is_list_ignored = true;
|
||||||
|
list = [ "/dev/loop" ];
|
||||||
|
regex = true;
|
||||||
|
case_sensitive = false;
|
||||||
|
whole_word = false;
|
||||||
|
};
|
||||||
|
flags = {
|
||||||
|
dot_marker = false;
|
||||||
|
enable_gpu_memory = true;
|
||||||
|
group_processes = true;
|
||||||
|
hide_table_gap = true;
|
||||||
|
mem_as_value = true;
|
||||||
|
tree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dircolors = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
};
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
nix-direnv = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
exa = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = true;
|
||||||
|
icons = true;
|
||||||
|
};
|
||||||
|
fish = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
cat = "bat --paging=never --style=plain";
|
||||||
|
htop = "btm --basic --tree --hide_table_gap --dot_marker --mem_as_value";
|
||||||
|
ip = "ip --color --brief";
|
||||||
|
less = "bat --paging=always";
|
||||||
|
more = "bat --paging=always";
|
||||||
|
top = "btm --basic --tree --hide_table_gap --dot_marker --mem_as_value";
|
||||||
|
tree = "exa --tree";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gh = {
|
||||||
|
enable = true;
|
||||||
|
extensions = with pkgs; [ gh-markdown-preview ];
|
||||||
|
settings = {
|
||||||
|
editor = "micro";
|
||||||
|
git_protocol = "ssh";
|
||||||
|
prompt = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
delta = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
features = "decorations";
|
||||||
|
navigate = true;
|
||||||
|
side-by-side = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
aliases = {
|
||||||
|
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
push = {
|
||||||
|
default = "matching";
|
||||||
|
};
|
||||||
|
pull = {
|
||||||
|
rebase = true;
|
||||||
|
};
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ignores = [
|
||||||
|
"*.log"
|
||||||
|
"*.out"
|
||||||
|
".DS_Store"
|
||||||
|
"bin/"
|
||||||
|
"dist/"
|
||||||
|
"result"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
gpg.enable = true;
|
||||||
|
home-manager.enable = true;
|
||||||
|
info.enable = true;
|
||||||
|
jq.enable = true;
|
||||||
|
micro = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
colorscheme = "simple";
|
||||||
|
diffgutter = true;
|
||||||
|
rmtrailingws = true;
|
||||||
|
savecursor = true;
|
||||||
|
saveundo = true;
|
||||||
|
scrollbar = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
powerline-go = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
cwd-max-depth = 5;
|
||||||
|
cwd-max-dir-size = 12;
|
||||||
|
max-width = 60;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
pinentryFlavor = "curses";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Nicely reload system units when changing configs
|
||||||
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = lib.mkDefault true;
|
||||||
|
extraConfig = {
|
||||||
|
XDG_SCREENSHOTS_DIR = "${config.home.homeDirectory}/Pictures/Screenshots";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
842
home/_mixins/console/neofetch.conf
Normal file
842
home/_mixins/console/neofetch.conf
Normal file
|
@ -0,0 +1,842 @@
|
||||||
|
# Adapted from https://github.com/chick2d/neofetch-themes/blob/main/normal/acenoster.conf
|
||||||
|
# Originally made by https://github.com/HimDek/ (HimDek)
|
||||||
|
# Customization Wiki https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
||||||
|
|
||||||
|
print_info() {
|
||||||
|
info "${cl2} ╭─" distro
|
||||||
|
info "${cl2} ├─" kernel
|
||||||
|
# info "${cl2} ├─" users
|
||||||
|
info "${cl2} ├─" packages
|
||||||
|
info "${cl2} ╰─" uptime
|
||||||
|
echo
|
||||||
|
info "${cl6} ╭─" shell
|
||||||
|
info "${cl6} ├─" de
|
||||||
|
info "${cl6} ├─" wm
|
||||||
|
info "${cl6} ├─" theme
|
||||||
|
# info "${cl6} ├─" icons
|
||||||
|
info "${cl6} ├─" font
|
||||||
|
info "${cl6} ├─" term_font
|
||||||
|
info "${cl6} ╰─" term
|
||||||
|
echo
|
||||||
|
info "${cl4} ╭─" model
|
||||||
|
info "${cl4} ├─" cpu
|
||||||
|
info "${cl4} ├─" memory
|
||||||
|
info "${cl4} ├─ ${cl0}" disk
|
||||||
|
# info "${cl4} ├─ ${cl0} " battery
|
||||||
|
info "${cl4} ├─" gpu
|
||||||
|
# info "${cl4} ├─" gpu_driver
|
||||||
|
info "${cl4} ╰─" resolution
|
||||||
|
|
||||||
|
prin " "
|
||||||
|
prin "\n \n ${cl0}─${cl1}──${cl2}──${cl3}──${cl4}──${cl5}──${cl6}──${cl7}─ "
|
||||||
|
}
|
||||||
|
|
||||||
|
##--------- Title
|
||||||
|
|
||||||
|
# Hide/Show Fully qualified domain name.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --title_fqdn
|
||||||
|
title_fqdn="off"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Kernel
|
||||||
|
|
||||||
|
# Shorten the output of the kernel function.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --kernel_shorthand
|
||||||
|
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '4.8.9-1-ARCH'
|
||||||
|
# off: 'Linux 4.8.9-1-ARCH'
|
||||||
|
kernel_shorthand="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Distro
|
||||||
|
|
||||||
|
# Shorten the output of the distro function
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'tiny', 'off'
|
||||||
|
# Flag: --distro_shorthand
|
||||||
|
# Supports: Everything except Windows and Haiku
|
||||||
|
distro_shorthand="on"
|
||||||
|
|
||||||
|
# Show/Hide OS Architecture.
|
||||||
|
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --os_arch
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Arch Linux x86_64'
|
||||||
|
# off: 'Arch Linux'
|
||||||
|
os_arch="on"
|
||||||
|
|
||||||
|
##--------- Uptime
|
||||||
|
|
||||||
|
# Shorten the output of the uptime function
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'tiny', 'off'
|
||||||
|
# Flag: --uptime_shorthand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '2 days, 10 hours, 3 mins'
|
||||||
|
# tiny: '2d 10h 3m'
|
||||||
|
# off: '2 days, 10 hours, 3 minutes'
|
||||||
|
uptime_shorthand="tiny"
|
||||||
|
|
||||||
|
##--------- Memory
|
||||||
|
|
||||||
|
# Show memory pecentage in output.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --memory_percent
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '1801MiB / 7881MiB (22%)'
|
||||||
|
# off: '1801MiB / 7881MiB'
|
||||||
|
memory_percent="on"
|
||||||
|
|
||||||
|
# Change memory output unit.
|
||||||
|
#
|
||||||
|
# Default: 'mib'
|
||||||
|
# Values: 'kib', 'mib', 'gib'
|
||||||
|
# Flag: --memory_unit
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# kib '1020928KiB / 7117824KiB'
|
||||||
|
# mib '1042MiB / 6951MiB'
|
||||||
|
# gib: ' 0.98GiB / 6.79GiB'
|
||||||
|
memory_unit="Gib"
|
||||||
|
|
||||||
|
##--------- Packages
|
||||||
|
|
||||||
|
# Show/Hide Package Manager names.
|
||||||
|
#
|
||||||
|
# Default: 'tiny'
|
||||||
|
# Values: 'on', 'tiny' 'off'
|
||||||
|
# Flag: --package_managers
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
||||||
|
# tiny: '908 (pacman, flatpak, snap)'
|
||||||
|
# off: '908'
|
||||||
|
package_managers="on"
|
||||||
|
|
||||||
|
##--------- Shell
|
||||||
|
|
||||||
|
# Show the path to $SHELL
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --shell_path
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '/bin/bash'
|
||||||
|
# off: 'bash'
|
||||||
|
shell_path="off"
|
||||||
|
|
||||||
|
# Show $SHELL version
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --shell_version
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'bash 4.4.5'
|
||||||
|
# off: 'bash'
|
||||||
|
shell_version="on"
|
||||||
|
|
||||||
|
##--------- CPU
|
||||||
|
|
||||||
|
# CPU speed type
|
||||||
|
#
|
||||||
|
# Default: 'bios_limit'
|
||||||
|
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
||||||
|
# Flag: --speed_type
|
||||||
|
# Supports: Linux with 'cpufreq'
|
||||||
|
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
||||||
|
speed_type="scaling_max_freq"
|
||||||
|
|
||||||
|
# CPU speed shorthand
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'.
|
||||||
|
# Flag: --speed_shorthand
|
||||||
|
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'i7-6500U (4) @ 3.1GHz'
|
||||||
|
# off: 'i7-6500U (4) @ 3.100GHz'
|
||||||
|
speed_shorthand="on"
|
||||||
|
|
||||||
|
# Enable/Disable CPU brand in output.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --cpu_brand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Intel i7-6500U'
|
||||||
|
# off: 'i7-6500U (4)'
|
||||||
|
cpu_brand="on"
|
||||||
|
|
||||||
|
# CPU Speed
|
||||||
|
# Hide/Show CPU speed.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --cpu_speed
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||||
|
# off: 'Intel i7-6500U (4)'
|
||||||
|
cpu_speed="on"
|
||||||
|
|
||||||
|
# CPU Cores
|
||||||
|
# Display CPU cores in output
|
||||||
|
#
|
||||||
|
# Default: 'logical'
|
||||||
|
# Values: 'logical', 'physical', 'off'
|
||||||
|
# Flag: --cpu_cores
|
||||||
|
# Support: 'physical' doesn't work on BSD.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
||||||
|
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
||||||
|
# off: 'Intel i7-6500U @ 3.1GHz'
|
||||||
|
cpu_cores="logical"
|
||||||
|
|
||||||
|
# CPU Temperature
|
||||||
|
# Hide/Show CPU temperature.
|
||||||
|
# Note the temperature is added to the regular CPU function.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'C', 'F', 'off'
|
||||||
|
# Flag: --cpu_temp
|
||||||
|
# Supports: Linux, BSD
|
||||||
|
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
||||||
|
# coretemp kernel module. This only supports newer Intel processors.
|
||||||
|
#
|
||||||
|
# Example: sudo rm /var/lib/pacman/db.lck
|
||||||
|
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
||||||
|
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
||||||
|
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||||
|
cpu_temp="on"
|
||||||
|
|
||||||
|
##--------- GPU
|
||||||
|
|
||||||
|
# Enable/Disable GPU Brand
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gpu_brand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'AMD HD 7950'
|
||||||
|
# off: 'HD 7950'
|
||||||
|
gpu_brand="on"
|
||||||
|
|
||||||
|
# Which GPU to display
|
||||||
|
#
|
||||||
|
# Default: 'all'
|
||||||
|
# Values: 'all', 'dedicated', 'integrated'
|
||||||
|
# Flag: --gpu_type
|
||||||
|
# Supports: Linux
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# all:
|
||||||
|
# GPU1: AMD HD 7950
|
||||||
|
# GPU2: Intel Integrated Graphics
|
||||||
|
#
|
||||||
|
# dedicated:
|
||||||
|
# GPU1: AMD HD 7950
|
||||||
|
#
|
||||||
|
# integrated:
|
||||||
|
# GPU1: Intel Integrated Graphics
|
||||||
|
gpu_type="all"
|
||||||
|
|
||||||
|
##--------- Resolution
|
||||||
|
|
||||||
|
# Display refresh rate next to each monitor
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --refresh_rate
|
||||||
|
# Supports: Doesn't work on Windows.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: '1920x1080 @ 60Hz'
|
||||||
|
# off: '1920x1080'
|
||||||
|
refresh_rate="on"
|
||||||
|
|
||||||
|
##--------- Gtk Theme / Icons / Font
|
||||||
|
|
||||||
|
# Shorten output of GTK Theme / Icons / Font
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gtk_shorthand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Numix, Adwaita'
|
||||||
|
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
||||||
|
gtk_shorthand="on"
|
||||||
|
|
||||||
|
# Enable/Disable gtk2 Theme / Icons / Font
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gtk2
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||||
|
# off: 'Adwaita [GTK3]'
|
||||||
|
gtk2="off"
|
||||||
|
|
||||||
|
# Enable/Disable gtk3 Theme / Icons / Font
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --gtk3
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||||
|
# off: 'Numix [GTK2]'
|
||||||
|
gtk3="on"
|
||||||
|
|
||||||
|
##--------- IP Address
|
||||||
|
|
||||||
|
# Website to ping for the public IP
|
||||||
|
#
|
||||||
|
# Default: 'http://ident.me'
|
||||||
|
# Values: 'url'
|
||||||
|
# Flag: --ip_host
|
||||||
|
public_ip_host="http://ident.me"
|
||||||
|
|
||||||
|
# Public IP timeout.
|
||||||
|
#
|
||||||
|
# Default: '2'
|
||||||
|
# Values: 'int'
|
||||||
|
# Flag: --ip_timeout
|
||||||
|
public_ip_timeout=2
|
||||||
|
|
||||||
|
# Desktop Environment
|
||||||
|
|
||||||
|
# Show Desktop Environment version
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --de_version
|
||||||
|
de_version="on"
|
||||||
|
|
||||||
|
##--------- Disk
|
||||||
|
|
||||||
|
# Which disks to display.
|
||||||
|
# The values can be any /dev/sdXX, mount point or directory.
|
||||||
|
# NOTE: By default we only show the disk info for '/'.
|
||||||
|
#
|
||||||
|
# Default: '/'
|
||||||
|
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
||||||
|
# Flag: --disk_show
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# disk_show=('/' '/dev/sdb1'):
|
||||||
|
# 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
||||||
|
#
|
||||||
|
# disk_show=('/'):
|
||||||
|
# 'Disk (/): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
disk_show=('/' '/home')
|
||||||
|
|
||||||
|
# Disk subtitle.
|
||||||
|
# What to append to the Disk subtitle.
|
||||||
|
#
|
||||||
|
# Default: 'mount'
|
||||||
|
# Values: 'mount', 'name', 'dir', 'none'
|
||||||
|
# Flag: --disk_subtitle
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
# mount: 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
||||||
|
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
# dir: 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# 'Disk (Local Disk): 74G / 118G (66%)'
|
||||||
|
# 'Disk (Videos): 74G / 118G (66%)'
|
||||||
|
#
|
||||||
|
# none: 'Disk: 74G / 118G (66%)'
|
||||||
|
# 'Disk: 74G / 118G (66%)'
|
||||||
|
# 'Disk: 74G / 118G (66%)'
|
||||||
|
disk_subtitle="mount"
|
||||||
|
|
||||||
|
# Disk percent.
|
||||||
|
# Show/Hide disk percent.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --disk_percent
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Disk (/): 74G / 118G (66%)'
|
||||||
|
# off: 'Disk (/): 74G / 118G'
|
||||||
|
disk_percent="on"
|
||||||
|
|
||||||
|
|
||||||
|
##--------- Song
|
||||||
|
|
||||||
|
# Manually specify a music player.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'player-name'
|
||||||
|
# Flag: --music_player
|
||||||
|
#
|
||||||
|
# Available values for 'player-name':
|
||||||
|
#
|
||||||
|
# amarok
|
||||||
|
# audacious
|
||||||
|
# banshee
|
||||||
|
# bluemindo
|
||||||
|
# clementine
|
||||||
|
# cmus
|
||||||
|
# deadbeef
|
||||||
|
# deepin-music
|
||||||
|
# dragon
|
||||||
|
# elisa
|
||||||
|
# exaile
|
||||||
|
# gnome-music
|
||||||
|
# gmusicbrowser
|
||||||
|
# gogglesmm
|
||||||
|
# guayadeque
|
||||||
|
# io.elementary.music
|
||||||
|
# iTunes
|
||||||
|
# juk
|
||||||
|
# lollypop
|
||||||
|
# mocp
|
||||||
|
# mopidy
|
||||||
|
# mpd
|
||||||
|
# muine
|
||||||
|
# netease-cloud-music
|
||||||
|
# olivia
|
||||||
|
# playerctl
|
||||||
|
# pogo
|
||||||
|
# pragha
|
||||||
|
# qmmp
|
||||||
|
# quodlibet
|
||||||
|
# rhythmbox
|
||||||
|
# sayonara
|
||||||
|
# smplayer
|
||||||
|
# spotify
|
||||||
|
# strawberry
|
||||||
|
# tauonmb
|
||||||
|
# tomahawk
|
||||||
|
# vlc
|
||||||
|
# xmms2d
|
||||||
|
# xnoise
|
||||||
|
# yarock
|
||||||
|
music_player="auto"
|
||||||
|
|
||||||
|
# Format to display song information.
|
||||||
|
#
|
||||||
|
# Default: '%artist% - %album% - %title%'
|
||||||
|
# Values: '%artist%', '%album%', '%title%'
|
||||||
|
# Flag: --song_format
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# default: 'Song: Jet - Get Born - Sgt Major'
|
||||||
|
song_format="%artist% - %album% - %title%"
|
||||||
|
|
||||||
|
# Print the Artist, Album and Title on separate lines
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --song_shorthand
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# on: 'Artist: The Fratellis'
|
||||||
|
# 'Album: Costello Music'
|
||||||
|
# 'Song: Chelsea Dagger'
|
||||||
|
#
|
||||||
|
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
||||||
|
song_shorthand="off"
|
||||||
|
|
||||||
|
# 'mpc' arguments (specify a host, password etc).
|
||||||
|
#
|
||||||
|
# Default: ''
|
||||||
|
# Example: mpc_args=(-h HOST -P PASSWORD)
|
||||||
|
mpc_args=()
|
||||||
|
|
||||||
|
##--------- Text Colors
|
||||||
|
|
||||||
|
# Text Colors
|
||||||
|
#
|
||||||
|
# Default: 'distro'
|
||||||
|
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||||
|
# Flag: --colors
|
||||||
|
#
|
||||||
|
# Each number represents a different part of the text in
|
||||||
|
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# colors=(distro) - Text is colored based on Distro colors.
|
||||||
|
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
||||||
|
colors=(distro)
|
||||||
|
|
||||||
|
##--------- Text Options
|
||||||
|
|
||||||
|
# Toggle bold text
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --bold
|
||||||
|
bold="on"
|
||||||
|
|
||||||
|
# Enable/Disable Underline
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --underline
|
||||||
|
underline_enabled="on"
|
||||||
|
|
||||||
|
# Underline character
|
||||||
|
#
|
||||||
|
# Default: '-'
|
||||||
|
# Values: 'string'
|
||||||
|
# Flag: --underline_char
|
||||||
|
underline_char=""
|
||||||
|
|
||||||
|
# Info Separator
|
||||||
|
# Replace the default separator with the specified string.
|
||||||
|
#
|
||||||
|
# Default: ':'
|
||||||
|
# Flag: --separator
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# separator="->": 'Shell-> bash'
|
||||||
|
# separator=" =": 'WM = dwm'
|
||||||
|
separator=" "
|
||||||
|
|
||||||
|
##--------- Color Blocks
|
||||||
|
|
||||||
|
# Color block range
|
||||||
|
# The range of colors to print.
|
||||||
|
#
|
||||||
|
# Default: '0', '15'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --block_range
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# Display colors 0-7 in the blocks. (8 colors)
|
||||||
|
# neofetch --block_range 0 7
|
||||||
|
#
|
||||||
|
# Display colors 0-15 in the blocks. (16 colors)
|
||||||
|
# neofetch --block_range 0 15
|
||||||
|
#block_range=(8 15)
|
||||||
|
block_range=(1 8)
|
||||||
|
|
||||||
|
# Colors for custom colorblocks
|
||||||
|
#colors
|
||||||
|
#bold="(tput bold)"
|
||||||
|
magenta="\033[1;35m"
|
||||||
|
green="\033[1;32m"
|
||||||
|
white="\033[1;37m"
|
||||||
|
blue="\033[1;34m"
|
||||||
|
red="\033[1;31m"
|
||||||
|
black="\033[1;40;30m"
|
||||||
|
yellow="\033[1;33m"
|
||||||
|
cyan="\033[1;36m"
|
||||||
|
reset="\033[0m"
|
||||||
|
bgyellow="\033[1;43;33m"
|
||||||
|
bgwhite="\033[1;47;37m"
|
||||||
|
cl0="${reset}"
|
||||||
|
cl1="${magenta}"
|
||||||
|
cl2="${green}"
|
||||||
|
cl3="${white}"
|
||||||
|
cl4="${blue}"
|
||||||
|
cl5="${red}"
|
||||||
|
cl6="${yellow}"
|
||||||
|
cl7="${cyan}"
|
||||||
|
cl8="${black}"
|
||||||
|
cl9="${bgyellow}"
|
||||||
|
cl10="${bgwhite}"
|
||||||
|
|
||||||
|
# Toggle color blocks
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --color_blocks
|
||||||
|
color_blocks="on"
|
||||||
|
|
||||||
|
# Color block width in spaces
|
||||||
|
#
|
||||||
|
# Default: '3'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --block_width
|
||||||
|
block_width=4
|
||||||
|
|
||||||
|
# Color block height in lines
|
||||||
|
#
|
||||||
|
# Default: '1'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --block_height
|
||||||
|
block_height=1
|
||||||
|
|
||||||
|
# Color Alignment
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'num'
|
||||||
|
# Flag: --col_offset
|
||||||
|
#
|
||||||
|
# Number specifies how far from the left side of the terminal (in spaces) to
|
||||||
|
# begin printing the columns, in case you want to e.g. center them under your
|
||||||
|
# text.
|
||||||
|
# Example:
|
||||||
|
# col_offset="auto" - Default behavior of neofetch
|
||||||
|
# col_offset=7 - Leave 7 spaces then print the colors
|
||||||
|
col_offset="auto"
|
||||||
|
|
||||||
|
##--------- Progress Bars
|
||||||
|
|
||||||
|
# Bar characters
|
||||||
|
#
|
||||||
|
# Default: '-', '='
|
||||||
|
# Values: 'string', 'string'
|
||||||
|
# Flag: --bar_char
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# neofetch --bar_char 'elapsed' 'total'
|
||||||
|
# neofetch --bar_char '-' '='
|
||||||
|
bar_char_elapsed="-"
|
||||||
|
bar_char_total="="
|
||||||
|
|
||||||
|
# Toggle Bar border
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --bar_border
|
||||||
|
bar_border="on"
|
||||||
|
|
||||||
|
# Progress bar length in spaces
|
||||||
|
# Number of chars long to make the progress bars.
|
||||||
|
#
|
||||||
|
# Default: '15'
|
||||||
|
# Values: 'num'
|
||||||
|
# Flag: --bar_length
|
||||||
|
bar_length=15
|
||||||
|
|
||||||
|
# Progress bar colors
|
||||||
|
# When set to distro, uses your distro's logo colors.
|
||||||
|
#
|
||||||
|
# Default: 'distro', 'distro'
|
||||||
|
# Values: 'distro', 'num'
|
||||||
|
# Flag: --bar_colors
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# neofetch --bar_colors 3 4
|
||||||
|
# neofetch --bar_colors distro 5
|
||||||
|
bar_color_elapsed="distro"
|
||||||
|
bar_color_total="distro"
|
||||||
|
|
||||||
|
# Info display
|
||||||
|
# Display a bar with the info.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
||||||
|
# Flags: --cpu_display
|
||||||
|
# --memory_display
|
||||||
|
# --battery_display
|
||||||
|
# --disk_display
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# bar: '[---=======]'
|
||||||
|
# infobar: 'info [---=======]'
|
||||||
|
# barinfo: '[---=======] info'
|
||||||
|
# off: 'info'
|
||||||
|
cpu_display="on"
|
||||||
|
memory_display="on"
|
||||||
|
battery_display="on"
|
||||||
|
disk_display="on"
|
||||||
|
|
||||||
|
##--------- Backend Settings
|
||||||
|
|
||||||
|
# Image backend.
|
||||||
|
#
|
||||||
|
# Default: 'ascii'
|
||||||
|
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
|
||||||
|
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
||||||
|
# Flag: --backend
|
||||||
|
image_backend="ascii"
|
||||||
|
|
||||||
|
# Image Source
|
||||||
|
#
|
||||||
|
# Which image or ascii file to display.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
||||||
|
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
||||||
|
# Flag: --source
|
||||||
|
#
|
||||||
|
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
||||||
|
# In ascii mode, distro ascii art will be used and in an image mode, your
|
||||||
|
# wallpaper will be used.
|
||||||
|
image_source="auto"
|
||||||
|
|
||||||
|
##--------- Ascii Options
|
||||||
|
|
||||||
|
# Ascii distro
|
||||||
|
# Which distro's ascii art to display.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', 'distro_name'
|
||||||
|
# Flag: --ascii_distro
|
||||||
|
# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
|
||||||
|
# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
|
||||||
|
# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
|
||||||
|
# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
|
||||||
|
# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
|
||||||
|
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
|
||||||
|
# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
|
||||||
|
# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
|
||||||
|
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
|
||||||
|
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
|
||||||
|
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
|
||||||
|
# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
|
||||||
|
# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
|
||||||
|
# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
|
||||||
|
# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
|
||||||
|
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
|
||||||
|
# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
|
||||||
|
# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
|
||||||
|
# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
|
||||||
|
# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
|
||||||
|
# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
|
||||||
|
# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
|
||||||
|
# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
|
||||||
|
# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
|
||||||
|
# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
|
||||||
|
# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
|
||||||
|
# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
|
||||||
|
# and IRIX have ascii logos
|
||||||
|
# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
|
||||||
|
# Use '{distro name}_old' to use the old logos.
|
||||||
|
# NOTE: Ubuntu has flavor variants.
|
||||||
|
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
|
||||||
|
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
|
||||||
|
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
|
||||||
|
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
|
||||||
|
# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
|
||||||
|
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
|
||||||
|
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
||||||
|
# postmarketOS, and Void have a smaller logo variant.
|
||||||
|
# Use '{distro name}_small' to use the small variants.
|
||||||
|
ascii_distro="auto"
|
||||||
|
|
||||||
|
# Ascii Colors
|
||||||
|
#
|
||||||
|
# Default: 'distro'
|
||||||
|
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||||
|
# Flag: --ascii_colors
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
||||||
|
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
||||||
|
ascii_colors=(distro)
|
||||||
|
|
||||||
|
# Bold ascii logo
|
||||||
|
# Whether or not to bold the ascii logo.
|
||||||
|
#
|
||||||
|
# Default: 'on'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --ascii_bold
|
||||||
|
ascii_bold="on"
|
||||||
|
|
||||||
|
##--------- Image Options
|
||||||
|
|
||||||
|
# Image loop
|
||||||
|
# Setting this to on will make neofetch redraw the image constantly until
|
||||||
|
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
||||||
|
#
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
# Flag: --loop
|
||||||
|
image_loop="off"
|
||||||
|
|
||||||
|
# Thumbnail directory
|
||||||
|
#
|
||||||
|
# Default: '~/.cache/thumbnails/neofetch'
|
||||||
|
# Values: 'dir'
|
||||||
|
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||||
|
|
||||||
|
# Crop mode
|
||||||
|
#
|
||||||
|
# Default: 'normal'
|
||||||
|
# Values: 'normal', 'fit', 'fill'
|
||||||
|
# Flag: --crop_mode
|
||||||
|
#
|
||||||
|
# See this wiki page to learn about the fit and fill options.
|
||||||
|
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
||||||
|
crop_mode="normal"
|
||||||
|
|
||||||
|
# Crop offset
|
||||||
|
# Note: Only affects 'normal' crop mode.
|
||||||
|
#
|
||||||
|
# Default: 'center'
|
||||||
|
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
||||||
|
# 'east', 'southwest', 'south', 'southeast'
|
||||||
|
# Flag: --crop_offset
|
||||||
|
crop_offset="center"
|
||||||
|
|
||||||
|
# Image size
|
||||||
|
# The image is half the terminal width by default.
|
||||||
|
#
|
||||||
|
# Default: 'auto'
|
||||||
|
# Values: 'auto', '00px', '00%', 'none'
|
||||||
|
# Flags: --image_size
|
||||||
|
# --size
|
||||||
|
image_size="auto"
|
||||||
|
|
||||||
|
# Gap between image and text
|
||||||
|
#
|
||||||
|
# Default: '3'
|
||||||
|
# Values: 'num', '-num'
|
||||||
|
# Flag: --gap
|
||||||
|
gap=2
|
||||||
|
|
||||||
|
# Image offsets
|
||||||
|
# Only works with the w3m backend.
|
||||||
|
#
|
||||||
|
# Default: '0'
|
||||||
|
# Values: 'px'
|
||||||
|
# Flags: --xoffset
|
||||||
|
# --yoffset
|
||||||
|
yoffset=0
|
||||||
|
xoffset=0
|
||||||
|
|
||||||
|
# Image background color
|
||||||
|
# Only works with the w3m backend.
|
||||||
|
#
|
||||||
|
# Default: ''
|
||||||
|
# Values: 'color', 'blue'
|
||||||
|
# Flag: --bg_color
|
||||||
|
background_color=
|
||||||
|
|
||||||
|
##--------- Misc Options
|
||||||
|
|
||||||
|
# Stdout mode
|
||||||
|
# Turn off all colors and disables image backend (ASCII/Image).
|
||||||
|
# Useful for piping into another command.
|
||||||
|
# Default: 'off'
|
||||||
|
# Values: 'on', 'off'
|
||||||
|
stdout="off"
|
27
home/_mixins/desktop/audio-recorder.nix
Normal file
27
home/_mixins/desktop/audio-recorder.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, lib, pkgs, username, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
audio-recorder
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"apps/audio-recorder" = {
|
||||||
|
append-to-file = false;
|
||||||
|
filename-pattern = "LMP-${username}-%V-%H%M";
|
||||||
|
folder-name = "${config.home.homeDirectory}/Audio";
|
||||||
|
keep-on-top = true;
|
||||||
|
level-bar-value = 2;
|
||||||
|
media-format = "Podcast Mono, Lossless 44KHz";
|
||||||
|
#saved-profiles = [('CD Quality, AAC 44KHz', 'm4a', '', 'audio/x-raw,rate=44100,channels=2 ! avenc_aac compliance=-2 ! avmux_mp4'), ('CD Quality, Lossless 44KHz', 'flac', '', 'audio/x-raw,rate=44100,channels=2 ! flacenc name=enc'), ('CD Quality, Lossy 44KHz', 'ogg', '', 'audio/x-raw,rate=44100,channels=2 ! vorbisenc name=enc quality=0.5 ! oggmux'), ('CD Quality, MP3 Lossy 44KHz', 'mp3', '', 'audio/x-raw,rate=44100,channels=2 ! lamemp3enc name=enc target=0 quality=2'), ('Lossless WAV 22KHz', 'wav', '', 'audio/x-raw,rate=22050,channels=1 ! wavenc name=enc'), ('Lossless WAV 44KHz', 'wav', '', 'audio/x-raw,rate=44100,channels=2 ! wavenc name=enc'), ('Lossy Speex 32KHz', 'spx', '', 'audio/x-raw,rate=32000,channels=2 ! speexenc name=enc ! oggmux'), ('Podcast Mono, Lossless 44KHz', 'flac', '', 'audio/x-raw,rate=44100,channels=1 ! flacenc name=enc')];
|
||||||
|
show-systray-icon = false;
|
||||||
|
timer-active = false;
|
||||||
|
timer-expanded = false;
|
||||||
|
timer-text = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.tmpfiles.rules = [
|
||||||
|
"d ${config.home.homeDirectory}/Audio 0755 ${username} users - -"
|
||||||
|
];
|
||||||
|
}
|
14
home/_mixins/desktop/celluloid.nix
Normal file
14
home/_mixins/desktop/celluloid.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
celluloid
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"io/github/celluloid-player/celluloid" = {
|
||||||
|
csd-enable = false;
|
||||||
|
dark-theme-enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
13
home/_mixins/desktop/dconf-editor.nix
Normal file
13
home/_mixins/desktop/dconf-editor.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gnome.dconf-editor
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"ca/desrt/dconf-editor" = {
|
||||||
|
show-warning = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
27
home/_mixins/desktop/deckmaster-xl.nix
Normal file
27
home/_mixins/desktop/deckmaster-xl.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
# https://github.com/muesli/deckmaster
|
||||||
|
home = {
|
||||||
|
file = {
|
||||||
|
"${config.xdg.configHome}/autostart/deskmaster-xl.desktop".text = "
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Deckmaster XL
|
||||||
|
Comment=Deckmaster XL
|
||||||
|
Type=Application
|
||||||
|
Exec=deckmaster -deck ${config.home.homeDirectory}/Studio/StreamDeck/Deckmaster-xl/main.deck
|
||||||
|
Categories=
|
||||||
|
Terminal=false
|
||||||
|
NoDisplay=true
|
||||||
|
StartupNotify=false";
|
||||||
|
};
|
||||||
|
# Deckmaster and the utilities I bind to the Stream Deck
|
||||||
|
packages = with pkgs; [
|
||||||
|
bc
|
||||||
|
deckmaster
|
||||||
|
hueadm
|
||||||
|
libnotify
|
||||||
|
unstable.obs-cli
|
||||||
|
playerctl
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
47
home/_mixins/desktop/default.nix
Normal file
47
home/_mixins/desktop/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{ desktop, lib, username, ... }: {
|
||||||
|
imports = [
|
||||||
|
(./. + "/${desktop}.nix")
|
||||||
|
] ++ lib.optional (builtins.pathExists (./. + "/../users/${username}/desktop.nix")) ../users/${username}/desktop.nix;
|
||||||
|
|
||||||
|
# https://nixos.wiki/wiki/Bluetooth#Using_Bluetooth_headsets_with_PulseAudio
|
||||||
|
services.mpris-proxy.enable = true;
|
||||||
|
|
||||||
|
xresources.properties = {
|
||||||
|
"XTerm*background" = "#121214";
|
||||||
|
"XTerm*foreground" = "#c8c8c8";
|
||||||
|
"XTerm*cursorBlink" = true;
|
||||||
|
"XTerm*cursorColor" = "#FFC560";
|
||||||
|
"XTerm*boldColors" = false;
|
||||||
|
|
||||||
|
#Black + DarkGrey
|
||||||
|
"*color0" = "#141417";
|
||||||
|
"*color8" = "#434345";
|
||||||
|
#DarkRed + Red
|
||||||
|
"*color1" = "#D62C2C";
|
||||||
|
"*color9" = "#DE5656";
|
||||||
|
#DarkGreen + Green
|
||||||
|
"*color2" = "#42DD76";
|
||||||
|
"*color10" = "#A1EEBB";
|
||||||
|
#DarkYellow + Yellow
|
||||||
|
"*color3" = "#FFB638";
|
||||||
|
"*color11" = "#FFC560";
|
||||||
|
#DarkBlue + Blue
|
||||||
|
"*color4" = "#28A9FF";
|
||||||
|
"*color12" = "#94D4FF";
|
||||||
|
#DarkMagenta + Magenta
|
||||||
|
"*color5" = "#E66DFF";
|
||||||
|
"*color13" = "#F3B6FF";
|
||||||
|
#DarkCyan + Cyan
|
||||||
|
"*color6" = "#14E5D4";
|
||||||
|
"*color14" = "#A1F5EE";
|
||||||
|
#LightGrey + White
|
||||||
|
"*color7" = "#c8c8c8";
|
||||||
|
"*color15" = "#e9e9e9";
|
||||||
|
"XTerm*faceName" = "FiraCode Nerd Font:size=13:style=Medium:antialias=true";
|
||||||
|
"XTerm*boldFont" = "FiraCode Nerd Font:size=13:style=Bold:antialias=true";
|
||||||
|
"XTerm*geometry" = "132x50";
|
||||||
|
"XTerm.termName" = "xterm-256color";
|
||||||
|
"XTerm*locale" = false;
|
||||||
|
"XTerm*utf8" = true;
|
||||||
|
};
|
||||||
|
}
|
22
home/_mixins/desktop/emote.nix
Normal file
22
home/_mixins/desktop/emote.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# https://github.com/tom-james-watson/emote
|
||||||
|
home.packages = with pkgs.unstable; [
|
||||||
|
emote
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
emote = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Emote";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.unstable.emote}/bin/emote";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
191
home/_mixins/desktop/gitkraken.nix
Normal file
191
home/_mixins/desktop/gitkraken.nix
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
unstable.gitkraken
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".gitkraken/themes/bearded-vivid-black.jsonc".text = ''
|
||||||
|
{
|
||||||
|
"meta": {
|
||||||
|
"name": "Bearded Vivid Black",
|
||||||
|
"scheme": "dark" // must be "light" or "dark"
|
||||||
|
},
|
||||||
|
"themeValues": {
|
||||||
|
// values applied to the entire app
|
||||||
|
"root": {
|
||||||
|
"red": "#d62c2c",
|
||||||
|
"orange": "#ff7135",
|
||||||
|
"yellow": "#ffb638",
|
||||||
|
"green": "#42dd76",
|
||||||
|
"teal": "#14e5d4",
|
||||||
|
"blue": "#28a9ff",
|
||||||
|
"ltblue": "#94D4FF",
|
||||||
|
"purple": "#e66dff",
|
||||||
|
"app__bg0": "#141417",
|
||||||
|
"toolbar__bg0": "lighten(saturate(@app__bg0, 3%), 1%)",
|
||||||
|
"toolbar__bg1": "lighten(@toolbar__bg0, 4%)", //4%
|
||||||
|
"toolbar__bg2": "lighten(@toolbar__bg1, 6%)", //6%
|
||||||
|
"panel__bg0": "lighten(@app__bg0, 5%)", //5%
|
||||||
|
"panel__bg1": "lighten(@panel__bg0, 4%)", //4%
|
||||||
|
"panel__bg2": "lighten(@panel__bg1, 4%)", //4%
|
||||||
|
"input__bg": "#141417",
|
||||||
|
"input-bg-warn-color": "fade(@orange, 60%)",
|
||||||
|
"panel-border": "fade(#FFFFFF, 8%)",
|
||||||
|
"section-border": "fade(#FFFFFF, 8%)",
|
||||||
|
"subtle-border": "fade(#FFFFFF, 4%)",
|
||||||
|
"modal-overlay-color": "rgba(0,0,0,.5)",
|
||||||
|
// graph colors
|
||||||
|
"graph-color-0": "#14E5D4", //cyan
|
||||||
|
"graph-color-1": "#28A9FF", //blue
|
||||||
|
"graph-color-2": "#8e00c2", //purle
|
||||||
|
"graph-color-3": "#E66DFF", //magenta
|
||||||
|
"graph-color-4": "#F3B6FF", //lt. magenta
|
||||||
|
"graph-color-5": "#D62C2C", //red
|
||||||
|
"graph-color-6": "#ff7135", //orange
|
||||||
|
"graph-color-7": "#FFB638", //yellow
|
||||||
|
"graph-color-8": "#42DD76", //green
|
||||||
|
"graph-color-9": "#2ece9d", //teal
|
||||||
|
// text colors
|
||||||
|
// values starting with . aren't added to the CSS, they're just variables
|
||||||
|
".text-color": "#c8c8c8",
|
||||||
|
"text-selected": "@.text-color",
|
||||||
|
"text-normal": "fade(@.text-color, 78%)",
|
||||||
|
"text-secondary": "fade(@.text-color, 65%)",
|
||||||
|
"text-disabled": "fade(@.text-color, 45%)",
|
||||||
|
"text-accent": "#28a9ff", //blue
|
||||||
|
"text-inverse": "#373737",
|
||||||
|
"text-bright": "@.text-color",
|
||||||
|
"text-dimmed": "fade(@text-normal, 20%)",
|
||||||
|
"text-dimmed-selected": "fade(@text-dimmed, 50%)",
|
||||||
|
"text-selected-row": "@text-selected",
|
||||||
|
// buttons
|
||||||
|
"btn-text": "@text-normal",
|
||||||
|
"btn-text-hover": "@text-selected",
|
||||||
|
"default-border": "@text-normal",
|
||||||
|
"default-bg": "transparent",
|
||||||
|
"default-hover": "transparent",
|
||||||
|
"default-border-hover": "@text-selected",
|
||||||
|
"primary-border": "@blue",
|
||||||
|
"primary-bg": "fade(@blue, 10%)", //10%
|
||||||
|
"primary-hover": "fade(@blue, 40%)", //40%
|
||||||
|
"success-border": "@green",
|
||||||
|
"success-bg": "fade(@green, 10%)",
|
||||||
|
"success-hover": "fade(@green, 40%)",
|
||||||
|
"warning-border": "@orange",
|
||||||
|
"warning-bg": "fade(@orange, 10%)",
|
||||||
|
"warning-hover": "fade(@orange, 35%)",
|
||||||
|
"danger-border": "@red",
|
||||||
|
"danger-bg": "fade(@red, 10%)",
|
||||||
|
"danger-hover": "fade(@red, 40%)",
|
||||||
|
// states
|
||||||
|
"hover-row": "fade(@blue, 50%)", //15%
|
||||||
|
"danger-row": "fade(@red, 40%)",
|
||||||
|
"selected-row": "fade(@blue, 75%)", //20%
|
||||||
|
"selected-row-border": "none",
|
||||||
|
"warning-row": "fade(@orange, 40%)",
|
||||||
|
"droppable": "fade(@yellow, 30%)",
|
||||||
|
"drop-target": "fade(@green, 50%)",
|
||||||
|
"input--disabled": "fade(#000000, 10%)",
|
||||||
|
"link-color": "#14e5d4", //cyan
|
||||||
|
"link-color-bright": "#14e5d4", //cyan
|
||||||
|
"form-control-focus": "@blue",
|
||||||
|
// various app elements
|
||||||
|
"scroll-thumb-border": "rgba(0,0,0,0)",
|
||||||
|
"scroll-thumb-bg": "rgba(255,255,255,0.15)",
|
||||||
|
"scroll-thumb-bg-light": "rgba(0,0,0,0.15)",
|
||||||
|
"wip-status": "fade(@blue, 40%)",
|
||||||
|
"card__bg": "@panel__bg2",
|
||||||
|
"card-shadow": "@rgba(0,0,0,.2)",
|
||||||
|
"statusbar__warning-bg": "mixLess(@graph-color-7, @app__bg0, 50%)",
|
||||||
|
"label__yellow-color": "#ffb638", //yellow
|
||||||
|
"label__light-blue-color": "#28a9ff", //blue
|
||||||
|
"label__purple-color": "#e66dff", //magenta
|
||||||
|
// component states
|
||||||
|
"filtering": "fade(@blue, 50%)",
|
||||||
|
"soloing": "fade(@orange, 50%)",
|
||||||
|
"checked-out": "fade(@green, 30%)",
|
||||||
|
"soloed": "fade(@orange, 30%)",
|
||||||
|
"filter-match": "fade(@blue, 50%)",
|
||||||
|
"clone__progress": "fade(@blue, 70%)",
|
||||||
|
"toolbar__prompt": "fade(@blue, 20%)",
|
||||||
|
"verified": "fade(@green, 30%)",
|
||||||
|
"unverified": "fade(#ffffff, 10%)",
|
||||||
|
"drop-sort-border": "@green",
|
||||||
|
// terminal
|
||||||
|
"terminal__repo-name-color": "turquoise",
|
||||||
|
"terminal__repo-branch-color": "violet",
|
||||||
|
"terminal__repo-tag-color": "coral",
|
||||||
|
"terminal__repo-upstream-color": "lime",
|
||||||
|
"terminal__background": "#121214",
|
||||||
|
"terminal__cursor": "#ffb638",
|
||||||
|
"terminal__cursorAccent": "#ffb638",
|
||||||
|
"terminal__foreground": "#c8c8c8",
|
||||||
|
"terminal__selection": "#37373a", //grey-dark
|
||||||
|
"terminal__black": "#141417",
|
||||||
|
"terminal__red": "#d62c2c",
|
||||||
|
"terminal__green": "#42dd76",
|
||||||
|
"terminal__yellow": "#ffb638",
|
||||||
|
"terminal__blue": "#28a9ff",
|
||||||
|
"terminal__magenta": "#e66dff",
|
||||||
|
"terminal__cyan": "#14e5d4",
|
||||||
|
"terminal__white": "#c8c8c8",
|
||||||
|
"terminal__brightBlack": "#434345",
|
||||||
|
"terminal__brightRed": "#DE5656",
|
||||||
|
"terminal__brightGreen": "#A1EEBB",
|
||||||
|
"terminal__brightYellow": "#FFC560",
|
||||||
|
"terminal__brightBlue": "#94D4FF",
|
||||||
|
"terminal__brightMagenta": "#F3B6FF",
|
||||||
|
"terminal__brightCyan": "#A1F5EE,
|
||||||
|
"terminal__brightWhite": "#E9E9E9,
|
||||||
|
// code editor
|
||||||
|
"code-bg": "@app__bg0",
|
||||||
|
"code-foreground": "@text-normal",
|
||||||
|
"code-blame-color-0": "@graph-color-0",
|
||||||
|
"code-blame-color-1": "@graph-color-1",
|
||||||
|
"code-blame-color-2": "@graph-color-2",
|
||||||
|
"code-blame-color-3": "@graph-color-3",
|
||||||
|
"code-blame-color-4": "@graph-color-4",
|
||||||
|
"code-blame-color-5": "@graph-color-5",
|
||||||
|
"code-blame-color-6": "@graph-color-6",
|
||||||
|
"code-blame-color-7": "@graph-color-7",
|
||||||
|
"code-blame-color-8": "@graph-color-8",
|
||||||
|
"code-blame-color-9": "@graph-color-9",
|
||||||
|
"added-line": "fade(@green, 30%)",
|
||||||
|
"deleted-line": "fade(@red, 30%)",
|
||||||
|
"modified-line": "fade(#000000, 25%)",
|
||||||
|
"conflict-info-color": "#14e5d4", //cyan
|
||||||
|
"conflict-left-border-color": "#14e5d4", //cyan
|
||||||
|
"conflict-left-color": "fade(@conflict-left-border-color, 25%)",
|
||||||
|
"conflict-right-border-color": "#ffb638", //yellow
|
||||||
|
"conflict-right-color": "fade(@conflict-right-border-color, 25%)",
|
||||||
|
"conflict-output-border-color": "#e66dff", //magenta
|
||||||
|
"conflict-output-color": "fade(@conflict-output-border-color, 25%)"
|
||||||
|
},
|
||||||
|
// override specific values just for the toolbar
|
||||||
|
"toolbar": {
|
||||||
|
"text-selected": "rgba(255,255,255,1)",
|
||||||
|
"text-normal": "rgba(255,255,255,.9)",
|
||||||
|
"text-secondary": "rgba(255,255,255,.6)",
|
||||||
|
"text-disabled": "rgba(255,255,255,.4)",
|
||||||
|
"section-border": "rgba(255,255,255,.2)",
|
||||||
|
"input__bg": "rgba(0,0,0,.20)",
|
||||||
|
"link-color": "#14e5d4", //cyan
|
||||||
|
"btn-text": "var(--text-normal)"
|
||||||
|
},
|
||||||
|
// override specific values just for the tabs bar
|
||||||
|
"tabsbar": {
|
||||||
|
"text-selected": "rgba(255,255,255,1)",
|
||||||
|
"text-normal": "rgba(255,255,255,.9)",
|
||||||
|
"text-secondary": "rgba(255,255,255,.6)",
|
||||||
|
"text-disabled": "rgba(255,255,255,.4)",
|
||||||
|
"section-border": "rgba(255,255,255,.2)",
|
||||||
|
"input__bg": "rgba(0,0,0,.20)",
|
||||||
|
"link-color": "#14e5d4", //cyan
|
||||||
|
"btn-text": "var(--text-normal)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
19
home/_mixins/desktop/gnome-sound-recorder.nix
Normal file
19
home/_mixins/desktop/gnome-sound-recorder.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{ config, lib, pkgs, username, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gnome.gnome-sound-recorder
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/SoundRecorder" = {
|
||||||
|
audio-channel = "mono";
|
||||||
|
audio-profile = "flac";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.tmpfiles.rules = [
|
||||||
|
"d ${config.home.homeDirectory}/Audio 0755 ${username} users - -"
|
||||||
|
"L+ ${config.home.homeDirectory}/.local/share/org.gnome.SoundRecorder/ - - - - ${config.home.homeDirectory}/Audio/"
|
||||||
|
];
|
||||||
|
}
|
22
home/_mixins/desktop/localsend.nix
Normal file
22
home/_mixins/desktop/localsend.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# https://localsend.org/
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
localsend
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
localsend = {
|
||||||
|
Unit = {
|
||||||
|
Description = "LocalSend";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.localsend}/bin/localsend";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
363
home/_mixins/desktop/mate.nix
Normal file
363
home/_mixins/desktop/mate.nix
Normal file
|
@ -0,0 +1,363 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/charmap" = {
|
||||||
|
font = "Work Sans 22";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
cursor-theme = "Yaru";
|
||||||
|
document-font-name = "Work Sans 12";
|
||||||
|
font-name = "Work Sans 12";
|
||||||
|
gtk-theme = "Yaru-magenta-dark";
|
||||||
|
icon-theme = "Yaru-magenta-dark";
|
||||||
|
monospace-font-name = "FiraCode Nerd Font Medium 13";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
|
button-layout = ":minimize,maximize,close";
|
||||||
|
theme = "Yaru-dark";
|
||||||
|
titlebar-font = "Work Sans Semi-Bold 12";
|
||||||
|
titlebar-uses-system-font = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/evolution/mail" = {
|
||||||
|
monospace-font = "FiraCode Nerd Font Medium 13";
|
||||||
|
search-gravatar-for-photo = true;
|
||||||
|
show-sender-photo = true;
|
||||||
|
variable-width-font = "Work Sans 12";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/evolution/plugin/external-editor" = {
|
||||||
|
command = "pluma";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gtk/settings/file-chooser" = {
|
||||||
|
sort-directories-first = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/applications-office/calendar" = {
|
||||||
|
exec = "evolution";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/applications-office/tasks" = {
|
||||||
|
exec = "evolution";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/caja/desktop" = {
|
||||||
|
computer-icon-visible = false;
|
||||||
|
font = "Work Sans Medium 12";
|
||||||
|
home-icon-visible = true;
|
||||||
|
trash-icon-visible = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/caja/list-view" = {
|
||||||
|
default-zoom-level = "small";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/caja/preferences" = {
|
||||||
|
default-folder-view = "list-view";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/dictionary" = {
|
||||||
|
print-font = "Work Sans 12";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/disk-usage-analyzer/ui" = {
|
||||||
|
statusbar-visible = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/applications/calculator" = {
|
||||||
|
exec = "mate-calc";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/applications/messager" = {
|
||||||
|
exec = "telegram-desktop";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/applications/terminal" = {
|
||||||
|
exec = "mate-terminal";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/background" = {
|
||||||
|
picture-filename = "";
|
||||||
|
primary-color = "rgb(192,97,203)";
|
||||||
|
secondary-color = "rgb(28,113,216)";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/font-rendering" = {
|
||||||
|
antialiasing = "rgba";
|
||||||
|
hinting = "slight";
|
||||||
|
rgba-order = "rgb";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/interface" = {
|
||||||
|
document-font-name = "Work Sans 12";
|
||||||
|
font-name = "Work Sans 12";
|
||||||
|
gtk-decoration-layout = ":minimize,maximize,close";
|
||||||
|
gtk-theme = "Yaru-magenta-dark";
|
||||||
|
gtk-color-scheme = "tooltip_fg_color:#ffffff\ntooltip_bg_color:#343434";
|
||||||
|
icon-theme = "Yaru-magenta-dark";
|
||||||
|
monospace-font-name = "FiraCode Nerd Font Medium 13";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/peripherals/keyboard/kbd" = {
|
||||||
|
options = [ "terminate\tterminate:ctrl_alt_bksp" "caps\tcaps:none" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/peripherals/mouse" = {
|
||||||
|
cursor-size = 32;
|
||||||
|
cursor-theme = "Yaru";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/peripherals/touchpad" = {
|
||||||
|
disable-while-typing = true;
|
||||||
|
tap-to-click = true;
|
||||||
|
three-finger-click = 0;
|
||||||
|
two-finger-click = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/session" = {
|
||||||
|
idle-delay = 30;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/desktop/sound" = {
|
||||||
|
event-sounds = true;
|
||||||
|
input-feedback-sounds = true;
|
||||||
|
theme-name = "Yaru";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/eom/view" = {
|
||||||
|
extrapolate = false;
|
||||||
|
interpolate = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/notification-daemon" = {
|
||||||
|
theme = "slider";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/marco/general" = {
|
||||||
|
alt-tab-expand-to-fit-title = true;
|
||||||
|
button-layout = ":minimize,maximize,close";
|
||||||
|
center-new-windows = false;
|
||||||
|
compositing-manager = true;
|
||||||
|
num-workspaces = 8;
|
||||||
|
show-tab-border = false;
|
||||||
|
theme = "Yaru-dark";
|
||||||
|
titlebar-font = "Work Sans Semi-Bold 12";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/marco/global-keybindings" = {
|
||||||
|
run-command-1 = "<Mod4>l";
|
||||||
|
run-command-2 = "<Shift>Print";
|
||||||
|
run-command-3 = "<Mod4>e";
|
||||||
|
run-command-4 = "<Mod4>t";
|
||||||
|
run-command-5 = "<Mod4>i";
|
||||||
|
run-command-6 = "<Mod4>s";
|
||||||
|
run-command-7 = "<Control><Shift>Escape";
|
||||||
|
run-command-8 = "<Mod4>Pause";
|
||||||
|
run-command-terminal = "<Control><Alt>t";
|
||||||
|
switch-panels = "disabled";
|
||||||
|
switch-windows = "<Alt>Tab";
|
||||||
|
switch-windows-all = "<Control><Alt>Tab";
|
||||||
|
switch-windows-all-backward = "<Control><Alt><Shift>Tab";
|
||||||
|
switch-windows-backward = "<Alt><Shift>Tab";
|
||||||
|
switch-to-workspace-1 = "<Mod4>1";
|
||||||
|
switch-to-workspace-2 = "<Mod4>2";
|
||||||
|
switch-to-workspace-3 = "<Mod4>3";
|
||||||
|
switch-to-workspace-4 = "<Mod4>4";
|
||||||
|
switch-to-workspace-5 = "<Mod4>5";
|
||||||
|
switch-to-workspace-6 = "<Mod4>6";
|
||||||
|
switch-to-workspace-7 = "<Mod4>7";
|
||||||
|
switch-to-workspace-8 = "<Mod4>8";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/marco/keybinding-commands" = {
|
||||||
|
command-1 = "mate-screensaver-command --lock";
|
||||||
|
command-2 = "/bin/sh -c \"sleep 0.1; mate-screenshot --area\"";
|
||||||
|
command-3 = "caja";
|
||||||
|
command-4 = "mate-terminal --window";
|
||||||
|
command-5 = "mate-control-center";
|
||||||
|
command-6 = "mate-search-tool";
|
||||||
|
command-7 = "mate-system-monitor -p";
|
||||||
|
command-8 = "mate-system-monitor -s";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/marco/window-keybindings" = {
|
||||||
|
maximize = "<Mod4>Up";
|
||||||
|
move-to-center = "<Alt><Mod4>c";
|
||||||
|
tile-to-corner-ne = "<Alt><Mod4>Right";
|
||||||
|
tile-to-corner-nw = "<Alt><Mod4>Left";
|
||||||
|
tile-to-corner-se = "<Shift><Alt><Mod4>Right";
|
||||||
|
tile-to-corner-sw = "<Shift><Alt><Mod4>Left";
|
||||||
|
tile-to-side-e = "<Mod4>Right";
|
||||||
|
tile-to-side-w = "<Mod4>Left";
|
||||||
|
toggle-shaded = "<Control><Alt>s";
|
||||||
|
unmaximize = "<Mod4>Down";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/marco/workspace-names" = {
|
||||||
|
name-1 = " Web ";
|
||||||
|
name-2 = " Work ";
|
||||||
|
name-3 = " Chat ";
|
||||||
|
name-4 = " Code ";
|
||||||
|
name-5 = " Virt ";
|
||||||
|
name-6 = " Cast ";
|
||||||
|
name-7 = " Fun ";
|
||||||
|
name-8 = " Stuff ";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/maximus" = {
|
||||||
|
no-maximize = true;
|
||||||
|
undecorate = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/media-handling" = {
|
||||||
|
autorun-x-content-start-app = [ "x-content/software" "x-content/video-bluray.xml" "x-content/video-dvd.xml" "x-content/video-hddvd.xml" "x-content/video-svcd.xml" "x-content/video-vcd.xml" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel" = {
|
||||||
|
enable-sni-support = true;
|
||||||
|
show-program-list = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/menubar" = {
|
||||||
|
icon-name = "start-here-symbolic";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/panel/objects/workspace-switcher/prefs" = {
|
||||||
|
display-workspace-names = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/pluma" = {
|
||||||
|
auto-indent = true;
|
||||||
|
bracket-matching = true;
|
||||||
|
color-scheme = "Yaru-dark";
|
||||||
|
display-line-numbers = true;
|
||||||
|
display-right-margin = true;
|
||||||
|
display-overview-map = true;
|
||||||
|
editor-font = "FiraCode Nerd Font Medium 13";
|
||||||
|
highlight-current-line = true;
|
||||||
|
insert-spaces = true;
|
||||||
|
print-font-body-pango = "FiraCode Nerd Font Medium 10";
|
||||||
|
print-font-header-pango = "Work Sans 11";
|
||||||
|
print-font-numbers-pango = "Work Sans 8";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/power-manager" = {
|
||||||
|
button-power = "interactive";
|
||||||
|
sleep-computer-ac = 0;
|
||||||
|
sleep-display-ac = 3600;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/screensaver" = {
|
||||||
|
lock-delay = 1;
|
||||||
|
mode = "single";
|
||||||
|
themes = [ "screensavers-footlogo-floaters" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/settings-daemon/plugins/media-keys" = {
|
||||||
|
magnifier = "<Alt><Mod4>m";
|
||||||
|
on-screen-keyboard = "<Alt><Mod4>k";
|
||||||
|
screenreader = "<Alt><Mod4>s";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/stickynotes" = {
|
||||||
|
default-font = "Work Sans Medium 10";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/system-monitor" = {
|
||||||
|
cpu-color0 = "#9A0606";
|
||||||
|
cpu-color1 = "#B42828";
|
||||||
|
cpu-color10 = "#6B9A06";
|
||||||
|
cpu-color11 = "#86B428";
|
||||||
|
cpu-color12 = "#A4CD50";
|
||||||
|
cpu-color13 = "#C4E67F";
|
||||||
|
cpu-color14 = "#E6FFB3";
|
||||||
|
cpu-color15 = "#066B9A";
|
||||||
|
cpu-color16 = "#2886B4";
|
||||||
|
cpu-color17 = "#50A5CD";
|
||||||
|
cpu-color18 = "#7FC4E6";
|
||||||
|
cpu-color19 = "#B3E6FF";
|
||||||
|
cpu-color2 = "#CD5050";
|
||||||
|
cpu-color20 = "#21069A";
|
||||||
|
cpu-color21 = "#4028B4";
|
||||||
|
cpu-color22 = "#6550CD";
|
||||||
|
cpu-color23 = "#907FE6";
|
||||||
|
cpu-color24 = "#C0B4FF";
|
||||||
|
cpu-color25 = "#870087";
|
||||||
|
cpu-color26 = "#BC00BC";
|
||||||
|
cpu-color27 = "#F100F1";
|
||||||
|
cpu-color28 = "#FF4FFF";
|
||||||
|
cpu-color29 = "#FF87FF";
|
||||||
|
cpu-color3 = "#E67F7F";
|
||||||
|
cpu-color30 = "#C4A000";
|
||||||
|
cpu-color31 = "#EDD400";
|
||||||
|
cpu-color4 = "#FFB4B4";
|
||||||
|
cpu-color5 = "#9A5306";
|
||||||
|
cpu-color6 = "#B47028";
|
||||||
|
cpu-color7 = "#CD8F50";
|
||||||
|
cpu-color8 = "#E6B37F";
|
||||||
|
cpu-color9 = "#FFDBB5";
|
||||||
|
show-tree = true;
|
||||||
|
solaris-mode = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/mate/terminal/profile" = {
|
||||||
|
allow-bold = false;
|
||||||
|
use-system-font = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme = {
|
||||||
|
name = "Yaru";
|
||||||
|
package = pkgs.yaru-theme;
|
||||||
|
size = 32;
|
||||||
|
};
|
||||||
|
|
||||||
|
font = {
|
||||||
|
name = "Work Sans 12";
|
||||||
|
package = pkgs.work-sans;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk2 = {
|
||||||
|
configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||||
|
extraConfig = ''
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk3 = {
|
||||||
|
extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk4 = {
|
||||||
|
extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
name = "Yaru-dark-magenta";
|
||||||
|
package = pkgs.yaru-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
name = "Yaru-dark-magenta";
|
||||||
|
package = pkgs.yaru-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
name = "Yaru";
|
||||||
|
package = pkgs.yaru-theme;
|
||||||
|
size = 32;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
};
|
||||||
|
}
|
19
home/_mixins/desktop/meld.nix
Normal file
19
home/_mixins/desktop/meld.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
meld
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/meld" = {
|
||||||
|
indent-width = 4;
|
||||||
|
insert-spaces-instead-of-tabs = true;
|
||||||
|
highlight-current-line = true;
|
||||||
|
show-line-numbers = true;
|
||||||
|
prefer-dark-theme = true;
|
||||||
|
highlight-syntax = true;
|
||||||
|
style-scheme = "Yaru-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
267
home/_mixins/desktop/pantheon.nix
Normal file
267
home/_mixins/desktop/pantheon.nix
Normal file
|
@ -0,0 +1,267 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
dconf.settings = {
|
||||||
|
"com/github/stsdc/monitor/settings" = {
|
||||||
|
background-state = true;
|
||||||
|
indicator-state = true;
|
||||||
|
indicator-cpu-state = false;
|
||||||
|
indicator-gpu-state = false;
|
||||||
|
indicator-memory-state = false;
|
||||||
|
indicator-network-download-state = true;
|
||||||
|
indicator-network-upload-state = true;
|
||||||
|
indicator-temperature-state = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"desktop/ibus/panel" = {
|
||||||
|
show-icon-on-systray = false;
|
||||||
|
use-custom-font = true;
|
||||||
|
custom-font = "Work Sans 10";
|
||||||
|
};
|
||||||
|
|
||||||
|
"desktop/ibus/panel/emoji" = {
|
||||||
|
font = "JoyPixels 16";
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/code/saved-state" = {
|
||||||
|
outline-visible = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/code/settings" = {
|
||||||
|
strip-trailing-on-save = true;
|
||||||
|
show-mini-map = true;
|
||||||
|
show-right-margin = true;
|
||||||
|
style-scheme = "Yaru-dark";
|
||||||
|
prefer-dark-style = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/desktop/agent-geoclue2" = {
|
||||||
|
location-enabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/desktop/wingpanel" = {
|
||||||
|
use-transparency = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/desktop/wingpanel/datetime" = {
|
||||||
|
clock-format = "24h";
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/desktop/wingpanel/sound" = {
|
||||||
|
max-volume = 100.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/files/preferences" = {
|
||||||
|
singleclick-select = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/notifications/applications/gala-other" = {
|
||||||
|
remember = false;
|
||||||
|
sounds = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/settings-daemon/datetime" = {
|
||||||
|
show-weeks = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/settings-daemon/housekeeping" = {
|
||||||
|
cleanup-downloads-folder = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"io/elementary/terminal/settings" = {
|
||||||
|
audible-bell = false;
|
||||||
|
background = "rgb(18,18,20)";
|
||||||
|
cursor-color = "rgb(255,182,56)";
|
||||||
|
follow-last-tab = "true";
|
||||||
|
font = "FiraCode Nerd Font Medium 13";
|
||||||
|
foreground = "rgb(200,200,200)";
|
||||||
|
natural-copy-paste = false;
|
||||||
|
palette = "rgb(20,20,23):rgb(214,43,43):rgb(65,221,117):rgb(255,182,56):rgb(40,169,255):rgb(230,109,255):rgb(20,229,211):rgb(200,200,200):rgb(67,67,69):rgb(222,86,86):rgb(161,238,187):rgb(255,219,156):rgb(148,212,255):rgb(243,182,255):rgb(161,245,238):rgb(233,233,233)";
|
||||||
|
theme = "custom";
|
||||||
|
unsafe-paste-alert = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"net/launchpad/plank/docks/dock1" = {
|
||||||
|
alignment = "center";
|
||||||
|
hide-mode = "window-dodge";
|
||||||
|
icon-size = 48;
|
||||||
|
pinned-only = false;
|
||||||
|
position = "left";
|
||||||
|
theme = "Transparent";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/datetime" = {
|
||||||
|
automatic-timezone = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/input-sources" = {
|
||||||
|
xkb-options = [ "grp:alt_shift_toggle" "caps:none" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
clock-format = "24h";
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
cursor-size = 32;
|
||||||
|
cursor-theme = "elementary";
|
||||||
|
document-font-name = "Work Sans 12";
|
||||||
|
font-name = "Work Sans 12";
|
||||||
|
gtk-theme = "io.elementary.stylesheet.bubblegum";
|
||||||
|
gtk-enable-primary-paste = true;
|
||||||
|
icon-theme = "elementary";
|
||||||
|
monospace-font-name = "FiraCode Nerd Font Medium 13";
|
||||||
|
text-scaling-factor = 1.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/session" = {
|
||||||
|
idle-delay = lib.hm.gvariant.mkUint32 7200;
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/sound" = {
|
||||||
|
theme-name = "elementary";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
|
switch-to-workspace-left = [ "<Primary><Alt>Left" ];
|
||||||
|
switch-to-workspace-right = [ "<Primary><Alt>Right" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
|
audible-bell = false;
|
||||||
|
button-layout = ":minimize,maximize,close";
|
||||||
|
num-workspaces = 8;
|
||||||
|
titlebar-font = "Work Sans Semi-Bold 12";
|
||||||
|
workspace-names = [ "Web" "Work" "Chat" "Code" "Virt" "Cast" "Fun" "Stuff" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/GWeather" = {
|
||||||
|
temperature-unit = "centigrade";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
workspaces-only-on-primary = false;
|
||||||
|
dynamic-workspaces = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"org/gnome/mutter/keybindings" = {
|
||||||
|
toggle-tiled-left = [ "<Super>Left" ];
|
||||||
|
toggle-tiled-right = [ "<Super>Right" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
|
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||||
|
binding = "<Super>e";
|
||||||
|
command = "io.elementary.files -n ~/";
|
||||||
|
name = "io.elementary.files -n ~/";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/power" = {
|
||||||
|
power-button-action = "interactive";
|
||||||
|
sleep-inactive-ac-timeout = 0;
|
||||||
|
sleep-inactive-ac-type = "nothing";
|
||||||
|
};
|
||||||
|
|
||||||
|
#"org/gnome/settings-daemon/plugins/xsettings" = {
|
||||||
|
# overrides = "{\'Gtk/DialogsUseHeader\': <0>, \'Gtk/ShellShowsAppMenu\': <0>, \'Gtk/EnablePrimaryPaste\': <1>, \'Gtk/DecorationLayout\': <\':minimize,maximize,close,menu\'>, \'Gtk/ShowUnicodeMenu\': <0>}";
|
||||||
|
#};
|
||||||
|
|
||||||
|
"org/gtk/gtk4/Settings/FileChooser" = {
|
||||||
|
clock-format = "24h";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gtk/Settings/FileChooser" = {
|
||||||
|
clock-format = "24h";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/pantheon/desktop/gala/appearance" = {
|
||||||
|
button-layout = ":minimize,maximize,close";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/pantheon/desktop/gala/behavior" = {
|
||||||
|
dynamic-workspaces = false;
|
||||||
|
overlay-action = "io.elementary.wingpanel --toggle-indicator=app-launcher";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/pantheon/desktop/gala/mask-corners" = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme = {
|
||||||
|
name = "elementary";
|
||||||
|
package = pkgs.pantheon.elementary-icon-theme;
|
||||||
|
size = 32;
|
||||||
|
};
|
||||||
|
|
||||||
|
font = {
|
||||||
|
name = "Work Sans 12";
|
||||||
|
package = pkgs.work-sans;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk2 = {
|
||||||
|
configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||||
|
extraConfig = ''
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk3 = {
|
||||||
|
extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk4 = {
|
||||||
|
extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
name = "elementary";
|
||||||
|
package = pkgs.pantheon.elementary-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
name = "io.elementary.stylesheet.bubblegum";
|
||||||
|
package = pkgs.pantheon.elementary-gtk-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
package = pkgs.pantheon.elementary-icon-theme;
|
||||||
|
name = "elementary";
|
||||||
|
size = 32;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"${config.xdg.configHome}/autostart/ibus-daemon.desktop".text = "
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=IBus Daemon
|
||||||
|
Comment=IBus Daemon
|
||||||
|
Type=Application
|
||||||
|
Exec=${pkgs.ibus}/bin/ibus-daemon --daemonize --desktop=pantheon --replace --xim
|
||||||
|
Categories=
|
||||||
|
Terminal=false
|
||||||
|
NoDisplay=true
|
||||||
|
StartupNotify=false";
|
||||||
|
|
||||||
|
"${config.xdg.configHome}/autostart/monitor.desktop".text = "
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Monitor Indicators
|
||||||
|
Comment=Monitor Indicators
|
||||||
|
Type=Application
|
||||||
|
Exec=/run/current-system/sw/bin/com.github.stsdc.monitor --start-in-background
|
||||||
|
Icon=com.github.stsdc.monitor
|
||||||
|
Categories=
|
||||||
|
Terminal=false
|
||||||
|
StartupNotify=false";
|
||||||
|
};
|
||||||
|
}
|
22
home/_mixins/desktop/rhythmbox.nix
Normal file
22
home/_mixins/desktop/rhythmbox.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
rhythmbox
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/rhythmbox/plugins" = {
|
||||||
|
active-plugins = [ "rb" "power-manager" "mpris" "iradio" "generic-player" "audiocd" "android" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/rhythmbox/podcast" = {
|
||||||
|
download-interval = "manual";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/rhythmbox/sources" = {
|
||||||
|
browser-views = "genres-artists-albums";
|
||||||
|
visible-columns = [ "post-time" "duration" "track-number" "album" "genre" "beats-per-minute" "play-count" "artist" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
75
home/_mixins/desktop/sakura.conf
Normal file
75
home/_mixins/desktop/sakura.conf
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
[sakura]
|
||||||
|
colorset1_fore=rgb(192,192,192)
|
||||||
|
colorset1_back=rgb(18,18,20)
|
||||||
|
colorset1_curs=rgb(255,182,56)
|
||||||
|
colorset1_scheme=0
|
||||||
|
colorset1_key=F1
|
||||||
|
colorset2_fore=rgb(192,192,192)
|
||||||
|
colorset2_back=rgb(0,0,0)
|
||||||
|
colorset2_curs=rgb(255,255,255)
|
||||||
|
colorset2_scheme=1
|
||||||
|
colorset2_key=F2
|
||||||
|
colorset3_fore=rgb(192,192,192)
|
||||||
|
colorset3_back=rgb(0,0,0)
|
||||||
|
colorset3_curs=rgb(255,255,255)
|
||||||
|
colorset3_scheme=1
|
||||||
|
colorset3_key=F3
|
||||||
|
colorset4_fore=rgb(192,192,192)
|
||||||
|
colorset4_back=rgb(0,0,0)
|
||||||
|
colorset4_curs=rgb(255,255,255)
|
||||||
|
colorset4_scheme=1
|
||||||
|
colorset4_key=F4
|
||||||
|
colorset5_fore=rgb(192,192,192)
|
||||||
|
colorset5_back=rgb(0,0,0)
|
||||||
|
colorset5_curs=rgb(255,255,255)
|
||||||
|
colorset5_scheme=1
|
||||||
|
colorset5_key=F5
|
||||||
|
colorset6_fore=rgb(192,192,192)
|
||||||
|
colorset6_back=rgb(0,0,0)
|
||||||
|
colorset6_curs=rgb(255,255,255)
|
||||||
|
colorset6_scheme=1
|
||||||
|
colorset6_key=F6
|
||||||
|
last_colorset=1
|
||||||
|
bold_is_bright=false
|
||||||
|
scroll_lines=4096
|
||||||
|
font=FixedsysModernV05 Nerd Font Mono 18
|
||||||
|
show_tab_bar=never
|
||||||
|
scrollbar=false
|
||||||
|
closebutton=false
|
||||||
|
tabs_on_bottom=false
|
||||||
|
less_questions=true
|
||||||
|
disable_numbered_tabswitch=true
|
||||||
|
use_fading=false
|
||||||
|
scrollable_tabs=true
|
||||||
|
urgent_bell=Yes
|
||||||
|
audible_bell=Yes
|
||||||
|
blinking_cursor=Yes
|
||||||
|
cursor_type=VTE_CURSOR_SHAPE_BLOCK
|
||||||
|
word_chars=-,./?%&#_~:
|
||||||
|
palette=1
|
||||||
|
add_tab_accelerator=5
|
||||||
|
del_tab_accelerator=5
|
||||||
|
switch_tab_accelerator=8
|
||||||
|
move_tab_accelerator=9
|
||||||
|
copy_accelerator=5
|
||||||
|
scrollbar_accelerator=5
|
||||||
|
open_url_accelerator=5
|
||||||
|
font_size_accelerator=4
|
||||||
|
set_tab_name_accelerator=5
|
||||||
|
search_accelerator=5
|
||||||
|
add_tab_key=T
|
||||||
|
del_tab_key=W
|
||||||
|
prev_tab_key=Left
|
||||||
|
next_tab_key=Right
|
||||||
|
copy_key=C
|
||||||
|
paste_key=V
|
||||||
|
scrollbar_key=S
|
||||||
|
set_tab_name_key=N
|
||||||
|
search_key=F
|
||||||
|
increase_font_size_key=plus
|
||||||
|
decrease_font_size_key=minus
|
||||||
|
fullscreen_key=F11
|
||||||
|
set_colorset_accelerator=5
|
||||||
|
icon_file=terminal-tango.svg
|
||||||
|
paste_button=2
|
||||||
|
menu_button=3
|
10
home/_mixins/desktop/sakura.nix
Normal file
10
home/_mixins/desktop/sakura.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ config, pkgs, ... }: {
|
||||||
|
home = {
|
||||||
|
file = {
|
||||||
|
"${config.xdg.configHome}/sakura/sakura.conf".text = builtins.readFile ./sakura.conf;
|
||||||
|
};
|
||||||
|
packages = with pkgs; [
|
||||||
|
sakura
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
86
home/_mixins/desktop/tilix.nix
Normal file
86
home/_mixins/desktop/tilix.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
tilix
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"com/gexperts/Tilix" = {
|
||||||
|
app-title = "\${appName}: \${directory}";
|
||||||
|
paste-strip-trailing-whitespace = true;
|
||||||
|
prompt-on-close = true;
|
||||||
|
quake-hide-lose-focus = true;
|
||||||
|
quake-specific-monitor = 0;
|
||||||
|
session-name = "\${id}";
|
||||||
|
terminal-title-show-when-single = true;
|
||||||
|
terminal-title-style = "none";
|
||||||
|
use-tabs = true;
|
||||||
|
window-style = "normal";
|
||||||
|
};
|
||||||
|
|
||||||
|
"com/gexperts/Tilix/keybindings" = {
|
||||||
|
win-view-sidebar = "<Primary>F12";
|
||||||
|
};
|
||||||
|
|
||||||
|
"com/gexperts/Tilix/profiles" = {
|
||||||
|
default = "d1def387-a465-4497-81bc-b8b2de782b2d";
|
||||||
|
list = [ "d1def387-a465-4497-81bc-b8b2de782b2d" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"com/gexperts/Tilix/profiles/d1def387-a465-4497-81bc-b8b2de782b2d" = {
|
||||||
|
background-color = "#121212121414";
|
||||||
|
badge-color = "#E6E66D6DFFFF";
|
||||||
|
badge-color-set = true;
|
||||||
|
badge-font = "FiraCode Nerd Font Mono 12";
|
||||||
|
badge-text = "\${columns}x\${rows}";
|
||||||
|
badge-use-system-font = false;
|
||||||
|
bold-color = "#C8C8C8C8C8C8";
|
||||||
|
bold-color-set = true;
|
||||||
|
bold-is-bright = false;
|
||||||
|
cell-height-scale = 1.0;
|
||||||
|
cell-width-scale = 1.0;
|
||||||
|
cursor-background-color = "#FFFFB6B63838";
|
||||||
|
cursor-blink-mode = "on";
|
||||||
|
cursor-colors-set = true;
|
||||||
|
cursor-foreground-color = "#FFFFB6B63838";
|
||||||
|
default-size-columns = 132;
|
||||||
|
default-size-rows = 50;
|
||||||
|
draw-margin = 80;
|
||||||
|
font = "FiraCode Nerd Font Medium 12";
|
||||||
|
foreground-color = "#C8C8C8C8C8C8";
|
||||||
|
highlight-background-color = "#1E1E1E1E2020";
|
||||||
|
highlight-colors-set = false;
|
||||||
|
highlight-foreground-color = "#C8C8C8C8C8C8";
|
||||||
|
palette = [ "#121212121414" "#D6D62B2B2B2B" "#4141DDDD7575" "#FFFFB6B63838" "#2828A9A9FFFF" "#E6E66D6DFFFF" "#1414E5E5D3D3" "#C8C8C8C8C8C8" "#434343434545" "#DEDE56565656" "#A1A1EEEEBBBB" "#FFFFC5C56060" "#9494D4D4FFFF" "#F2F2B6B6FFFF" "#A0A0F5F5EDED" "#E9E9E9E9E9E9" ];
|
||||||
|
scrollback-unlimited = true;
|
||||||
|
terminal-title = "";
|
||||||
|
use-system-font = true;
|
||||||
|
use-theme-colors = false;
|
||||||
|
visible-name = "Bearded Dark Vivid";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/desktop/default/applications/terminal" = {
|
||||||
|
exec = "tilix";
|
||||||
|
exec-arg = "-e";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
|
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/" ];
|
||||||
|
terminal = [ "" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||||
|
binding = "<Super>t";
|
||||||
|
command = "tilix";
|
||||||
|
name = "tilix";
|
||||||
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
|
||||||
|
binding = "<Primary><Alt>t";
|
||||||
|
command = "tilix";
|
||||||
|
name = "tilix";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
22
home/_mixins/desktop/vorta.nix
Normal file
22
home/_mixins/desktop/vorta.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
borgbackup
|
||||||
|
vorta
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
vorta = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Vorta";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.vorta}/bin/vorta --daemonise";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
21
home/_mixins/services/keybase-gui.nix
Normal file
21
home/_mixins/services/keybase-gui.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
keybase-gui
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
keybase-gui = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Keybase GUI";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.keybase-gui}/bin/keybase-gui";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
12
home/_mixins/services/keybase.nix
Normal file
12
home/_mixins/services/keybase.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ desktop, lib, ... }: {
|
||||||
|
imports = [ ] ++ lib.optionals (desktop != null) [
|
||||||
|
./keybase-gui.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
kbfs = {
|
||||||
|
enable = true;
|
||||||
|
mountPoint = "Keybase";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
8
home/_mixins/services/syncthing-tray.nix
Normal file
8
home/_mixins/services/syncthing-tray.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
services.syncthing = {
|
||||||
|
tray = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.unstable.syncthingtray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
16
home/_mixins/services/syncthing.nix
Normal file
16
home/_mixins/services/syncthing.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ config, desktop, hostname, lib, ... }: {
|
||||||
|
imports = [ ] ++ lib.optionals (desktop != null) [
|
||||||
|
./syncthing-tray.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
extraOptions = [
|
||||||
|
"--config=${config.home.homeDirectory}/Syncthing/Devices/${hostname}"
|
||||||
|
"--data=${config.home.homeDirectory}/Syncthing/DB/${hostname}"
|
||||||
|
"--gui-address=0.0.0.0:8384"
|
||||||
|
"--no-default-folder"
|
||||||
|
"--no-browser"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
54
home/gburd/.gitconfig
Normal file
54
home/gburd/.gitconfig
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
[format]
|
||||||
|
pretty=format:%C(yellow)%h%Creset | %C(green)%ad (%ar)%Creset | %C(blue)%an%Creset | %s
|
||||||
|
|
||||||
|
[push]
|
||||||
|
default = simple
|
||||||
|
|
||||||
|
[branch]
|
||||||
|
autosetuprebase = always
|
||||||
|
|
||||||
|
[receive]
|
||||||
|
denyCurrentBranch = warn
|
||||||
|
|
||||||
|
[filter "media"]
|
||||||
|
clean = git media clean %f
|
||||||
|
smudge = git media smudge %f
|
||||||
|
required = true
|
||||||
|
|
||||||
|
# http://nicercode.github.io/blog/2013-04-30-excel-and-line-endings/
|
||||||
|
[filter "cr"]
|
||||||
|
clean = LC_CTYPE=C awk '{printf(\"%s\\n\", $0)}' | LC_CTYPE=C tr '\\r' '\\n'
|
||||||
|
smudge = tr '\\n' '\\r'
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
tool = meld
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
[difftool "meld"]
|
||||||
|
cmd = meld "$LOCAL" "$REMOTE"
|
||||||
|
|
||||||
|
[merge]
|
||||||
|
tool = meld
|
||||||
|
[mergetool "meld"]
|
||||||
|
# Choose one of these 2 lines (not both!) explained below.
|
||||||
|
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
||||||
|
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
||||||
|
|
||||||
|
[core]
|
||||||
|
editor = vim
|
||||||
|
# editor = emacs -nw -q
|
||||||
|
excludesfile = ~/.gitignore_global
|
||||||
|
pager = less -FMRiX
|
||||||
|
quotepath = false
|
||||||
|
|
||||||
|
[filter "lfs"]
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
|
||||||
|
[init]
|
||||||
|
templateDir = /home/gregburd/.git-template
|
||||||
|
defaultBranch = main
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./bash.nix
|
./bash.nix
|
||||||
./bat.nix
|
./bat.nix
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
./starship.nix
|
./starship.nix
|
||||||
./xpo.nix
|
./xpo.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
comma # Install and run programs by sticking a , before them
|
comma # Install and run programs by sticking a , before them
|
||||||
distrobox # Nice escape hatch, integrates docker images with my environment
|
distrobox # Nice escape hatch, integrates docker images with my environment
|
||||||
|
@ -41,6 +42,6 @@
|
||||||
|
|
||||||
tly # Tally counter
|
tly # Tally counter
|
||||||
|
|
||||||
# inputs.nh.default # nixos-rebuild and home-manager CLI wrapper
|
inputs.nh.default # nixos-rebuild and home-manager CLI wrapper
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
let
|
let
|
||||||
ssh = "${pkgs.openssh}/bin/ssh";
|
ssh = "${pkgs.openssh}/bin/ssh";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, ... }:
|
||||||
let
|
let
|
||||||
pinentry =
|
pinentry =
|
||||||
if config.gtk.enable then {
|
if config.gtk.enable then {
|
||||||
|
@ -13,7 +13,8 @@ in
|
||||||
# home.packages = pinentry.packages;
|
# home.packages = pinentry.packages;
|
||||||
home.packages = [ pkgs.pinentry-curses ];
|
home.packages = [ pkgs.pinentry-curses ];
|
||||||
|
|
||||||
services.gpg-agent = { #TODO: gnupg vs gpg-agent ?
|
services.gpg-agent = {
|
||||||
|
#TODO: gnupg vs gpg-agent ?
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSshSupport = true;
|
enableSshSupport = true;
|
||||||
# sshKeys = [ "149F16412997785363112F3DBD713BC91D51B831" ];
|
# sshKeys = [ "149F16412997785363112F3DBD713BC91D51B831" ];
|
|
@ -50,11 +50,18 @@
|
||||||
style = "bold red";
|
style = "bold red";
|
||||||
};
|
};
|
||||||
custom = {
|
custom = {
|
||||||
nix_inspect = let
|
nix_inspect =
|
||||||
|
let
|
||||||
excluded = [
|
excluded = [
|
||||||
"kitty" "imagemagick" "ncurses" "user-environment" "pciutils" "binutils-wrapper"
|
"kitty"
|
||||||
|
"imagemagick"
|
||||||
|
"ncurses"
|
||||||
|
"user-environment"
|
||||||
|
"pciutils"
|
||||||
|
"binutils-wrapper"
|
||||||
];
|
];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
disabled = false;
|
disabled = false;
|
||||||
when = "test -z $IN_NIX_SHELL";
|
when = "test -z $IN_NIX_SHELL";
|
||||||
command = "${(lib.getExe pkgs.nix-inspect)} ${(lib.concatStringsSep " " excluded)}";
|
command = "${(lib.getExe pkgs.nix-inspect)} ${(lib.concatStringsSep " " excluded)}";
|
|
@ -1,21 +1,17 @@
|
||||||
{ inputs, lib, pkgs, config, outputs, ... }:
|
{ inputs, lib, pkgs, config, outputs, ... }:
|
||||||
let
|
|
||||||
inherit (inputs.nix-colors) colorSchemes;
|
|
||||||
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) colorschemeFromPicture nixWallpaperFromScheme;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.impermanence.nixosModules.home-manager.impermanence
|
inputs.impermanence.nixosModules.home-manager.impermanence
|
||||||
inputs.nix-colors.homeManagerModule
|
inputs.nix-colors.homeManagerModule
|
||||||
../features/cli
|
./cli
|
||||||
../features/nvim
|
./nvim
|
||||||
] ++ (builtins.attrValues outputs.homeManagerModules);
|
] ++ (builtins.attrValues outputs.homeManagerModules);
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
overlays = builtins.attrValues outputs.overlays;
|
overlays = builtins.attrValues outputs.overlays;
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
allowUnfreePredicate = (_: true);
|
allowUnfreePredicate = _: true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -41,7 +37,7 @@ in
|
||||||
stateVersion = lib.mkDefault "23.05";
|
stateVersion = lib.mkDefault "23.05";
|
||||||
sessionPath = [ "$HOME/.local/bin" ];
|
sessionPath = [ "$HOME/.local/bin" ];
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
FLAKE = "$HOME/Documents/NixConfig";
|
FLAKE = "$HOME/ws/nix-config";
|
||||||
};
|
};
|
||||||
|
|
||||||
persistence = {
|
persistence = {
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let inherit (config.colorscheme) colors;
|
let inherit (config.colorscheme) colors;
|
||||||
in {
|
in {
|
127
home/gburd/_mixins/desktop/common/firefox.nix
Normal file
127
home/gburd/_mixins/desktop/common/firefox.nix
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.browserpass.enable = true;
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
extraPolicies = {
|
||||||
|
CaptivePortal = false;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
DisablePocket = true;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DisableFirefoxAccounts = false;
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
OfferToSaveLogins = false;
|
||||||
|
OfferToSaveLoginsDefault = false;
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
FirefoxHome = {
|
||||||
|
Search = true;
|
||||||
|
Pocket = false;
|
||||||
|
Snippets = false;
|
||||||
|
TopSites = false;
|
||||||
|
Highlights = false;
|
||||||
|
};
|
||||||
|
UserMessaging = {
|
||||||
|
ExtensionRecommendations = false;
|
||||||
|
SkipOnboarding = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles.gburd = {
|
||||||
|
id = 0;
|
||||||
|
bookmarks = { };
|
||||||
|
extensions = with pkgs.inputs.firefox-addons; [
|
||||||
|
# autoplay-no-more
|
||||||
|
bypass-paywalls-clean
|
||||||
|
i-dont-care-about-cookies
|
||||||
|
# kagi-search-for-firefox
|
||||||
|
clearurls
|
||||||
|
decentraleyes
|
||||||
|
disconnect
|
||||||
|
duckduckgo-privacy-essentials
|
||||||
|
floccus
|
||||||
|
ghostery
|
||||||
|
# https-everywhere
|
||||||
|
# languagetool
|
||||||
|
# onetab
|
||||||
|
privacy-badger
|
||||||
|
privacy-badger
|
||||||
|
privacy-redirect
|
||||||
|
proton-pass
|
||||||
|
react-devtools
|
||||||
|
ublock-origin
|
||||||
|
];
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
default = "Kagi";
|
||||||
|
engines = {
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{ name = "type"; value = "packages"; }
|
||||||
|
{ name = "query"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@np" ];
|
||||||
|
};
|
||||||
|
"NixOS Wiki" = {
|
||||||
|
urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
|
||||||
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
|
definedAliases = [ "@nw" ];
|
||||||
|
};
|
||||||
|
"Wikipedia (en)".metaData.alias = "@wiki";
|
||||||
|
"Google".metaData.hidden = true;
|
||||||
|
"Amazon.com".metaData.hidden = true;
|
||||||
|
"Bing".metaData.hidden = true;
|
||||||
|
"eBay".metaData.hidden = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||||
|
user_pref("full-screen-api.ignore-widgets", true);
|
||||||
|
user_pref("media.ffmpeg.vaapi.enabled", true);
|
||||||
|
user_pref("media.rdd-vpx.enabled", true);
|
||||||
|
'';
|
||||||
|
userChrome = ''
|
||||||
|
# a css
|
||||||
|
'';
|
||||||
|
userContent = ''
|
||||||
|
# Here too
|
||||||
|
'';
|
||||||
|
settings = {
|
||||||
|
"general.smoothScroll" = true;
|
||||||
|
"browser.disableResetPrompt" = true;
|
||||||
|
"browser.download.panel.shown" = true;
|
||||||
|
"browser.download.useDownloadDir" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
"browser.shell.checkDefaultBrowser" = false;
|
||||||
|
"browser.shell.defaultBrowserCheckCount" = 1;
|
||||||
|
"browser.startup.homepage" = "about:blank";
|
||||||
|
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"nav-bar":["back-button","forward-button","stop-reload-button","home-button","urlbar-container","downloads-button","library-button","ublock0_raymondhill_net-browser-action","_testpilot-containers-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","ublock0_raymondhill_net-browser-action","_testpilot-containers-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","widget-overflow-fixed-list"],"currentVersion":18,"newElementCount":4}'';
|
||||||
|
"dom.security.https_only_mode" = true;
|
||||||
|
"identity.fxaccounts.enabled" = false;
|
||||||
|
"privacy.trackingprotection.enabled" = true;
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home = {
|
||||||
|
persistence = {
|
||||||
|
# Not persisting is safer, but... <shrug>
|
||||||
|
"/persist/home/gburd".directories = [ ".mozilla/firefox" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.mimeApps.defaultApplications = {
|
||||||
|
"text/html" = [ "firefox.desktop" ];
|
||||||
|
"text/xml" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||||
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, ... }: {
|
{ pkgs, ... }: {
|
||||||
home.packages = [ pkgs.sublime-music ];
|
home.packages = [ pkgs.sublime-music ];
|
||||||
home.persistence = {
|
home.persistence = {
|
||||||
"/persist/home/gburd".directories = [ ".config/sublime-music" ];
|
"/persist/home/gburd".directories = [ ".config/sublime-music" ];
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
let inherit (config.colorscheme) colors kind;
|
let inherit (config.colorscheme) colors kind;
|
||||||
in
|
in
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (config) colorscheme;
|
inherit (config) colorscheme;
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
../common/gnome-wm
|
../common/gnome-wm
|
|
@ -1,6 +1,6 @@
|
||||||
{ colorscheme }: {
|
{ colorscheme }: {
|
||||||
"${colorscheme.slug}" = {
|
"${colorscheme.slug}" = {
|
||||||
palette = builtins.mapAttrs (name: value: "#${value}") colorscheme.colors; # Add leading '#'
|
palette = builtins.mapAttrs (_name: value: "#${value}") colorscheme.colors; # Add leading '#'
|
||||||
"attributes" = "base09";
|
"attributes" = "base09";
|
||||||
"comment" = { fg = "base03"; modifiers = [ "italic" ]; };
|
"comment" = { fg = "base03"; modifiers = [ "italic" ]; };
|
||||||
"constant" = "base09";
|
"constant" = "base09";
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue