mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-06 19:00:14 +00:00
Compare commits
51 Commits
c59e914430
...
keyd-2.4.3
Author | SHA1 | Date | |
---|---|---|---|
1c9bd21ced | |||
14d2cbfdfb | |||
b4c08adea4 | |||
13972b1d66 | |||
352f515798 | |||
d84be966fc | |||
c9aa20c703 | |||
771d41254f | |||
90092c48ec | |||
159a6efe09 | |||
0008de7434 | |||
9826178c0e | |||
d2b1d95281 | |||
4c71797818 | |||
dba975fe86 | |||
1a9ab975d1 | |||
67251a6d8d | |||
967175df70 | |||
5561c85b43 | |||
05a8f4a49b | |||
a1f651010b | |||
3cecb8810c | |||
af753153f1 | |||
d2afdd56ae | |||
18fec1d058 | |||
6a0e70568a | |||
9b44d8f171 | |||
1cf3405103 | |||
7439d4bf39 | |||
316c33e66c | |||
c845ae2fd4 | |||
5bc10bef87 | |||
f0e1fc740f | |||
5826877ad2 | |||
d3b0f21313 | |||
b7d1921c4d | |||
de1337bf58 | |||
3cff7e090c | |||
21794891e7 | |||
20e5d7fef5 | |||
b6a6c761e9 | |||
fc4bd9e4a8 | |||
25e3de5058 | |||
9694467ba0 | |||
71e6780439 | |||
e6d0852be0 | |||
00564c0c40 | |||
57b38a417e | |||
7f9ce5925e | |||
5ce9a26441 | |||
73680961a0 |
16
.github/workflows/update.yml
vendored
16
.github/workflows/update.yml
vendored
@ -33,6 +33,20 @@ jobs:
|
|||||||
- name: Check the Flake
|
- name: Check the Flake
|
||||||
run: nix flake check
|
run: nix flake check
|
||||||
- name: Enable Pull Request Automerge
|
- name: Enable Pull Request Automerge
|
||||||
run: gh pr merge --rebase --auto ${{ steps.update.outputs.pull-request-number }}
|
if: success()
|
||||||
|
run: |
|
||||||
|
gh pr merge \
|
||||||
|
--rebase \
|
||||||
|
--auto \
|
||||||
|
${{ steps.update.outputs.pull-request-number }}
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
- name: Close Pull Request If Failed
|
||||||
|
if: failure()
|
||||||
|
run: |
|
||||||
|
gh pr close \
|
||||||
|
--comment "Auto-closing pull request" \
|
||||||
|
--delete-branch \
|
||||||
|
${{ steps.update.outputs.pull-request-number }}
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
9
apps/README.md
Normal file
9
apps/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Apps
|
||||||
|
|
||||||
|
These are all my miscellaneous utilies and scripts to accompany this project.
|
||||||
|
|
||||||
|
They can be run with:
|
||||||
|
|
||||||
|
```
|
||||||
|
nix run github:nmasur/dotfiles#appname
|
||||||
|
```
|
@ -11,7 +11,7 @@
|
|||||||
tmpfile=$(mktemp)
|
tmpfile=$(mktemp)
|
||||||
echo "''${secret}" > ''${tmpfile}
|
echo "''${secret}" > ''${tmpfile}
|
||||||
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
||||||
builtins.toString ../public-keys
|
builtins.toString ../misc/public-keys
|
||||||
} $tmpfile
|
} $tmpfile
|
||||||
rm $tmpfile
|
rm $tmpfile
|
||||||
'');
|
'');
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
--foreground "#fb4934" \
|
--foreground "#fb4934" \
|
||||||
"Missing required parameter." \
|
"Missing required parameter." \
|
||||||
"Usage: installer -- <disk> <host>" \
|
"Usage: installer -- <disk> <host>" \
|
||||||
"Example: installer -- nvme0n1 desktop" \
|
"Example: installer -- nvme0n1 tempest" \
|
||||||
"Flake example: nix run github:nmasur/dotfiles#installer -- nvme0n1 desktop"
|
"Flake example: nix run github:nmasur/dotfiles#installer -- nvme0n1 tempest"
|
||||||
echo "(exiting)"
|
echo "(exiting)"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
|
--identity ~/.ssh/id_ed25519 $encryptedfile > $tmpfile
|
||||||
echo "Encrypting ''${encryptedfile}..."
|
echo "Encrypting ''${encryptedfile}..."
|
||||||
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
${pkgs.age}/bin/age --encrypt --armor --recipients-file ${
|
||||||
builtins.toString ../public-keys
|
builtins.toString ../misc/public-keys
|
||||||
} $tmpfile > $encryptedfile
|
} $tmpfile > $encryptedfile
|
||||||
rm $tmpfile
|
rm $tmpfile
|
||||||
done
|
done
|
||||||
|
5
colorscheme/README.md
Normal file
5
colorscheme/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Colorschemes
|
||||||
|
|
||||||
|
Color information for different themes is found here. The colors are sourced
|
||||||
|
and used with [base16](https://github.com/chriskempson/base16) format
|
||||||
|
consistently across the system.
|
5
disks/README.md
Normal file
5
disks/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Disks
|
||||||
|
|
||||||
|
These are my [disko](https://github.com/nix-community/disko) configurations,
|
||||||
|
which allow me to save desired disk formatting layouts as a declarative file so
|
||||||
|
I don't have to remember how to format my disks later on.
|
4
docs/README.md
Normal file
4
docs/README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Documentation
|
||||||
|
|
||||||
|
Reference documents for some of the more complicated services and maintenance
|
||||||
|
tasks.
|
65
docs/repair-nextcloud.md
Normal file
65
docs/repair-nextcloud.md
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# Repairing Nextcloud
|
||||||
|
|
||||||
|
You can run the maintenance commands like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u nextcloud nextcloud-occ maintenance:mode --on
|
||||||
|
sudo -u nextcloud nextcloud-occ maintenance:repair
|
||||||
|
sudo -u nextcloud nextcloud-occ maintenance:mode --off
|
||||||
|
```
|
||||||
|
|
||||||
|
## Rescan Files
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u nextcloud nextcloud-occ files:scan --all
|
||||||
|
```
|
||||||
|
|
||||||
|
## Converting from SQLite to MySQL (mariadb)
|
||||||
|
|
||||||
|
First: keep Nextcloud set to SQLite as its dbtype, and separately launch MySQL
|
||||||
|
as a service by copying the configuration found
|
||||||
|
[here](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/nextcloud.nix).
|
||||||
|
|
||||||
|
No password is necessary, since the user-based auth works with UNIX sockets.
|
||||||
|
|
||||||
|
You can connect to the MySQL instance like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u nextcloud mysql -S /run/mysqld/mysqld.sock
|
||||||
|
```
|
||||||
|
|
||||||
|
Create a blank database for Nextcloud:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
create database nextcloud;
|
||||||
|
```
|
||||||
|
|
||||||
|
Now setup the [conversion](https://docs.nextcloud.com/server/17/admin_manual/configuration_database/db_conversion.html):
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u nextcloud nextcloud-occ db:convert-type mysql nextcloud localhost nextcloud
|
||||||
|
```
|
||||||
|
|
||||||
|
Ignore the password prompt. Proceed with the conversion.
|
||||||
|
|
||||||
|
Now `config.php` will be updated but the override config from NixOS will not
|
||||||
|
be. Now update your NixOS configuration:
|
||||||
|
|
||||||
|
- Remove the `mysql` service you created.
|
||||||
|
- Set `dbtype` to `mysql`.
|
||||||
|
- Set `database.createLocally` to `true`.
|
||||||
|
|
||||||
|
Rebuild your configuration.
|
||||||
|
|
||||||
|
Now, make sure to enable [4-byte
|
||||||
|
support](https://docs.nextcloud.com/server/latest/admin_manual/configuration_database/mysql_4byte_support.html)
|
||||||
|
in the database.
|
||||||
|
|
||||||
|
## Backing Up MySQL Database
|
||||||
|
|
||||||
|
Use this mysqldump command:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u nextcloud mysqldump -S /run/mysqld/mysqld.sock --default-character-set=utf8mb4 nextcloud > backup.sql
|
||||||
|
```
|
||||||
|
|
@ -1,43 +0,0 @@
|
|||||||
# Restoring Nextcloud From Backup
|
|
||||||
|
|
||||||
Install the `litestream` package.
|
|
||||||
|
|
||||||
```
|
|
||||||
nix-shell --run fish -p litestream
|
|
||||||
```
|
|
||||||
|
|
||||||
Set the S3 credentials:
|
|
||||||
|
|
||||||
```
|
|
||||||
set -x AWS_ACCESS_KEY_ID (read)
|
|
||||||
set -x AWS_SECRET_ACCESS_KEY (read)
|
|
||||||
```
|
|
||||||
|
|
||||||
Restore from S3:
|
|
||||||
|
|
||||||
```
|
|
||||||
litestream restore -o nextcloud.db s3://noahmasur-backup.s3.us-west-002.backblazeb2.com/nextcloud
|
|
||||||
```
|
|
||||||
|
|
||||||
Install Nextcloud. Then copy DB:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo rm /data/nextcloud/data/nextcloud.db*
|
|
||||||
sudo mv nextcloud.db /data/nextcloud/data/
|
|
||||||
sudo chown nextcloud:nextcloud /data/nextcloud/data/nextcloud.db
|
|
||||||
sudo chmod 770 /data/nextcloud/data/nextcloud.db
|
|
||||||
```
|
|
||||||
|
|
||||||
Restart Nextcloud:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo systemctl restart phpfpm-nextcloud.service
|
|
||||||
```
|
|
||||||
|
|
||||||
Adjust Permissions and Directories:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo mkdir /data/nextcloud/data/noah/files
|
|
||||||
sudo chown nextcloud:nextcloud /data/nextcloud/data/noah/files
|
|
||||||
```
|
|
||||||
|
|
45
docs/zfs.md
Normal file
45
docs/zfs.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# ZFS
|
||||||
|
|
||||||
|
Swan runs its root on ext4. The ZFS drives are managed imperatively (this
|
||||||
|
[disko configuration](../disks/zfs.nix) is an unused work-in-progress).
|
||||||
|
|
||||||
|
The basic ZFS settings are managed [here](../modules/nixos/hardware/zfs.nix).
|
||||||
|
|
||||||
|
## Creating a New Dataset
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo zfs create tank/mydataset
|
||||||
|
sudo zfs set compression=zstd tank/myzstddataset
|
||||||
|
sudo zfs set mountpoint=/data/mydataset tank/mydataset
|
||||||
|
```
|
||||||
|
|
||||||
|
## Maintenance
|
||||||
|
|
||||||
|
### Get Status
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo zpool status
|
||||||
|
```
|
||||||
|
|
||||||
|
### Replace Disk
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo zdb
|
||||||
|
sudo zpool status -g # Show by GUID
|
||||||
|
sudo zpool offline tank <GUID>
|
||||||
|
sudo zpool status
|
||||||
|
# Remove old disk, insert new disk
|
||||||
|
sudo zdb
|
||||||
|
sudo zpool replace tank <OLD GUID> /dev/disk/by-id/<NEW PATH>
|
||||||
|
sudo zpool status
|
||||||
|
```
|
||||||
|
|
||||||
|
## Initial Setup
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo zpool create tank raidz1 sda sdb sdc
|
||||||
|
sudo zpool set ashift=12 tank
|
||||||
|
sudo zpool set autoexpand=on tank
|
||||||
|
sudo zpool set compression=on tank
|
||||||
|
```
|
||||||
|
|
356
flake.lock
generated
356
flake.lock
generated
@ -17,6 +17,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"age": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1672087018,
|
||||||
|
"narHash": "sha256-LRxxJQLQkzoCNYGS/XBixVmYXoZ1mPHKvFicPGXYLcw=",
|
||||||
|
"owner": "FiloSottile",
|
||||||
|
"repo": "age",
|
||||||
|
"rev": "c6dcfa1efcaa27879762a934d5bea0d1b83a894c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "FiloSottile",
|
||||||
|
"ref": "v1.1.1",
|
||||||
|
"repo": "age",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"baleia-nvim-src": {
|
"baleia-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -73,11 +90,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690431538,
|
"lastModified": 1696043447,
|
||||||
"narHash": "sha256-Uml8ivMMOFPB9fNSDcw72imGHRdJpaK12sRm2DTLLe8=",
|
"narHash": "sha256-VbJ1dY5pVH2fX1bS+cT2+4+BYEk4lMHRP0+udu9G6tk=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "16c07487ac9bc59f58b121d13160c67befa3342e",
|
"rev": "792c2e01347cb1b2e7ec84a1ef73453ca86537d8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -94,11 +111,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690548222,
|
"lastModified": 1695864092,
|
||||||
"narHash": "sha256-EcVjLOpbAuL/y55fLlEl3BNM4FP5Pwtp+6DbTiL6FDM=",
|
"narHash": "sha256-Hu1SkFPqO7ND95AOzBkZE2jGXSYhfZ965C03O72Kbu8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "43f17a8b31c49f6696b8b258d317161afdc7e36b",
|
"rev": "19b62324663b6b9859caf7f335d232cf4f1f6a32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -114,11 +131,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690505116,
|
"lastModified": 1696034364,
|
||||||
"narHash": "sha256-ec0yX+DdfGtw2TQnG29jt1X/89OHTF0VsRrpp0+7s8Y=",
|
"narHash": "sha256-7giewUYqKhhfhKRxe2EPHCpSM0oMLuByW4RTRZl6Jfc=",
|
||||||
"owner": "bandithedoge",
|
"owner": "bandithedoge",
|
||||||
"repo": "nixpkgs-firefox-darwin",
|
"repo": "nixpkgs-firefox-darwin",
|
||||||
"rev": "69010f2ef9fbcef70d12541910ccc6db7a9997db",
|
"rev": "b1e4d451a15c34d45bfefb05137a20469399a2df",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -144,12 +161,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1678901627,
|
"lastModified": 1687709756,
|
||||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -160,7 +180,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1685518550,
|
"lastModified": 1685518550,
|
||||||
@ -178,14 +198,14 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689068808,
|
"lastModified": 1694529238,
|
||||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -194,6 +214,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hmts-nvim-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1693226725,
|
||||||
|
"narHash": "sha256-jUuztOqNBltC3axa7s3CPJz9Cmukfwkf846+Z/gAxCU=",
|
||||||
|
"owner": "calops",
|
||||||
|
"repo": "hmts.nvim",
|
||||||
|
"rev": "14fd941d7ec2bb98314a1aacaa2573d97f1629ab",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "calops",
|
||||||
|
"repo": "hmts.nvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -201,11 +237,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690652600,
|
"lastModified": 1696063111,
|
||||||
"narHash": "sha256-Dy09g7mezToVwtFPyY25fAx1hzqNXv73/QmY5/qyR44=",
|
"narHash": "sha256-F2IJEbyH3xG0eqyAYn9JoV+niqNz+xb4HICYNkkviNI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "f58889c07efa8e1328fdf93dc1796ec2a5c47f38",
|
"rev": "ae896c810f501bf0c3a2fd7fc2de094dd0addf01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -215,6 +251,42 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nextcloud-cookbook": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-XgBwUr26qW6wvqhrnhhhhcN4wkI+eXDHnNSm1HDbP6M=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nextcloud-external": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-X7eC8T8wSZGVwCQp6U/WxjMC7aIj39osgHotaUoRNSQ=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.2.1/external-v5.2.1.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.2.1/external-v5.2.1.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nextcloud-news": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-cfJkKRNSz15L4E3w1tnEb+t4MrVwVzb8lb6vCOA4cK4=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nil": {
|
"nil": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
@ -224,16 +296,16 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680544266,
|
"lastModified": 1691372739,
|
||||||
"narHash": "sha256-d/TusDXmIo8IT5DNRA21lN+nOVSER8atIx9TJteR6LQ=",
|
"narHash": "sha256-fZ8KfBMcIFO/R7xaWtB85SFeuUjb9SCH8fxYBnY8068=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "nil",
|
"repo": "nil",
|
||||||
"rev": "56a1fa87b98a9508920f4b0ab8fe36d5b54b2362",
|
"rev": "97abe7d3d48721d4e0fcc1876eea83bb4247825b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"ref": "2023-04-03",
|
"ref": "2023-08-09",
|
||||||
"repo": "nil",
|
"repo": "nil",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -261,11 +333,11 @@
|
|||||||
},
|
},
|
||||||
"nixlib": {
|
"nixlib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689469483,
|
"lastModified": 1693701915,
|
||||||
"narHash": "sha256-2SBhY7rZQ/iNCxe04Eqxlz9YK9KgbaTMBssq3/BgdWY=",
|
"narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "02fea408f27186f139153e1ae88f8ab2abd9c22c",
|
"rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -282,11 +354,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690133435,
|
"lastModified": 1696058303,
|
||||||
"narHash": "sha256-YNZiefETggroaTLsLJG2M+wpF0pJPwiauKG4q48ddNU=",
|
"narHash": "sha256-eNqKWpF5zG0SrgbbtljFOrRgFgRzCc4++TMFADBMLnc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "b1171de4d362c022130c92d7c8adc4bf2b83d586",
|
"rev": "150f38bd1e09e20987feacb1b0d5991357532fb5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -297,11 +369,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690548937,
|
"lastModified": 1695830400,
|
||||||
"narHash": "sha256-x3ZOPGLvtC0/+iFAg9Kvqm/8hTAIkGjc634SqtgaXTA=",
|
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2a9d660ff0f7ffde9d73be328ee6e6f10ef66b28",
|
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -311,13 +383,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-keyd": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1690363189,
|
||||||
|
"narHash": "sha256-Zs0VkngOtQz7nIEO7Wi8AwGB4TBSex2KZAw784aOm2M=",
|
||||||
|
"owner": "JohnAZoidberg",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "6591d332f93422e388ef6337f6b362b4ff8d0724",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "JohnAZoidberg",
|
||||||
|
"ref": "keyd-2.4.3",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690470004,
|
"lastModified": 1695825837,
|
||||||
"narHash": "sha256-l57RmPhPz9r1LGDg/0v8bYgJO8R+GGTQZtkIxE7negU=",
|
"narHash": "sha256-4Ne11kNRnQsmSJCRSSNkFRSnHC4Y5gPDBIQGjjPfJiU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9462344318b376e157c94fa60c20a25b913b2381",
|
"rev": "5cfafa12d57374f48bcc36fda3274ada276cf69e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -330,11 +418,11 @@
|
|||||||
"null-ls-nvim-src": {
|
"null-ls-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1688652536,
|
"lastModified": 1691810493,
|
||||||
"narHash": "sha256-6KJtj9pbvBm6fOVpnyzO2fEVC+cVrw2XtZHOgq9ieIw=",
|
"narHash": "sha256-cWA0rzkOp/ekVKaFee7iea1lhnqKtWUIU+fW5M950wI=",
|
||||||
"owner": "jose-elias-alvarez",
|
"owner": "jose-elias-alvarez",
|
||||||
"repo": "null-ls.nvim",
|
"repo": "null-ls.nvim",
|
||||||
"rev": "db09b6c691def0038c456551e4e2772186449f35",
|
"rev": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -345,11 +433,11 @@
|
|||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690721668,
|
"lastModified": 1696080597,
|
||||||
"narHash": "sha256-550poDnDiMXLPQBJnUwhEzv0ZC4zjiFiwTaOIi3jfs4=",
|
"narHash": "sha256-fhf7+NT/xMwPZ/sRT30lnI04AHgf7tLPU4ClMux1nWA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "1c4ba84e2cbfd43976a0fd3f848b536611735a79",
|
"rev": "8783c360abc69f58d46a2929534ddd91eb41f3c6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -378,11 +466,11 @@
|
|||||||
"nvim-tree-lua-src": {
|
"nvim-tree-lua-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690616703,
|
"lastModified": 1695716495,
|
||||||
"narHash": "sha256-kTbYvT21wLfiwEpQAgGZtep2GP4F9e7e6XGVpr4D1hY=",
|
"narHash": "sha256-Fkchn7UuIHPmVFFrx1kzsE2lviJrAFAe9tHu73HnS/w=",
|
||||||
"owner": "kyazdani42",
|
"owner": "kyazdani42",
|
||||||
"repo": "nvim-tree.lua",
|
"repo": "nvim-tree.lua",
|
||||||
"rev": "4bd30f0137e44dcf3e74cc1164efb568f78f2b02",
|
"rev": "934469b9b6df369e198fb3016969e56393b0dc07",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -394,45 +482,71 @@
|
|||||||
"nvim-treesitter-src": {
|
"nvim-treesitter-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681121236,
|
"lastModified": 1696061053,
|
||||||
"narHash": "sha256-iPsPDLhVKJ14iP1/2cCgcY9SCKK/DQz9Y0mQB1DqNiM=",
|
"narHash": "sha256-KR+VMYTVM2qsLPx412gySAKiGObhs+awbDJhWX72/wY=",
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"repo": "nvim-treesitter",
|
"repo": "nvim-treesitter",
|
||||||
"rev": "cc360a9beb1b30d172438f640e2c3450358c4086",
|
"rev": "dd4e2dbc002dfce109d621e8bdcd9d89438b0a32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"ref": "v0.9.0",
|
"ref": "master",
|
||||||
"repo": "nvim-treesitter",
|
"repo": "nvim-treesitter",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"proton-ge": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"narHash": "sha256-75A0VCVdYkiMQ1duE9r2+DLBJzV02vUozoVLeo/TIWQ=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-16/GE-Proton8-16.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-16/GE-Proton8-16.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"Comment-nvim-src": "Comment-nvim-src",
|
"Comment-nvim-src": "Comment-nvim-src",
|
||||||
|
"age": "age",
|
||||||
"baleia-nvim-src": "baleia-nvim-src",
|
"baleia-nvim-src": "baleia-nvim-src",
|
||||||
"bufferline-nvim-src": "bufferline-nvim-src",
|
"bufferline-nvim-src": "bufferline-nvim-src",
|
||||||
"cmp-nvim-lsp-src": "cmp-nvim-lsp-src",
|
"cmp-nvim-lsp-src": "cmp-nvim-lsp-src",
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"firefox-darwin": "firefox-darwin",
|
"firefox-darwin": "firefox-darwin",
|
||||||
|
"hmts-nvim-src": "hmts-nvim-src",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"nextcloud-cookbook": "nextcloud-cookbook",
|
||||||
|
"nextcloud-external": "nextcloud-external",
|
||||||
|
"nextcloud-news": "nextcloud-news",
|
||||||
"nil": "nil",
|
"nil": "nil",
|
||||||
"nix2vim": "nix2vim",
|
"nix2vim": "nix2vim",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-keyd": "nixpkgs-keyd",
|
||||||
"null-ls-nvim-src": "null-ls-nvim-src",
|
"null-ls-nvim-src": "null-ls-nvim-src",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
||||||
"nvim-tree-lua-src": "nvim-tree-lua-src",
|
"nvim-tree-lua-src": "nvim-tree-lua-src",
|
||||||
"nvim-treesitter-src": "nvim-treesitter-src",
|
"nvim-treesitter-src": "nvim-treesitter-src",
|
||||||
|
"proton-ge": "proton-ge",
|
||||||
"telescope-nvim-src": "telescope-nvim-src",
|
"telescope-nvim-src": "telescope-nvim-src",
|
||||||
"telescope-project-nvim-src": "telescope-project-nvim-src",
|
"telescope-project-nvim-src": "telescope-project-nvim-src",
|
||||||
"toggleterm-nvim-src": "toggleterm-nvim-src",
|
"toggleterm-nvim-src": "toggleterm-nvim-src",
|
||||||
|
"tree-sitter-bash": "tree-sitter-bash",
|
||||||
|
"tree-sitter-ini": "tree-sitter-ini",
|
||||||
|
"tree-sitter-lua": "tree-sitter-lua",
|
||||||
|
"tree-sitter-puppet": "tree-sitter-puppet",
|
||||||
|
"tree-sitter-python": "tree-sitter-python",
|
||||||
|
"tree-sitter-rasi": "tree-sitter-rasi",
|
||||||
"vscode-terraform-snippets": "vscode-terraform-snippets",
|
"vscode-terraform-snippets": "vscode-terraform-snippets",
|
||||||
"wallpapers": "wallpapers",
|
"wallpapers": "wallpapers",
|
||||||
"wsl": "wsl"
|
"wsl": "wsl",
|
||||||
|
"zenyd-mpv-scripts": "zenyd-mpv-scripts"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
@ -447,11 +561,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1680488274,
|
"lastModified": 1688783586,
|
||||||
"narHash": "sha256-0vYMrZDdokVmPQQXtFpnqA2wEgCCUXf5a3dDuDVshn0=",
|
"narHash": "sha256-HHaM2hk2azslv1kH8zmQxXo2e7i5cKgzNIuK4yftzB0=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "7ec2ff598a172c6e8584457167575b3a1a5d80d8",
|
"rev": "7a29283cc242c2486fc67f60b431ef708046d176",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -490,6 +604,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"telescope-nvim-src": {
|
"telescope-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -540,6 +669,105 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tree-sitter-bash": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695263734,
|
||||||
|
"narHash": "sha256-dJUJGrpBWBLjcqiqxCnJ/MENwa2+uxAmQD71aYloxsw=",
|
||||||
|
"owner": "tree-sitter",
|
||||||
|
"repo": "tree-sitter-bash",
|
||||||
|
"rev": "fd4e40dab883d6456da4d847de8321aee9c80805",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tree-sitter",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "tree-sitter-bash",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree-sitter-ini": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1690815608,
|
||||||
|
"narHash": "sha256-IIpKzpA4q1jpYVZ75VZaxWHaqNt8TA427eMOui2s71M=",
|
||||||
|
"owner": "justinmk",
|
||||||
|
"repo": "tree-sitter-ini",
|
||||||
|
"rev": "7f11a02fb8891482068e0fe419965d7bade81a68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "justinmk",
|
||||||
|
"repo": "tree-sitter-ini",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree-sitter-lua": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694072484,
|
||||||
|
"narHash": "sha256-5t5w8KqbefInNbA12/jpNzmky/uOUhsLjKdEqpl1GEc=",
|
||||||
|
"owner": "MunifTanjim",
|
||||||
|
"repo": "tree-sitter-lua",
|
||||||
|
"rev": "9668709211b2e683f27f414454a8b51bf0a6bda1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "MunifTanjim",
|
||||||
|
"ref": "main",
|
||||||
|
"repo": "tree-sitter-lua",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree-sitter-puppet": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1690231696,
|
||||||
|
"narHash": "sha256-YEjjy9WLwITERYqoeSVrRYnwVBIAwdc4o0lvAK9wizw=",
|
||||||
|
"owner": "amaanq",
|
||||||
|
"repo": "tree-sitter-puppet",
|
||||||
|
"rev": "9ce9a5f7d64528572aaa8d59459ba869e634086b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "amaanq",
|
||||||
|
"repo": "tree-sitter-puppet",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree-sitter-python": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695282953,
|
||||||
|
"narHash": "sha256-gRhD3M1DkmwYQDDnyRq6QMTWUJUY0vbetGnN+pBTd84=",
|
||||||
|
"owner": "tree-sitter",
|
||||||
|
"repo": "tree-sitter-python",
|
||||||
|
"rev": "a901729099257aac932d79c60adb5e8a53fa7e6c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tree-sitter",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "tree-sitter-python",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree-sitter-rasi": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1678701563,
|
||||||
|
"narHash": "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=",
|
||||||
|
"owner": "Fymyte",
|
||||||
|
"repo": "tree-sitter-rasi",
|
||||||
|
"rev": "371dac6bcce0df5566c1cfebde69d90ecbeefd2d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Fymyte",
|
||||||
|
"repo": "tree-sitter-rasi",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"vscode-terraform-snippets": {
|
"vscode-terraform-snippets": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -579,11 +807,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690553050,
|
"lastModified": 1696053802,
|
||||||
"narHash": "sha256-pK3kF30OykL3v6P8UP6ipihlS34KoGq9SryCj3tHrFw=",
|
"narHash": "sha256-8TTbJbtGDz1MstExrVQe56eXZpovvZv6G6L6q/4NOKg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "f7a95a37306c46b42e9ce751977c44c752fd5eca",
|
"rev": "cadde47d123d1a534c272b04a7582f1d11474c48",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -591,6 +819,22 @@
|
|||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"zenyd-mpv-scripts": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1650625438,
|
||||||
|
"narHash": "sha256-OBCuzCtgfSwj0i/rBNranuu4LRc47jObwQIJgQQoerg=",
|
||||||
|
"owner": "zenyd",
|
||||||
|
"repo": "mpv-scripts",
|
||||||
|
"rev": "19ea069abcb794d1bf8fac2f59b50d71ab992130",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zenyd",
|
||||||
|
"repo": "mpv-scripts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
87
flake.nix
87
flake.nix
@ -7,6 +7,10 @@
|
|||||||
# Used for system packages
|
# Used for system packages
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# Update to keyd 2.4.3 not yet in nixpkgs-unstable
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/245327
|
||||||
|
nixpkgs-keyd.url = "github:JohnAZoidberg/nixpkgs/keyd-2.4.3";
|
||||||
|
|
||||||
# Used for MacOS system config
|
# Used for MacOS system config
|
||||||
darwin = {
|
darwin = {
|
||||||
url = "github:/lnl7/nix-darwin/master";
|
url = "github:/lnl7/nix-darwin/master";
|
||||||
@ -58,12 +62,13 @@
|
|||||||
|
|
||||||
# Nix language server
|
# Nix language server
|
||||||
nil = {
|
nil = {
|
||||||
url = "github:oxalica/nil/2023-04-03";
|
url = "github:oxalica/nil/2023-08-09";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Neovim plugins
|
# Neovim plugins
|
||||||
nvim-lspconfig-src = {
|
nvim-lspconfig-src = {
|
||||||
|
# https://github.com/neovim/nvim-lspconfig/tags
|
||||||
url = "github:neovim/nvim-lspconfig/v0.1.6";
|
url = "github:neovim/nvim-lspconfig/v0.1.6";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
@ -84,7 +89,8 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
nvim-treesitter-src = {
|
nvim-treesitter-src = {
|
||||||
url = "github:nvim-treesitter/nvim-treesitter/v0.9.0";
|
# https://github.com/nvim-treesitter/nvim-treesitter/tags
|
||||||
|
url = "github:nvim-treesitter/nvim-treesitter/master";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
telescope-nvim-src = {
|
telescope-nvim-src = {
|
||||||
@ -111,6 +117,77 @@
|
|||||||
url = "github:run-at-scale/vscode-terraform-doc-snippets";
|
url = "github:run-at-scale/vscode-terraform-doc-snippets";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
hmts-nvim-src = {
|
||||||
|
url = "github:calops/hmts.nvim";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tree-Sitter Grammars
|
||||||
|
tree-sitter-bash = {
|
||||||
|
url = "github:tree-sitter/tree-sitter-bash/master";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
tree-sitter-python = {
|
||||||
|
url = "github:tree-sitter/tree-sitter-python/master";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
tree-sitter-lua = {
|
||||||
|
url = "github:MunifTanjim/tree-sitter-lua/main";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
tree-sitter-ini = {
|
||||||
|
url = "github:justinmk/tree-sitter-ini";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
tree-sitter-puppet = {
|
||||||
|
url = "github:amaanq/tree-sitter-puppet";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
tree-sitter-rasi = {
|
||||||
|
url = "github:Fymyte/tree-sitter-rasi";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# MPV Scripts
|
||||||
|
zenyd-mpv-scripts = {
|
||||||
|
url = "github:zenyd/mpv-scripts";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Age encryption (pin because of failed builds)
|
||||||
|
age = {
|
||||||
|
url = "github:FiloSottile/age/v1.1.1";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# GE version of Proton for game compatibility
|
||||||
|
# Alternatively, could consider using https://github.com/fufexan/nix-gaming
|
||||||
|
proton-ge = {
|
||||||
|
# https://github.com/GloriousEggroll/proton-ge-custom/releases
|
||||||
|
url =
|
||||||
|
"https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-16/GE-Proton8-16.tar.gz";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Nextcloud Apps
|
||||||
|
nextcloud-news = {
|
||||||
|
# https://github.com/nextcloud/news/releases
|
||||||
|
url =
|
||||||
|
"https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
nextcloud-external = {
|
||||||
|
# https://github.com/nextcloud-releases/external/releases
|
||||||
|
url =
|
||||||
|
"https://github.com/nextcloud-releases/external/releases/download/v5.2.1/external-v5.2.1.tar.gz";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
nextcloud-cookbook = {
|
||||||
|
# https://github.com/nextcloud/cookbook/releases
|
||||||
|
url =
|
||||||
|
"https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -149,7 +226,13 @@
|
|||||||
(import ./overlays/calibre-web.nix)
|
(import ./overlays/calibre-web.nix)
|
||||||
(import ./overlays/disko.nix inputs)
|
(import ./overlays/disko.nix inputs)
|
||||||
(import ./overlays/tree-sitter.nix inputs)
|
(import ./overlays/tree-sitter.nix inputs)
|
||||||
|
(import ./overlays/caddy.nix inputs)
|
||||||
|
(import ./overlays/mpv-scripts.nix inputs)
|
||||||
|
(import ./overlays/nextcloud-apps.nix inputs)
|
||||||
(import ./overlays/betterlockscreen.nix)
|
(import ./overlays/betterlockscreen.nix)
|
||||||
|
(import ./overlays/age.nix inputs)
|
||||||
|
(import ./overlays/proton-ge.nix inputs)
|
||||||
|
(import ./overlays/keyd.nix inputs)
|
||||||
];
|
];
|
||||||
|
|
||||||
# System types to support.
|
# System types to support.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
# Hosts
|
# Hosts
|
||||||
|
|
||||||
|
These are the individual machines managed by this flake.
|
||||||
|
|
||||||
| Host | Purpose |
|
| Host | Purpose |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [aws](./aws/default.nix) | AWS AMI |
|
| [aws](./aws/default.nix) | AWS AMI |
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
# How to install:
|
# How to install:
|
||||||
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
|
# https://blog.korfuri.fr/posts/2022/08/nixos-on-an-oracle-free-tier-ampere-machine/
|
||||||
|
# These days, probably use nixos-anywhere instead.
|
||||||
|
|
||||||
{ inputs, globals, overlays, ... }:
|
{ inputs, globals, overlays, ... }:
|
||||||
|
|
||||||
@ -21,32 +22,38 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
server = true;
|
server = true;
|
||||||
networking.hostName = "flame";
|
networking.hostName = "flame";
|
||||||
|
|
||||||
|
# Not sure what's necessary but too afraid to remove anything
|
||||||
imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
|
imports = [ (inputs.nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") ];
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "usbhid" ];
|
||||||
|
|
||||||
|
# File systems must be declared in order to boot
|
||||||
|
|
||||||
|
# This is the root filesystem containing NixOS
|
||||||
|
# I forgot to set a clean label for it
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/e1b6bd50-306d-429a-9f45-78f57bc597c3";
|
device = "/dev/disk/by-uuid/e1b6bd50-306d-429a-9f45-78f57bc597c3";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# This is the boot filesystem for systemd-boot
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/D5CA-237A";
|
device = "/dev/disk/by-uuid/D5CA-237A";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Theming
|
# Theming
|
||||||
gui.enable = false;
|
|
||||||
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
|
||||||
|
|
||||||
# Disable passwords, only use SSH key
|
# Server doesn't require GUI
|
||||||
publicKey =
|
gui.enable = false;
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
|
|
||||||
|
# Still require colors for programs like Neovim, K9S
|
||||||
|
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
||||||
|
|
||||||
# Programs and services
|
# Programs and services
|
||||||
cloudflare.enable = true; # Proxy traffic with Cloudflare
|
cloudflare.enable = true; # Proxy traffic with Cloudflare
|
||||||
dotfiles.enable = true; # Clone dotfiles
|
dotfiles.enable = true; # Clone dotfiles
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
|
giteaRunner.enable = true;
|
||||||
services.caddy.enable = true;
|
services.caddy.enable = true;
|
||||||
services.grafana.enable = true;
|
services.grafana.enable = true;
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
@ -55,6 +62,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
services.vaultwarden.enable = true;
|
services.vaultwarden.enable = true;
|
||||||
services.minecraft-server.enable = true; # Setup Minecraft server
|
services.minecraft-server.enable = true; # Setup Minecraft server
|
||||||
|
|
||||||
|
# Allows private remote access over the internet
|
||||||
cloudflareTunnel = {
|
cloudflareTunnel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2";
|
id = "bd250ee1-ed2e-42d2-b627-039f1eb5a4d2";
|
||||||
@ -63,8 +71,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
|
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK/6oyVqjFGX3Uvrc3VS8J9sphxzAnRzKC85xgkHfYgR3TK6qBGXzHrknEj21xeZrr3G2y1UsGzphWJd9ZfIcdA= open-ssh-ca@cloudflareaccess.org";
|
||||||
};
|
};
|
||||||
|
|
||||||
giteaRunner.enable = true;
|
|
||||||
|
|
||||||
# Nextcloud backup config
|
# Nextcloud backup config
|
||||||
backup.s3 = {
|
backup.s3 = {
|
||||||
endpoint = "s3.us-west-002.backblazeb2.com";
|
endpoint = "s3.us-west-002.backblazeb2.com";
|
||||||
@ -72,8 +78,9 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
accessKeyId = "0026b0e73b2e2c80000000005";
|
accessKeyId = "0026b0e73b2e2c80000000005";
|
||||||
};
|
};
|
||||||
|
|
||||||
# # Grant access to Jellyfin directories from Nextcloud
|
# Disable passwords, only use SSH key
|
||||||
# users.users.nextcloud.extraGroups = [ "jellyfin" ];
|
publicKey =
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s";
|
||||||
|
|
||||||
# # Wireguard config for Transmission
|
# # Wireguard config for Transmission
|
||||||
# wireguard.enable = true;
|
# wireguard.enable = true;
|
||||||
@ -104,9 +111,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
# # VPN port forwarding
|
# # VPN port forwarding
|
||||||
# services.transmission.settings.peer-port = 57599;
|
# services.transmission.settings.peer-port = 57599;
|
||||||
|
|
||||||
# # Grant access to Transmission directories from Jellyfin
|
|
||||||
# users.users.jellyfin.extraGroups = [ "transmission" ];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
colors = (import ../../colorscheme/gruvbox).dark;
|
colors = (import ../../colorscheme/gruvbox).dark;
|
||||||
dark = true;
|
dark = true;
|
||||||
};
|
};
|
||||||
passwordHash = inputs.nixpkgs.lib.fileContents ../../password.sha512;
|
passwordHash = inputs.nixpkgs.lib.fileContents ../../misc/password.sha512;
|
||||||
wsl = {
|
wsl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wslConf.automount.root = "/mnt";
|
wslConf.automount.root = "/mnt";
|
||||||
|
@ -13,11 +13,14 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
../../modules/common
|
../../modules/common
|
||||||
../../modules/nixos
|
../../modules/nixos
|
||||||
{
|
{
|
||||||
|
nixpkgs.overlays = overlays;
|
||||||
|
|
||||||
# Hardware
|
# Hardware
|
||||||
server = true;
|
server = true;
|
||||||
physical = true;
|
physical = true;
|
||||||
networking.hostName = "swan";
|
networking.hostName = "swan";
|
||||||
|
|
||||||
|
# Not sure what's necessary but too afraid to remove anything
|
||||||
boot.initrd.availableKernelModules =
|
boot.initrd.availableKernelModules =
|
||||||
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||||
|
|
||||||
@ -30,29 +33,43 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
"amdgpu.cik_support=1"
|
"amdgpu.cik_support=1"
|
||||||
"amdgpu.dc=1"
|
"amdgpu.dc=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Required binary blobs to boot on this machine
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
# Prioritize efficiency over performance
|
||||||
powerManagement.cpuFreqGovernor = "powersave";
|
powerManagement.cpuFreqGovernor = "powersave";
|
||||||
|
|
||||||
|
# Allow firmware updates
|
||||||
hardware.cpu.intel.updateMicrocode = true;
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
|
||||||
# ZFS
|
# ZFS
|
||||||
zfs.enable = true;
|
zfs.enable = true;
|
||||||
# Generated with: head -c 8 /etc/machine-id
|
# Generated with: head -c 8 /etc/machine-id
|
||||||
networking.hostId = "600279f4"; # Random ID required for ZFS
|
networking.hostId = "600279f4"; # Random ID required for ZFS
|
||||||
|
|
||||||
|
# Sets root ext4 filesystem instead of declaring it manually
|
||||||
disko = {
|
disko = {
|
||||||
enableConfig = true;
|
enableConfig = true;
|
||||||
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
|
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Automatically load the ZFS pool on boot
|
||||||
boot.zfs.extraPools = [ "tank" ];
|
boot.zfs.extraPools = [ "tank" ];
|
||||||
|
|
||||||
|
# Theming
|
||||||
|
|
||||||
|
# Server doesn't require GUI
|
||||||
gui.enable = false;
|
gui.enable = false;
|
||||||
|
|
||||||
|
# Still require colors for programs like Neovim, K9S
|
||||||
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
theme = { colors = (import ../../colorscheme/gruvbox).dark; };
|
||||||
nixpkgs.overlays = overlays;
|
|
||||||
|
# Programs and services
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
cloudflare.enable = true;
|
cloudflare.enable = true;
|
||||||
dotfiles.enable = true;
|
dotfiles.enable = true;
|
||||||
arrs.enable = true;
|
arrs.enable = true;
|
||||||
|
|
||||||
services.bind.enable = true;
|
services.bind.enable = true;
|
||||||
services.caddy.enable = true;
|
services.caddy.enable = true;
|
||||||
services.jellyfin.enable = true;
|
services.jellyfin.enable = true;
|
||||||
@ -63,6 +80,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
services.vmagent.enable = true;
|
services.vmagent.enable = true;
|
||||||
services.samba.enable = true;
|
services.samba.enable = true;
|
||||||
|
|
||||||
|
# Allows private remote access over the internet
|
||||||
cloudflareTunnel = {
|
cloudflareTunnel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2";
|
id = "646754ac-2149-4a58-b51a-e1d0a1f3ade2";
|
||||||
@ -71,6 +89,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
|
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCHF/UMtJqPFrf6f6GRY0ZFnkCW7b6sYgUTjTtNfRj1RdmNic1NoJZql7y6BrqQinZvy7nsr1UFDNWoHn6ah3tg= open-ssh-ca@cloudflareaccess.org";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Send regular backups and litestream for DBs to an S3-like bucket
|
||||||
backup.s3 = {
|
backup.s3 = {
|
||||||
endpoint = "s3.us-west-002.backblazeb2.com";
|
endpoint = "s3.us-west-002.backblazeb2.com";
|
||||||
bucket = "noahmasur-backup";
|
bucket = "noahmasur-backup";
|
||||||
|
@ -17,14 +17,25 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
physical = true;
|
physical = true;
|
||||||
networking.hostName = "tempest";
|
networking.hostName = "tempest";
|
||||||
|
|
||||||
|
# Not sure what's necessary but too afraid to remove anything
|
||||||
boot.initrd.availableKernelModules =
|
boot.initrd.availableKernelModules =
|
||||||
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
|
|
||||||
|
# Graphics and VMs
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||||
|
|
||||||
|
# Required binary blobs to boot on this machine
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
# Prioritize performance over efficiency
|
||||||
powerManagement.cpuFreqGovernor = "performance";
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
|
|
||||||
|
# Allow firmware updates
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
|
||||||
|
# Helps reduce GPU fan noise under idle loads
|
||||||
hardware.fancontrol.enable = true;
|
hardware.fancontrol.enable = true;
|
||||||
hardware.fancontrol.config = ''
|
hardware.fancontrol.config = ''
|
||||||
# Configuration file generated by pwmconfig, changes will be lost
|
# Configuration file generated by pwmconfig, changes will be lost
|
||||||
@ -41,22 +52,29 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
MAXPWM=hwmon0/pwm1=240
|
MAXPWM=hwmon0/pwm1=240
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# File systems must be declared in order to boot
|
||||||
|
|
||||||
|
# This is the root filesystem containing NixOS
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-label/nixos";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# This is the boot filesystem for Grub
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-label/boot";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Must be prepared ahead
|
# Secrets must be prepared ahead before deploying
|
||||||
identityFile = "/home/${globals.user}/.ssh/id_ed25519";
|
passwordHash = inputs.nixpkgs.lib.fileContents ../../misc/password.sha512;
|
||||||
passwordHash = inputs.nixpkgs.lib.fileContents ../../password.sha512;
|
|
||||||
|
|
||||||
# Theming
|
# Theming
|
||||||
|
|
||||||
|
# Turn on all features related to desktop and graphical applications
|
||||||
gui.enable = true;
|
gui.enable = true;
|
||||||
|
|
||||||
|
# Set the system-wide theme, also used for non-graphical programs
|
||||||
theme = {
|
theme = {
|
||||||
colors = (import ../../colorscheme/gruvbox-dark).dark;
|
colors = (import ../../colorscheme/gruvbox-dark).dark;
|
||||||
dark = true;
|
dark = true;
|
||||||
@ -91,9 +109,11 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
leagueoflegends.enable = true;
|
leagueoflegends.enable = true;
|
||||||
ryujinx.enable = true;
|
ryujinx.enable = true;
|
||||||
};
|
};
|
||||||
services.vmagent.enable = true;
|
services.vmagent.enable = true; # Enables Prometheus metrics
|
||||||
|
services.openssh.enable =
|
||||||
|
true; # Required for Cloudflare tunnel and identity file
|
||||||
|
|
||||||
services.openssh.enable = true; # Required for Cloudflare tunnel
|
# Allows private remote access over the internet
|
||||||
cloudflareTunnel = {
|
cloudflareTunnel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
id = "ac133a82-31fb-480c-942a-cdbcd4c58173";
|
id = "ac133a82-31fb-480c-942a-cdbcd4c58173";
|
||||||
@ -103,6 +123,8 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Allows requests to force machine to wake up
|
# Allows requests to force machine to wake up
|
||||||
|
# This network interface might change, needs to be set specifically for each machine.
|
||||||
|
# Or set usePredictableInterfaceNames = false
|
||||||
networking.interfaces.enp5s0.wakeOnLan.enable = true;
|
networking.interfaces.enp5s0.wakeOnLan.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
21
misc/README.md
Normal file
21
misc/README.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Miscellaneous
|
||||||
|
|
||||||
|
These files contain important data sourced by the configuration, or simply
|
||||||
|
information to store for safekeeping later.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Creating hashed password for [password.sha512](./password.sha512):
|
||||||
|
|
||||||
|
```
|
||||||
|
mkpasswd -m sha-512
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Getting key for [public-keys](./public-keys):
|
||||||
|
|
||||||
|
```
|
||||||
|
ssh-keyscan -t ed25519 <hostname>
|
||||||
|
```
|
||||||
|
|
23
misc/libratbag-profile
Normal file
23
misc/libratbag-profile
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Profile 1: (active)
|
||||||
|
Name: n/a
|
||||||
|
Report Rate: 1000Hz
|
||||||
|
Resolutions:
|
||||||
|
0: 400dpi (active) (default)
|
||||||
|
1: 800dpi
|
||||||
|
2: 1600dpi
|
||||||
|
3: 2400dpi
|
||||||
|
4: 0dpi
|
||||||
|
Button: 0 is mapped to 'button 1'
|
||||||
|
Button: 1 is mapped to 'button 2'
|
||||||
|
Button: 2 is mapped to 'button 3'
|
||||||
|
Button: 3 is mapped to 'button 4'
|
||||||
|
Button: 4 is mapped to 'button 5'
|
||||||
|
Button: 5 is mapped to macro '↕F11'
|
||||||
|
Button: 6 is mapped to macro '↕VOLUMEDOWN'
|
||||||
|
Button: 7 is mapped to macro '↕VOLUMEUP'
|
||||||
|
Button: 8 is mapped to 'unknown'
|
||||||
|
Button: 9 is mapped to 'wheel-right'
|
||||||
|
Button: 10 is mapped to 'wheel-left'
|
||||||
|
LED: 0, depth: monochrome, mode: on, color: 000000
|
||||||
|
LED: 1, depth: monochrome, mode: on, color: 000000
|
||||||
|
LED: 2, depth: monochrome, mode: on, color: 000000
|
@ -1,5 +1,6 @@
|
|||||||
# Scan hosts: ssh-keyscan -t ed25519 <hostnames>
|
# Scan hosts: ssh-keyscan -t ed25519 <hostnames>
|
||||||
|
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s tempest
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+AbmjGEwITk5CK9y7+Rg27Fokgj9QEjgc9wST6MA3s personal
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVknmPi7sG6ES0G0jcsvebzKGWWaMfJTYgvOue6EULI flame
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVknmPi7sG6ES0G0jcsvebzKGWWaMfJTYgvOue6EULI flame
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ9mwXlZnIALt9SnH3FOZvdgHLM5ZqwYUERXBbM7Rwh6 swan
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ9mwXlZnIALt9SnH3FOZvdgHLM5ZqwYUERXBbM7Rwh6 swan
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC3yHivgEXr2ecwe58h9bkhwTYivf3GwL8xenQKMeiUb tempest
|
@ -5,4 +5,5 @@
|
|||||||
| [common](./common/default.nix) | User programs and OS-agnostic configuration |
|
| [common](./common/default.nix) | User programs and OS-agnostic configuration |
|
||||||
| [darwin](./darwin/default.nix) | macOS-specific configuration |
|
| [darwin](./darwin/default.nix) | macOS-specific configuration |
|
||||||
| [nixos](./nixos/default.nix) | NixOS-specific configuration |
|
| [nixos](./nixos/default.nix) | NixOS-specific configuration |
|
||||||
|
| [wsl](./wsl/default.nix) | WSL-specific configuration |
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
unfreePackages = [
|
unfreePackages = [
|
||||||
(lib.mkIf config._1password.enable "onepassword-password-manager")
|
(lib.mkIf config._1password.enable "onepassword-password-manager")
|
||||||
"okta-browser-plugin"
|
"okta-browser-plugin"
|
||||||
|
"wappalyzer"
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
|
@ -31,21 +31,7 @@
|
|||||||
pkgs.mpvScripts.autoload
|
pkgs.mpvScripts.autoload
|
||||||
|
|
||||||
# Delete current file after quitting
|
# Delete current file after quitting
|
||||||
(pkgs.stdenv.mkDerivation rec {
|
pkgs.mpvScripts.mpv-delete-file
|
||||||
pname = "mpv-delete-file";
|
|
||||||
version = "0.1"; # made-up
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "zenyd";
|
|
||||||
repo = "mpv-scripts";
|
|
||||||
rev = "19ea069abcb794d1bf8fac2f59b50d71ab992130";
|
|
||||||
sha256 = "sha256-OBCuzCtgfSwj0i/rBNranuu4LRc47jObwQIJgQQoerg=";
|
|
||||||
} + "/delete_file.lua";
|
|
||||||
dontBuild = true;
|
|
||||||
dontUnpack = true;
|
|
||||||
installPhase =
|
|
||||||
"install -Dm644 ${src} $out/share/mpv/scripts/delete_file.lua";
|
|
||||||
passthru.scriptName = "delete_file.lua";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,7 +44,8 @@
|
|||||||
# Better local mail search
|
# Better local mail search
|
||||||
programs.notmuch = {
|
programs.notmuch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
new.ignore = [ ".mbsyncstate.lock" ".mbsyncstate.journal" ];
|
new.ignore =
|
||||||
|
[ ".mbsyncstate.lock" ".mbsyncstate.journal" ".mbsyncstate.new" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
accounts.email = {
|
accounts.email = {
|
||||||
@ -104,7 +105,7 @@
|
|||||||
|
|
||||||
# Used to login and send and receive emails
|
# Used to login and send and receive emails
|
||||||
passwordCommand =
|
passwordCommand =
|
||||||
"${pkgs.age}/bin/age --decrypt --identity ${config.identityFile} ${
|
"${pkgs.age}/bin/age --decrypt --identity ~/.ssh/id_ed25519 ${
|
||||||
pkgs.writeText "mailpass.age"
|
pkgs.writeText "mailpass.age"
|
||||||
(builtins.readFile ../../../private/mailpass.age)
|
(builtins.readFile ../../../private/mailpass.age)
|
||||||
}";
|
}";
|
||||||
|
@ -52,7 +52,9 @@
|
|||||||
vim.o.backup = true; # Easier to recover and more secure
|
vim.o.backup = true; # Easier to recover and more secure
|
||||||
vim.bo.swapfile = false; # Instead of swaps, create backups
|
vim.bo.swapfile = false; # Instead of swaps, create backups
|
||||||
vim.bo.undofile = true; # Keeps undos after quit
|
vim.bo.undofile = true; # Keeps undos after quit
|
||||||
vim.o.backupdir = dsl.rawLua ''vim.fn.stdpath("cache") .. "/backup"'';
|
vim.o.backupdir =
|
||||||
|
dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/backup//")'';
|
||||||
|
vim.o.undodir = dsl.rawLua ''vim.fn.expand("~/.local/state/nvim/undo//")'';
|
||||||
|
|
||||||
# Required for nvim-cmp completion
|
# Required for nvim-cmp completion
|
||||||
vim.opt.completeopt = [ "menu" "menuone" "noselect" ];
|
vim.opt.completeopt = [ "menu" "menuone" "noselect" ];
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
pkgs.vimPlugins.nginx-vim
|
pkgs.vimPlugins.nginx-vim
|
||||||
pkgs.vimPlugins.vim-helm
|
pkgs.vimPlugins.vim-helm
|
||||||
pkgs.baleia-nvim # Clean ANSI from kitty scrollback
|
pkgs.baleia-nvim # Clean ANSI from kitty scrollback
|
||||||
|
# pkgs.hmts-nvim # Tree-sitter injections for home-manager
|
||||||
(pkgs.vimUtils.buildVimPluginFrom2Nix {
|
(pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||||
pname = "nmasur";
|
pname = "nmasur";
|
||||||
version = "0.1";
|
version = "0.1";
|
||||||
|
@ -20,6 +20,7 @@ in {
|
|||||||
|
|
||||||
# Use Neovim as the editor for git commit messages
|
# Use Neovim as the editor for git commit messages
|
||||||
programs.git.extraConfig.core.editor = "nvim";
|
programs.git.extraConfig.core.editor = "nvim";
|
||||||
|
programs.jujutsu.settings.ui.editor = "nvim";
|
||||||
|
|
||||||
# Set Neovim as the default app for text editing and manual pages
|
# Set Neovim as the default app for text editing and manual pages
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
@ -65,6 +65,12 @@ key("n", "<C-Down>", ":resize -2<CR>", { silent = true })
|
|||||||
key("n", "<C-Left>", ":vertical resize -2<CR>", { silent = true })
|
key("n", "<C-Left>", ":vertical resize -2<CR>", { silent = true })
|
||||||
key("n", "<C-Right>", ":vertical resize +2<CR>", { silent = true })
|
key("n", "<C-Right>", ":vertical resize +2<CR>", { silent = true })
|
||||||
|
|
||||||
|
-- Quickfix
|
||||||
|
key("n", "]q", ":cnext<CR>")
|
||||||
|
key("n", "[q", ":cprevious<CR>")
|
||||||
|
key("n", "co", ":copen<CR>")
|
||||||
|
key("n", "cq", ":cclose<CR>")
|
||||||
|
|
||||||
-- Other
|
-- Other
|
||||||
key("n", "<A-CR>", ":noh<CR>", { silent = true }) --- Clear search in VimWiki
|
key("n", "<A-CR>", ":noh<CR>", { silent = true }) --- Clear search in VimWiki
|
||||||
key("n", "Y", "y$") --- Copy to end of line
|
key("n", "Y", "y$") --- Copy to end of line
|
||||||
|
26
modules/common/shell/bash/scripts/docker-cleanup.sh
Executable file
26
modules/common/shell/bash/scripts/docker-cleanup.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Stop all containers
|
||||||
|
if [ "$(docker ps -a -q)" ]; then
|
||||||
|
echo "Stopping docker containers..."
|
||||||
|
docker stop "$(docker ps -a -q)"
|
||||||
|
else
|
||||||
|
echo "No running docker containers."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove all stopped containers
|
||||||
|
if [ "$(docker ps -a -q)" ]; then
|
||||||
|
echo "Removing docker containers..."
|
||||||
|
docker rm "$(docker ps -a -q)"
|
||||||
|
else
|
||||||
|
echo "No stopped docker containers."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove all untagged images
|
||||||
|
if docker images | grep -q "^<none>"; then
|
||||||
|
docker rmi "$(docker images | grep "^<none>" | awk '{print $3}')"
|
||||||
|
else
|
||||||
|
echo "No untagged docker images."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Cleaned up docker."
|
@ -10,6 +10,7 @@
|
|||||||
glow # Markdown previews
|
glow # Markdown previews
|
||||||
skate # Key-value store
|
skate # Key-value store
|
||||||
charm # Manage account and filesystem
|
charm # Manage account and filesystem
|
||||||
|
pop # Send emails from a TUI
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
./fzf.nix
|
./fzf.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./github.nix
|
./github.nix
|
||||||
|
./jujutsu.nix
|
||||||
./nixpkgs.nix
|
./nixpkgs.nix
|
||||||
./starship.nix
|
./starship.nix
|
||||||
./utilities.nix
|
./utilities.nix
|
||||||
|
@ -1,19 +1,24 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
users.users.${config.user}.shell = pkgs.fish;
|
users.users.${config.user}.shell = pkgs.fish;
|
||||||
programs.fish.enable =
|
programs.fish.enable = true; # Needed for LightDM to remember username
|
||||||
true; # Needed for LightDM to remember username (TODO: fix)
|
|
||||||
|
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
|
|
||||||
# Packages used in abbreviations and aliases
|
# Packages used in abbreviations and aliases
|
||||||
home.packages = with pkgs; [ curl exa ];
|
home.packages = with pkgs; [ curl ];
|
||||||
|
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
|
||||||
|
# Version of bash which works much better on the terminal
|
||||||
bash = "${pkgs.bashInteractive}/bin/bash";
|
bash = "${pkgs.bashInteractive}/bin/bash";
|
||||||
ls = "exa";
|
|
||||||
|
# Use eza (exa) instead of ls for fancier output
|
||||||
|
ls = "${pkgs.eza}/bin/eza --group";
|
||||||
|
|
||||||
|
# Move files to XDG trash on the commandline
|
||||||
trash = lib.mkIf pkgs.stdenv.isLinux "${pkgs.trash-cli}/bin/trash-put";
|
trash = lib.mkIf pkgs.stdenv.isLinux "${pkgs.trash-cli}/bin/trash-put";
|
||||||
};
|
};
|
||||||
functions = {
|
functions = {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
programs.gh =
|
programs.gh =
|
||||||
lib.mkIf config.home-manager.users.${config.user}.programs.git.enable {
|
lib.mkIf config.home-manager.users.${config.user}.programs.git.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableGitCredentialHelper = true;
|
gitCredentialHelper.enable = true;
|
||||||
settings.git_protocol = "https";
|
settings.git_protocol = "https";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
21
modules/common/shell/jujutsu.nix
Normal file
21
modules/common/shell/jujutsu.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ config, ... }: {
|
||||||
|
|
||||||
|
config = {
|
||||||
|
|
||||||
|
home-manager.users.${config.user}.programs.jujutsu = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
|
||||||
|
# https://github.com/martinvonz/jj/blob/main/docs/config.md
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = config.home-manager.users.${config.user}.programs.git.userName;
|
||||||
|
email =
|
||||||
|
config.home-manager.users.${config.user}.programs.git.userEmail;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -55,6 +55,15 @@ local function worklayout()
|
|||||||
local layout = concat(left, right, laptop)
|
local layout = concat(left, right, laptop)
|
||||||
hs.layout.apply(layout)
|
hs.layout.apply(layout)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- Reload Hammerspoon whenever layout changes
|
||||||
|
hs.screen.watcher.new(function()
|
||||||
|
-- Pause for 5 seconds to give time for layout to change
|
||||||
|
hs.timer.doAfter(5, function()
|
||||||
|
-- Perform the actual reload
|
||||||
|
hs.reload()
|
||||||
|
end)
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
return worklayout
|
return worklayout
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
"obsidian" # Obsidian packaging on Nix is not available for macOS
|
"obsidian" # Obsidian packaging on Nix is not available for macOS
|
||||||
"scroll-reverser" # Different scroll style for mouse vs. trackpad
|
"scroll-reverser" # Different scroll style for mouse vs. trackpad
|
||||||
"steam" # Not packaged for Nix
|
"steam" # Not packaged for Nix
|
||||||
|
"epic-games" # Not packaged for Nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -22,6 +22,15 @@
|
|||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Adapted in part from: https://github.com/Shawn8901/nix-configuration/blob/1c48be94238a9f463cf0bbd1e1842a4454286514/modules/nixos/steam-compat-tools/default.nix
|
||||||
|
# Based on: https://github.com/NixOS/nixpkgs/issues/73323
|
||||||
|
environment.sessionVariables.STEAM_EXTRA_COMPAT_TOOLS_PATHS =
|
||||||
|
lib.makeBinPath [ pkgs.proton-ge-custom ];
|
||||||
|
|
||||||
|
# Seems like NetworkManager can help speed up Steam launch
|
||||||
|
# https://www.reddit.com/r/archlinux/comments/qguhco/steam_startup_time_arch_1451_seconds_fedora_34/hi8opet/
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./dunst.nix
|
./dunst.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
|
./gtk.nix
|
||||||
./i3.nix
|
./i3.nix
|
||||||
./picom.nix
|
./picom.nix
|
||||||
./polybar.nix
|
./polybar.nix
|
||||||
|
51
modules/nixos/graphical/gtk.nix
Normal file
51
modules/nixos/graphical/gtk.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
gtk.theme = {
|
||||||
|
name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Theme name for GTK applications";
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
description = "Theme package for GTK applications";
|
||||||
|
default = pkgs.gnome-themes-extra;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.gui.enable {
|
||||||
|
|
||||||
|
home-manager.users.${config.user} = {
|
||||||
|
|
||||||
|
gtk = let
|
||||||
|
gtkExtraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = config.theme.dark;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
theme = {
|
||||||
|
name = config.gtk.theme.name;
|
||||||
|
package = config.gtk.theme.package;
|
||||||
|
};
|
||||||
|
gtk3.extraConfig = gtkExtraConfig;
|
||||||
|
gtk4.extraConfig = gtkExtraConfig;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
# Required for setting GTK theme (for preferred-color-scheme in browser)
|
||||||
|
services.dbus.packages = [ pkgs.dconf ];
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
# Make the login screen dark
|
||||||
|
services.xserver.displayManager.lightdm.greeters.gtk.theme = {
|
||||||
|
name = config.gtk.theme.name;
|
||||||
|
package = config.gtk.theme.package;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.sessionVariables = { GTK_THEME = config.gtk.theme.name; };
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -45,7 +45,7 @@ in {
|
|||||||
{ class = "obsidian"; }
|
{ class = "obsidian"; }
|
||||||
];
|
];
|
||||||
"${ws3}" = [{ class = "discord"; }];
|
"${ws3}" = [{ class = "discord"; }];
|
||||||
"${ws4}" = [{ class = "Steam"; }];
|
"${ws4}" = [ { class = "steam"; } { class = "Steam"; } ];
|
||||||
};
|
};
|
||||||
bars = [{ command = "echo"; }]; # Disable i3bar
|
bars = [{ command = "echo"; }]; # Disable i3bar
|
||||||
colors = let
|
colors = let
|
||||||
|
@ -59,7 +59,7 @@ in {
|
|||||||
border = mkLiteral "0px";
|
border = mkLiteral "0px";
|
||||||
border-radius = mkLiteral "0px";
|
border-radius = mkLiteral "0px";
|
||||||
border-color = mkLiteral config.theme.colors.base04;
|
border-color = mkLiteral config.theme.colors.base04;
|
||||||
children = map mkLiteral [ "inputbar" "listview" ];
|
children = map mkLiteral [ "inputbar" "message" "listview" ];
|
||||||
spacing = mkLiteral "10px";
|
spacing = mkLiteral "10px";
|
||||||
padding = mkLiteral "10px";
|
padding = mkLiteral "10px";
|
||||||
};
|
};
|
||||||
|
@ -25,7 +25,7 @@ in {
|
|||||||
| ${rofi}/bin/rofi \
|
| ${rofi}/bin/rofi \
|
||||||
-theme-str '@import "power.rasi"' \
|
-theme-str '@import "power.rasi"' \
|
||||||
-hover-select \
|
-hover-select \
|
||||||
-me-select-entry ''' \
|
-me-select-entry "" \
|
||||||
-me-accept-entry MousePrimary \
|
-me-accept-entry MousePrimary \
|
||||||
-dmenu \
|
-dmenu \
|
||||||
-sep ';' \
|
-sep ';' \
|
||||||
|
@ -32,7 +32,7 @@ done
|
|||||||
chosen=$(printf '%s;%s\n' "$yes" "$no" |
|
chosen=$(printf '%s;%s\n' "$yes" "$no" |
|
||||||
rofi -theme-str '@import "prompt.rasi"' \
|
rofi -theme-str '@import "prompt.rasi"' \
|
||||||
-hover-select \
|
-hover-select \
|
||||||
-me-select-entry '' \
|
-me-select-entry "" \
|
||||||
-me-accept-entry MousePrimary \
|
-me-accept-entry MousePrimary \
|
||||||
-p "$query" \
|
-p "$query" \
|
||||||
-dmenu \
|
-dmenu \
|
||||||
|
@ -1,27 +1,6 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
options = {
|
config = lib.mkIf config.gui.enable {
|
||||||
gtk.theme = {
|
|
||||||
name = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
description = "Theme name for GTK applications";
|
|
||||||
};
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
description = "Theme package name for GTK applications";
|
|
||||||
default = "gnome-themes-extra";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = let
|
|
||||||
|
|
||||||
gtkTheme = {
|
|
||||||
name = config.gtk.theme.name;
|
|
||||||
package = pkgs."${config.gtk.theme.package}";
|
|
||||||
};
|
|
||||||
|
|
||||||
in lib.mkIf config.gui.enable {
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
@ -36,10 +15,8 @@
|
|||||||
enable = config.services.xserver.enable;
|
enable = config.services.xserver.enable;
|
||||||
background = config.wallpaper;
|
background = config.wallpaper;
|
||||||
|
|
||||||
# Make the login screen dark
|
|
||||||
greeters.gtk.theme = gtkTheme;
|
|
||||||
|
|
||||||
# Show default user
|
# Show default user
|
||||||
|
# Also make sure /var/lib/AccountsService/users/<user> has SystemAccount=false
|
||||||
extraSeatDefaults = ''
|
extraSeatDefaults = ''
|
||||||
greeter-hide-users = false
|
greeter-hide-users = false
|
||||||
'';
|
'';
|
||||||
@ -54,12 +31,6 @@
|
|||||||
xclip # Clipboard
|
xclip # Clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
# Required for setting GTK theme (for preferred-color-scheme in browser)
|
|
||||||
services.dbus.packages = [ pkgs.dconf ];
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
environment.sessionVariables = { GTK_THEME = config.gtk.theme.name; };
|
|
||||||
|
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
|
|
||||||
programs.fish.shellAliases = {
|
programs.fish.shellAliases = {
|
||||||
@ -67,17 +38,6 @@
|
|||||||
pbpaste = "xclip -selection clipboard -out";
|
pbpaste = "xclip -selection clipboard -out";
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = let
|
|
||||||
gtkExtraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = config.theme.dark;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
enable = true;
|
|
||||||
theme = gtkTheme;
|
|
||||||
gtk3.extraConfig = gtkExtraConfig;
|
|
||||||
gtk4.extraConfig = gtkExtraConfig;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
@ -18,11 +18,22 @@
|
|||||||
keyboards = {
|
keyboards = {
|
||||||
default = {
|
default = {
|
||||||
ids = [ "*" ];
|
ids = [ "*" ];
|
||||||
settings = { main = { capslock = "overload(control, esc)"; }; };
|
settings = {
|
||||||
|
main = { capslock = "overload(control, esc)"; };
|
||||||
|
|
||||||
|
# Fix: ctrl-click sends escape afterwards
|
||||||
|
# Suppresses escape if held for more than 500ms
|
||||||
|
# https://github.com/rvaiya/keyd/issues/424
|
||||||
|
global = { overload_tap_timeout = 500; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# For some reason, keyd doesn't restart properly when updating
|
||||||
|
system.activationScripts.keyd.text =
|
||||||
|
"${pkgs.systemd}/bin/systemctl restart keyd.service";
|
||||||
|
|
||||||
# Enable num lock on login
|
# Enable num lock on login
|
||||||
home-manager.users.${config.user}.xsession.numlock.enable = true;
|
home-manager.users.${config.user}.xsession.numlock.enable = true;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
config = lib.mkIf config.physical {
|
config = lib.mkIf config.physical {
|
||||||
|
|
||||||
networking.useDHCP = true;
|
networking.useDHCP = !config.networking.networkmanager.enable;
|
||||||
|
|
||||||
networking.firewall.allowPing = lib.mkIf config.server true;
|
networking.firewall.allowPing = lib.mkIf config.server true;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
config = lib.mkIf (config.physical && pkgs.stdenv.isLinux) {
|
config = lib.mkIf (config.physical && pkgs.stdenv.isLinux) {
|
||||||
|
|
||||||
# Enables wireless support via wpa_supplicant.
|
# Enables wireless support via wpa_supplicant.
|
||||||
networking.wireless.enable = true;
|
networking.wireless.enable = !config.networking.networkmanager.enable;
|
||||||
|
|
||||||
# Allows the user to control the WiFi settings.
|
# Allows the user to control the WiFi settings.
|
||||||
networking.wireless.userControlled.enable = true;
|
networking.wireless.userControlled.enable = true;
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
listen = [ ":443" ];
|
listen = [ ":443" ];
|
||||||
routes = config.caddy.routes;
|
routes = config.caddy.routes;
|
||||||
errors.routes = config.caddy.blocks;
|
errors.routes = config.caddy.blocks;
|
||||||
# logs = { }; # Uncomment to collect access logs
|
logs = { }; # Uncomment to collect access logs
|
||||||
};
|
};
|
||||||
apps.http.servers.metrics = { }; # Enables Prometheus metrics
|
apps.http.servers.metrics = { }; # Enables Prometheus metrics
|
||||||
apps.tls.automation.policies = config.caddy.tlsPolicies;
|
apps.tls.automation.policies = config.caddy.tlsPolicies;
|
||||||
@ -54,6 +54,7 @@
|
|||||||
output = "file";
|
output = "file";
|
||||||
filename = "${config.services.caddy.logDir}/caddy.log";
|
filename = "${config.services.caddy.logDir}/caddy.log";
|
||||||
roll = true;
|
roll = true;
|
||||||
|
roll_size_mb = 1;
|
||||||
};
|
};
|
||||||
level = "INFO";
|
level = "INFO";
|
||||||
};
|
};
|
||||||
|
@ -30,7 +30,11 @@ in {
|
|||||||
match = [{ host = [ config.hostnames.books ]; }];
|
match = [{ host = [ config.hostnames.books ]; }];
|
||||||
handle = [{
|
handle = [{
|
||||||
handler = "reverse_proxy";
|
handler = "reverse_proxy";
|
||||||
upstreams = [{ dial = "localhost:8083"; }];
|
upstreams = [{
|
||||||
|
dial = "localhost:${
|
||||||
|
builtins.toString config.services.calibre-web.listen.port
|
||||||
|
}";
|
||||||
|
}];
|
||||||
headers.request.add."X-Script-Name" = [ "/calibre-web" ];
|
headers.request.add."X-Script-Name" = [ "/calibre-web" ];
|
||||||
}];
|
}];
|
||||||
}];
|
}];
|
||||||
|
@ -44,10 +44,7 @@ in {
|
|||||||
caddy.cidrAllowlist = cloudflareIpRanges;
|
caddy.cidrAllowlist = cloudflareIpRanges;
|
||||||
|
|
||||||
# Tell Caddy to use Cloudflare DNS for ACME challenge validation
|
# Tell Caddy to use Cloudflare DNS for ACME challenge validation
|
||||||
services.caddy.package = (pkgs.callPackage ../../../overlays/caddy.nix {
|
services.caddy.package = pkgs.caddy-cloudflare; # Patched overlay
|
||||||
plugins = [ "github.com/caddy-dns/cloudflare" ];
|
|
||||||
# vendorSha256 = "sha256-K9HPZnr+hMcK5aEd1H4gEg6PXAaNrNWFvaHYm5m62JY=";
|
|
||||||
});
|
|
||||||
caddy.tlsPolicies = [{
|
caddy.tlsPolicies = [{
|
||||||
issuers = [{
|
issuers = [{
|
||||||
module = "acme";
|
module = "acme";
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -4,15 +4,27 @@
|
|||||||
|
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
package = pkgs.nextcloud27; # Required to specify
|
package = pkgs.nextcloud27; # Required to specify
|
||||||
|
configureRedis = true;
|
||||||
datadir = "/data/nextcloud";
|
datadir = "/data/nextcloud";
|
||||||
|
database.createLocally = true;
|
||||||
https = true;
|
https = true;
|
||||||
hostName = "localhost";
|
hostName = "localhost";
|
||||||
maxUploadSize = "50G";
|
maxUploadSize = "50G";
|
||||||
config = {
|
config = {
|
||||||
adminpassFile = config.secrets.nextcloud.dest;
|
adminpassFile = config.secrets.nextcloud.dest;
|
||||||
|
dbtype = "mysql";
|
||||||
extraTrustedDomains = [ config.hostnames.content ];
|
extraTrustedDomains = [ config.hostnames.content ];
|
||||||
trustedProxies = [ "127.0.0.1" ];
|
trustedProxies = [ "127.0.0.1" ];
|
||||||
};
|
};
|
||||||
|
extraOptions = { default_phone_region = "US"; };
|
||||||
|
extraAppsEnable = true;
|
||||||
|
extraApps = with config.services.nextcloud.package.packages.apps; {
|
||||||
|
inherit calendar contacts;
|
||||||
|
news = pkgs.nextcloudApps.news;
|
||||||
|
external = pkgs.nextcloudApps.external;
|
||||||
|
cookbook = pkgs.nextcloudApps.cookbook;
|
||||||
|
};
|
||||||
|
phpOptions = { "opcache.interned_strings_buffer" = "16"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
# Don't let Nginx use main ports (using Caddy instead)
|
# Don't let Nginx use main ports (using Caddy instead)
|
||||||
@ -147,35 +159,10 @@
|
|||||||
# Grant user access to Nextcloud directories
|
# Grant user access to Nextcloud directories
|
||||||
users.users.${config.user}.extraGroups = [ "nextcloud" ];
|
users.users.${config.user}.extraGroups = [ "nextcloud" ];
|
||||||
|
|
||||||
## Backup config
|
|
||||||
|
|
||||||
# Open to groups, allowing for backups
|
# Open to groups, allowing for backups
|
||||||
systemd.services.phpfpm-nextcloud.serviceConfig.StateDirectoryMode =
|
systemd.services.phpfpm-nextcloud.serviceConfig.StateDirectoryMode =
|
||||||
lib.mkForce "0770";
|
lib.mkForce "0770";
|
||||||
|
|
||||||
# Allow litestream and nextcloud to share a sqlite database
|
|
||||||
users.users.litestream.extraGroups = [ "nextcloud" ];
|
|
||||||
users.users.nextcloud.extraGroups = [ "litestream" ];
|
|
||||||
|
|
||||||
# Backup sqlite database with litestream
|
|
||||||
services.litestream = {
|
|
||||||
settings = {
|
|
||||||
dbs = [{
|
|
||||||
path = "${config.services.nextcloud.datadir}/data/nextcloud.db";
|
|
||||||
replicas = [{
|
|
||||||
url =
|
|
||||||
"s3://${config.backup.s3.bucket}.${config.backup.s3.endpoint}/nextcloud";
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Don't start litestream unless nextcloud is up
|
|
||||||
systemd.services.litestream = {
|
|
||||||
after = [ "phpfpm-nextcloud.service" ];
|
|
||||||
requires = [ "phpfpm-nextcloud.service" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Log metrics to prometheus
|
# Log metrics to prometheus
|
||||||
networking.hosts."127.0.0.1" = [ config.hostnames.content ];
|
networking.hosts."127.0.0.1" = [ config.hostnames.content ];
|
||||||
services.prometheus.exporters.nextcloud = {
|
services.prometheus.exporters.nextcloud = {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
publicKey = lib.mkOption {
|
publicKey = lib.mkOption {
|
||||||
@ -32,7 +32,10 @@
|
|||||||
services.sshguard.enable = true;
|
services.sshguard.enable = true;
|
||||||
|
|
||||||
# Add terminfo for SSH from popular terminal emulators
|
# Add terminfo for SSH from popular terminal emulators
|
||||||
environment.enableAllTerminfo = true;
|
# Fix: terminfo now installs contour, which is broken on ARM
|
||||||
|
# - https://github.com/NixOS/nixpkgs/pull/253334
|
||||||
|
# - Will disable until fixed
|
||||||
|
environment.enableAllTerminfo = pkgs.stdenv.isLinux && pkgs.stdenv.isx86_64;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,11 @@ in {
|
|||||||
match = [{ host = [ config.hostnames.secrets ]; }];
|
match = [{ host = [ config.hostnames.secrets ]; }];
|
||||||
handle = [{
|
handle = [{
|
||||||
handler = "reverse_proxy";
|
handler = "reverse_proxy";
|
||||||
upstreams = [{ dial = "localhost:8222"; }];
|
upstreams = [{
|
||||||
|
dial = "localhost:${
|
||||||
|
builtins.toString config.services.vaultwarden.config.ROCKET_PORT
|
||||||
|
}";
|
||||||
|
}];
|
||||||
headers.request.add."X-Real-IP" = [ "{http.request.remote.host}" ];
|
headers.request.add."X-Real-IP" = [ "{http.request.remote.host}" ];
|
||||||
}];
|
}];
|
||||||
}];
|
}];
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Create private key file for wireguard
|
# Create private key file for wireguard
|
||||||
secrets.wireguard = {
|
secrets.wireguard = lib.mkIf config.wireguard.enable {
|
||||||
source = ../../../private/wireguard.age;
|
source = ../../../private/wireguard.age;
|
||||||
dest = "${config.secretsDirectory}/wireguard";
|
dest = "${config.secretsDirectory}/wireguard";
|
||||||
};
|
};
|
||||||
|
7
overlays/README.md
Normal file
7
overlays/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Overlays
|
||||||
|
|
||||||
|
These are pinned commits, patches, or new packages for programs in Nixpkgs used
|
||||||
|
by this flake configuration.
|
||||||
|
|
||||||
|
Some of them introduce new functionality, while others could be patching
|
||||||
|
temporary issues.
|
5
overlays/age.nix
Normal file
5
overlays/age.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Pin age because it is failing to build
|
||||||
|
|
||||||
|
inputs: _final: prev: {
|
||||||
|
age = prev.age.overrideAttrs (old: { src = inputs.age; });
|
||||||
|
}
|
@ -1,9 +1,14 @@
|
|||||||
# Adds the Cloudflare DNS validation module
|
# Adds the Cloudflare DNS validation module
|
||||||
|
|
||||||
{ lib, buildGo118Module, fetchFromGitHub, plugins ? [ ] }:
|
inputs: _final: prev:
|
||||||
|
|
||||||
let
|
let
|
||||||
goImports = lib.flip lib.concatMapStrings plugins (pkg: " _ \"${pkg}\"\n");
|
|
||||||
goGets = lib.flip lib.concatMapStrings plugins (pkg: "go get ${pkg}\n ");
|
plugins = [ "github.com/caddy-dns/cloudflare" ];
|
||||||
|
goImports =
|
||||||
|
prev.lib.flip prev.lib.concatMapStrings plugins (pkg: " _ \"${pkg}\"\n");
|
||||||
|
goGets = prev.lib.flip prev.lib.concatMapStrings plugins
|
||||||
|
(pkg: "go get ${pkg}\n ");
|
||||||
main = ''
|
main = ''
|
||||||
package main
|
package main
|
||||||
import (
|
import (
|
||||||
@ -15,44 +20,43 @@ let
|
|||||||
caddycmd.Main()
|
caddycmd.Main()
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
in buildGo118Module rec {
|
|
||||||
pname = "caddy";
|
|
||||||
version = "2.6.4";
|
|
||||||
runVend = true;
|
|
||||||
|
|
||||||
subPackages = [ "cmd/caddy" ];
|
in {
|
||||||
|
caddy-cloudflare = prev.buildGo120Module {
|
||||||
|
pname = "caddy-cloudflare";
|
||||||
|
version = prev.caddy.version;
|
||||||
|
runVend = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
subPackages = [ "cmd/caddy" ];
|
||||||
owner = "caddyserver";
|
|
||||||
repo = "caddy";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "sha256:3a3+nFHmGONvL/TyQRqgJtrSDIn0zdGy9YwhZP17mU0=";
|
|
||||||
};
|
|
||||||
|
|
||||||
vendorSha256 = "sha256:CrHqJcJ0knX+txQ5qvzW4JrU8vfi3FO3M/xtislIC1M=";
|
src = prev.caddy.src;
|
||||||
|
|
||||||
overrideModAttrs = (_: {
|
vendorSha256 = "sha256:mwIsWJYKuEZpOU38qZOG1LEh4QpK4EO0/8l4UGsroU8=";
|
||||||
preBuild = ''
|
|
||||||
|
overrideModAttrs = (_: {
|
||||||
|
preBuild = ''
|
||||||
|
echo '${main}' > cmd/caddy/main.go
|
||||||
|
${goGets}
|
||||||
|
'';
|
||||||
|
postInstall = "cp go.sum go.mod $out/ && ls $out/";
|
||||||
|
});
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
echo '${main}' > cmd/caddy/main.go
|
echo '${main}' > cmd/caddy/main.go
|
||||||
${goGets}
|
cat cmd/caddy/main.go
|
||||||
'';
|
'';
|
||||||
postInstall = "cp go.sum go.mod $out/ && ls $out/";
|
|
||||||
});
|
|
||||||
|
|
||||||
postPatch = ''
|
postConfigure = ''
|
||||||
echo '${main}' > cmd/caddy/main.go
|
cp vendor/go.sum ./
|
||||||
cat cmd/caddy/main.go
|
cp vendor/go.mod ./
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postConfigure = ''
|
meta = with prev.lib; {
|
||||||
cp vendor/go.sum ./
|
homepage = "https://caddyserver.com";
|
||||||
cp vendor/go.mod ./
|
description =
|
||||||
'';
|
"Fast, cross-platform HTTP/2 web server with automatic HTTPS";
|
||||||
|
license = licenses.asl20;
|
||||||
meta = with lib; {
|
maintainers = with maintainers; [ Br1ght0ne techknowlogick ];
|
||||||
homepage = "https://caddyserver.com";
|
};
|
||||||
description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ Br1ght0ne techknowlogick ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
6
overlays/keyd.nix
Normal file
6
overlays/keyd.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Use latest PR of keyd to update to 2.4.3
|
||||||
|
# https://github.com/NixOS/nixpkgs/pull/245327
|
||||||
|
|
||||||
|
inputs: _final: prev: {
|
||||||
|
inherit (inputs.nixpkgs-keyd.legacyPackages.${prev.system}) keyd;
|
||||||
|
}
|
17
overlays/mpv-scripts.nix
Normal file
17
overlays/mpv-scripts.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
inputs: _final: prev: {
|
||||||
|
|
||||||
|
mpvScripts = prev.mpvScripts // {
|
||||||
|
# Delete current file after quitting
|
||||||
|
mpv-delete-file = prev.stdenv.mkDerivation rec {
|
||||||
|
pname = "mpv-delete-file";
|
||||||
|
version = "0.1"; # made-up
|
||||||
|
src = inputs.zenyd-mpv-scripts + "/delete_file.lua";
|
||||||
|
dontBuild = true;
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase =
|
||||||
|
"install -Dm644 ${src} $out/share/mpv/scripts/delete_file.lua";
|
||||||
|
passthru.scriptName = "delete_file.lua";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -19,24 +19,23 @@ in {
|
|||||||
nil = inputs.nil.packages.${prev.system}.nil;
|
nil = inputs.nil.packages.${prev.system}.nil;
|
||||||
vscode-terraform-snippets = inputs.vscode-terraform-snippets;
|
vscode-terraform-snippets = inputs.vscode-terraform-snippets;
|
||||||
|
|
||||||
nvim-lspconfig =
|
nvim-lspconfig = withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig;
|
||||||
(withSrc prev.vimPlugins.nvim-lspconfig inputs.nvim-lspconfig);
|
cmp-nvim-lsp = withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp;
|
||||||
cmp-nvim-lsp = (withSrc prev.vimPlugins.cmp-nvim-lsp inputs.cmp-nvim-lsp);
|
null-ls-nvim = withSrc prev.vimPlugins.null-ls-nvim inputs.null-ls-nvim;
|
||||||
null-ls-nvim = (withSrc prev.vimPlugins.null-ls-nvim inputs.null-ls-nvim);
|
comment-nvim = withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim;
|
||||||
comment-nvim = (withSrc prev.vimPlugins.comment-nvim inputs.comment-nvim);
|
|
||||||
nvim-treesitter =
|
nvim-treesitter =
|
||||||
(withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter);
|
withSrc prev.vimPlugins.nvim-treesitter inputs.nvim-treesitter;
|
||||||
telescope-nvim =
|
telescope-nvim = withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim;
|
||||||
(withSrc prev.vimPlugins.telescope-nvim inputs.telescope-nvim);
|
telescope-project-nvim = withSrc prev.vimPlugins.telescope-project-nvim
|
||||||
telescope-project-nvim = (withSrc prev.vimPlugins.telescope-project-nvim
|
inputs.telescope-project-nvim;
|
||||||
inputs.telescope-project-nvim);
|
|
||||||
toggleterm-nvim =
|
toggleterm-nvim =
|
||||||
(withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim);
|
withSrc prev.vimPlugins.toggleterm-nvim inputs.toggleterm-nvim;
|
||||||
bufferline-nvim =
|
bufferline-nvim =
|
||||||
(withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim);
|
withSrc prev.vimPlugins.bufferline-nvim inputs.bufferline-nvim;
|
||||||
nvim-tree-lua = (withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua);
|
nvim-tree-lua = withSrc prev.vimPlugins.nvim-tree-lua inputs.nvim-tree-lua;
|
||||||
|
|
||||||
# Packaging plugins entirely with Nix
|
# Packaging plugins entirely with Nix
|
||||||
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
||||||
|
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
21
overlays/nextcloud-apps.nix
Normal file
21
overlays/nextcloud-apps.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
inputs: _final: prev: {
|
||||||
|
|
||||||
|
nextcloudApps = {
|
||||||
|
news = prev.fetchNextcloudApp {
|
||||||
|
url = inputs.nextcloud-news.outPath;
|
||||||
|
sha256 = inputs.nextcloud-news.narHash;
|
||||||
|
license = "agpl3Plus";
|
||||||
|
};
|
||||||
|
external = prev.fetchNextcloudApp {
|
||||||
|
url = inputs.nextcloud-external.outPath;
|
||||||
|
sha256 = inputs.nextcloud-external.narHash;
|
||||||
|
license = "agpl3Plus";
|
||||||
|
};
|
||||||
|
cookbook = prev.fetchNextcloudApp {
|
||||||
|
url = inputs.nextcloud-cookbook.outPath;
|
||||||
|
sha256 = inputs.nextcloud-cookbook.narHash;
|
||||||
|
license = "agpl3Plus";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
15
overlays/proton-ge.nix
Normal file
15
overlays/proton-ge.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Adapted from:
|
||||||
|
# https://github.com/Shawn8901/nix-configuration/blob/182a45a6b193143ff7ff8e78bb66f7b869ea48d4/packages/proton-ge-custom/default.nix
|
||||||
|
# Based on: https://github.com/NixOS/nixpkgs/issues/73323
|
||||||
|
|
||||||
|
inputs: _final: prev: {
|
||||||
|
proton-ge-custom = prev.stdenv.mkDerivation (finalAttrs: rec {
|
||||||
|
name = "proton-ge-custom";
|
||||||
|
version = "0.1"; # Made up
|
||||||
|
src = inputs.proton-ge;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp -r ${src}/* -t $out/bin/
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
}
|
@ -4,57 +4,33 @@ inputs: _final: prev: {
|
|||||||
# Fix: bash highlighting doesn't work as of this commit:
|
# Fix: bash highlighting doesn't work as of this commit:
|
||||||
# https://github.com/NixOS/nixpkgs/commit/49cce41b7c5f6b88570a482355d9655ca19c1029
|
# https://github.com/NixOS/nixpkgs/commit/49cce41b7c5f6b88570a482355d9655ca19c1029
|
||||||
tree-sitter-bash = prev.tree-sitter-grammars.tree-sitter-bash.overrideAttrs
|
tree-sitter-bash = prev.tree-sitter-grammars.tree-sitter-bash.overrideAttrs
|
||||||
(old: {
|
(old: { src = inputs.tree-sitter-bash; });
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "tree-sitter";
|
|
||||||
repo = "tree-sitter-bash";
|
|
||||||
rev = "493646764e7ad61ce63ce3b8c59ebeb37f71b841";
|
|
||||||
sha256 = "sha256-gl5F3IeZa2VqyH/qFj8ey2pRbGq4X8DL5wiyvRrH56U=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# Fix: invalid node in position. Broken as of this commit (replaced with newer):
|
# Fix: invalid node in position. Broken as of this commit (replaced with newer):
|
||||||
# https://github.com/NixOS/nixpkgs/commit/8ec3627796ecc899e6f47f5bf3c3220856ead9c5
|
# https://github.com/NixOS/nixpkgs/commit/8ec3627796ecc899e6f47f5bf3c3220856ead9c5
|
||||||
tree-sitter-python =
|
tree-sitter-python =
|
||||||
prev.tree-sitter-grammars.tree-sitter-python.overrideAttrs (old: {
|
prev.tree-sitter-grammars.tree-sitter-python.overrideAttrs
|
||||||
src = prev.fetchFromGitHub {
|
(old: { src = inputs.tree-sitter-python; });
|
||||||
owner = "tree-sitter";
|
|
||||||
repo = "tree-sitter-python";
|
# Fix: invalid structure in position.
|
||||||
rev = "5af00f64af6bbf822f208243cce5cf75396fb6f5";
|
tree-sitter-lua = prev.tree-sitter-grammars.tree-sitter-lua.overrideAttrs
|
||||||
sha256 = "sha256-2btd/NRE6NuGNlx4cq535OrwtWXihiP3VMCJjPCiDOk=";
|
(old: { src = inputs.tree-sitter-lua; });
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# Add grammars not in nixpks
|
# Add grammars not in nixpks
|
||||||
tree-sitter-ini = prev.tree-sitter.buildGrammar {
|
tree-sitter-ini = prev.tree-sitter.buildGrammar {
|
||||||
language = "ini";
|
language = "ini";
|
||||||
version = "1.0.0";
|
version = "1.0.0";
|
||||||
src = prev.fetchFromGitHub {
|
src = inputs.tree-sitter-ini;
|
||||||
owner = "justinmk";
|
|
||||||
repo = "tree-sitter-ini";
|
|
||||||
rev = "1a0ce072ebf3afac7d5603d9a95bb7c9a6709b44";
|
|
||||||
sha256 = "sha256-pPtKokpTgjoNzPW4dRkOnyzBBJFeJj3+CW3LbHSKsmU=";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
tree-sitter-puppet = prev.tree-sitter.buildGrammar {
|
tree-sitter-puppet = prev.tree-sitter.buildGrammar {
|
||||||
language = "puppet";
|
language = "puppet";
|
||||||
version = "1.0.0";
|
version = "1.0.0";
|
||||||
src = prev.fetchFromGitHub {
|
src = inputs.tree-sitter-puppet;
|
||||||
owner = "amaanq";
|
|
||||||
repo = "tree-sitter-puppet";
|
|
||||||
rev = "v1.0.0";
|
|
||||||
sha256 = "sha256-vk5VJZ9zW2bBuc+DM+fwFyhM1htZGeLlmkjMAH66jBA=";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
tree-sitter-rasi = prev.tree-sitter.buildGrammar {
|
tree-sitter-rasi = prev.tree-sitter.buildGrammar {
|
||||||
language = "rasi";
|
language = "rasi";
|
||||||
version = "0.1.1";
|
version = "0.1.1";
|
||||||
src = prev.fetchFromGitHub {
|
src = inputs.tree-sitter-rasi;
|
||||||
owner = "Fymyte";
|
|
||||||
repo = "tree-sitter-rasi";
|
|
||||||
rev = "371dac6bcce0df5566c1cfebde69d90ecbeefd2d";
|
|
||||||
sha256 = "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBkOVNs
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBhNzEr
|
||||||
NklGeTFxTTQzQ2t5WVUvVzREVnk3WjB0ZnUwdGo5Wk5Zc2RVeVJJCnBFbHcvUzdi
|
aFRkQ3luWWhBbmdTTEtNOGc0c3ZPcTlRbktxd2xQZHFyMDF1c1ZVCkMwWDF5UlJH
|
||||||
SG5xeTg2dU9oRUtiYXk3cERJOC9zbitrZ1hxZ0RJWDVYNmcKLT4gc3NoLWVkMjU1
|
RTBhMXI0ZEhkQm5takh0QUpiZm5rbTk3M3REdUhQV0lOdmMKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIElNNkFMYkRoYXpPV1RtWEhrdUJCbXczd05tTG5QNi8wVktYQmZn
|
MTkgWXlTVU1RIHdGOVptZzNIRlp1NUlFY1k2b1FtN3JRczMrZ054ZlhUbVlvRVVS
|
||||||
eTlWbTgKUVVrb21mTTNzZ1d6cE0yU2l4SVhqbkNyUEpLSHJyUEMyS1pLNGloTlpK
|
NEZCaTQKUmMwWFBBVDdBMlBpekVCSC9EMERHdXlKNGpubXRmY0FxalRxbTNnREky
|
||||||
cwotPiBzc2gtZWQyNTUxOSBuanZYNUEgRU5LM2FKNEZ3Y1dDOW02VFU4bnNuZHpE
|
ZwotPiBzc2gtZWQyNTUxOSBuanZYNUEgeGhzMDRONFJjMEJZWUlDeHp6SHZERXJS
|
||||||
QzBLMlBhVnY3aGIrZDNhOUNWcwpSMHNsYTRlNFc5V0NsQ1h2VGFqUHNBVkxTVXdz
|
VjNLb25adVJ2V0MxMm9DUE5Gawo2RlhSNDY3K2oyQ2VGZ3p1MHRreU0ydmZjRkZQ
|
||||||
dGx6bWFwR1FFU2JNdmlBCi0tLSB6b3dpRmFURm0veFRFRitpbmZoOWJFcU8rbHJk
|
bHZsbkxXdzNsN1A2alBBCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBqL2FWZis5N2l6
|
||||||
OXVIbGpUSWNFdWZmczVNCrodWjz8yVOdHHcVH9s2gOJfDrZFCP7L14RdGs9UW/Iw
|
T0lYUVRBcDBWQ0sxRFd5V3JydzVTVUZZaDZyL1ZGaUJvClRPazdXOWM5MUhrLys4
|
||||||
JaJr5YblUiqTfKJiCN8dnCve3oCUlIY6K+yrBh5GaNbiwOgCzzZO5BGXEqoUSnux
|
OWp2SVg5S0pnVE51MzRwMU1hRThKVFJZSHJzY1kKLS0tIGl1UjBtUzhVZTArZkVt
|
||||||
ltmV1UI4
|
RVhMMlJNQVlBS0Z5bTByQ1hpSGQvZVprL29oS0UKZGsWBbEUiDIJhoBOEaLF7cnW
|
||||||
|
FMcg1pxgmlioqsRbKdcYlZWEKDYUa0ZctJEYo0m+eGxilTV/qctyiEIYsoKU1t0Y
|
||||||
|
+kCTYQk+RbtKfQ7xEStmJ2cdZDE=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyByWGJS
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBRckNo
|
||||||
SmJlSVhZcUx5Y3JhVXYxUVhUbmp2QjNXeUxYL1EwNThJelRoTVNvCjFsU0gyaWNJ
|
MkttVHF3WWhKMGtCY1ZoL251SlhEb0YxUEZSSDBLVHhQK3o1QW1rCkp5WHFTb0xE
|
||||||
SEJpNVpYWm1TL24yeHNLaWNIdU9FdWw2d3p6UVVMSEYwT28KLT4gc3NoLWVkMjU1
|
amRrM05XRGxzMkRPUWx3Z1BVMFRsRGxvemRLckZEY0E0QmMKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIEV4NU1sOENFK1NvUWlZL1NmUCtUM2RRQmd1c2pnb3p6V3Bsc3pC
|
MTkgWXlTVU1RIEhrV0E4b3VkOUZwYjBXTkF3UUhVVklLWXF0QkpYRjErY1l2dnFh
|
||||||
UVdYV3cKYmFkR0EwNVpRbzJBb2Z4RmpXSGVyK3BkLzd6TTMvQWRRK3BtRXZDUjVZ
|
VWZvVkEKUGd2VGtVaEFqc0lpZS9Jd0pSQ2IydHBUN1JWTGE4MzZZT2RXRUt2eVFI
|
||||||
UQotPiBzc2gtZWQyNTUxOSBuanZYNUEgMG9rU0lzTU1iV1grOTNzZS85cldQZGE5
|
YwotPiBzc2gtZWQyNTUxOSBuanZYNUEgelFPWGtneFhDWmFoc2FIL0RwejZuS3Zr
|
||||||
Ym9nVkRvNC9OMUFBbStNT1BBOApucnl1Z0w1Y1RRU3grS0Z0TjNNRXcwVnVqeDFF
|
ZzBUREMvTUtpYlNqdmV0cHBscwpOMitLS1NoVkZwYmZFcnJRWkRWVFJ4Sm1oTmhG
|
||||||
VGc3Mm93UFc0YXoweVBBCi0tLSBvTnpCc3hBVU81dkpBRzV2L3NWTlZaV2QxUVNZ
|
WHRjaWQvZWNLcVl5ZURvCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBRMTdyOTRWV3NQ
|
||||||
KzJwcUI2QUl2NEY0R1p3CmDvQwsKrtmTJliCxHv+LSoIV8jYpQJ7I2LJSH9uP89N
|
T1I0Wk1jOE5KSVFFaUEwTm9iRElCd1pscG80czF1U0E4CmREU3BNVklzOXZKVFFp
|
||||||
+7wbAwGjv/Uxk7gnMn5EqQuFKZeOl8LLhKEprmVqVZqlkgbpaaaWud/4xNKu9v5h
|
UWRoYXp2UXRxR2ZhbzlYSng5akV5Zy9hZC9uWHcKLS0tIFFjdE5KN2lxMFQ2emJh
|
||||||
lWuY1sYd
|
d1NwRm8xaHpZNGxQbFUzSTh3MWxJRXViUjVBUFkKr/OxDAiV2XR3YZDdT1DSPUPk
|
||||||
|
XQrbpI/urpfXPyQAzXH2IwqRU2H56JHH2Q+z1OK6/BDzpxyFf1HmK/N9p/00osK5
|
||||||
|
WPeBVcNDMmWD/RlgEyooxyajK6Q=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBQVzVy
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyB6R2Vp
|
||||||
ZmRldHhVenI3RVdOQXkyQ3pQUWM3N2l0bFBqT3ozakp3Nk5nS1dVCmoxb1lzVWd1
|
T2d4eDRDdGdIZVdZelRUY09oRWtwTFpDbGFEKytiOGxxQjgwakRrCnBveWptbm5P
|
||||||
YWZ0UWd4TExELzJ1cElsQ0o2L1g4TVBpZW16TmxvT05GaFEKLT4gc3NoLWVkMjU1
|
Q2lkaG4vSWZkS0RjM0VuUWtsalovZkJVamJzV1pWbGlDTzAKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIDR2TjdhbG1MelVVTXF3WUhFRWZKRGVoYUNwdy9hc05uajg2enlY
|
MTkgWXlTVU1RIEtuMnZvcGExWmJZU0tsdTJXa0ljeXYzOEJKV1Qrc0xNSnE0emJI
|
||||||
S0x5eWcKSlM2YjFCRi9yN3ozVkhScXM5S0dNRnhpeisvNlE1Q09CNVFvN0YwL2JR
|
czdQbjgKM0NFc29UZTFUbVVrbFIzUDZhUlkrbGxSSXl6SldnYXh6a0hXSVlHQ25v
|
||||||
NAotPiBzc2gtZWQyNTUxOSBuanZYNUEgMEJtR2JpVk5PZnRpOUVuZHZJTDI3Z0Fa
|
TQotPiBzc2gtZWQyNTUxOSBuanZYNUEgc3R0Qjh0Vy9mSnR1eE5rajU5ZG56OFVR
|
||||||
UUdwWXFLT1gxZ0c3WFBlU2dDawpreE0yYUxoUktveGF5NXE4VHRva1hNdjdpYmZn
|
UUNLYmJyVHYxcUlsbzlTVGRUNApzcW4xVXp3dTVaVmhnVXdoUnZ2MlNESnUvVVk0
|
||||||
R08wQ0l6cXpvYmhRMXRvCi0tLSB0UmFTdVBlR3NTSkVzdGtzOTdmSFVERC85dU1z
|
ZkRFVVBhdjZsMzhHRzZvCi0+IHNzaC1lZDI1NTE5IENxSU9VQSA1MW8wdXBYdXBl
|
||||||
cHdMVFdYSTFWUGRDTm1nCrengYn1phCUDmVH29uRjKMLNDIucrpi1s4t8ciQ3ILG
|
VjM3Ukc4U2tSWFc2WDJaVWo3aldvazgwckJBZXVKbkFVCjFaaHhENHVQOWx3Q25F
|
||||||
sz605ztO3UUlm4SQTJnXmktRDBlLu/xICzEo5okkNl9HwK7s2Ok2DAoz8K/KeFbS
|
NnBnSXNJRjlwWk0zLzY1NVE2Z1M3dFhLMzVBT2sKLS0tIDk4TTBhNHpjS2lPRTlk
|
||||||
65K3a3RcZEdWryZyu/N12HAqu5FDw0wIbvLJP4X+EcpUJXYHr8FluLUSEQg+sORW
|
VllRbmV4YU9xYUtEaVNWRVRrb2ZheSthWTAxcVEK9nC0bUWE1W8lmXZABR8IJAnI
|
||||||
FnL5tr1vK32ZQY4GIHZXh4hQbNoZo1v2ezkcK21siDkeA3e3PT6Bi0I90nuXS9Pc
|
to/at+EBAj4gV+UvTpqBmQ9xy5q9ih+L9VH+WolUQg5To5nzSKDbhwybzwEj1YUd
|
||||||
0rZFZeYlNtI1Y4aeg6NEWytt
|
5Oqm1waFqasvLe4tNkNZ1aEVbc5VFY6OBCw3nVRESVR8AeuDnL8rRZyYpZjEwCZu
|
||||||
|
Qay0cQUSJPJQIKES/UzSrUj+HAw2LxPPAZ9xrDa+QuU36RfPHzmAoVMZ82MxtLxf
|
||||||
|
vLgxoUM9INybdIoBncihj90U+o8PC8Mud2DBm/FGkx0=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBDL0tZ
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyA0bkg4
|
||||||
TG9JTEdCMkJ2SnRvaFVLalZIM05JWEc1U0JSK0Q5aEg3TTRscVhRCjhJRGJYL3M5
|
WkZTODJsOFN0RGtzQ0F5RzhmQ0ViUDBobXEvVFFidXNtNTRaSFI4CjBraW5mUmgy
|
||||||
T24yRGVQZG1heTJveU1qWCthZ1RJVkRtTksxVGhhR3dIMWcKLT4gc3NoLWVkMjU1
|
QzJPOStxdmRXSVY4NlNkZUUrcThGUUhpZUFxVm0yVENoNVkKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIGk2RDZjMEtDblNDcCtvRnFkNnQ1elEzUkdyWWg3M1hNcXBTaEdN
|
MTkgWXlTVU1RIDc4MCttZk5aUlNoVjZZY2RwVW54SE8xT2gyYk5KSXFFQjFjT2ln
|
||||||
VGtLM2sKK09Sa3NZNnc3SWlHRXBjcVE0Z3ZHSnY0Zk5pS2UyQ3NSMWh2VzNJeTNm
|
aUNhZ1UKSTJzdTJTTXBPZTVYVXRMb1M0c3FtSDlyd2MvdVdHYURMSHV1WUF0TTZT
|
||||||
NAotPiBzc2gtZWQyNTUxOSBuanZYNUEgWDhkN1B6ajNYcTBGeCtlbHhacnB4Ly9a
|
MAotPiBzc2gtZWQyNTUxOSBuanZYNUEgeEd6Zy9CYWRKUFNjUHRZd3ZEMmR4VCtK
|
||||||
ejJCSVhPcndST0dkN1VZZE1nRQpKeUhCWEk1RkdjajlFMFgzajdmclB3a3FORkp5
|
cGR5UWdFSmRyLy9iblpJNVRtbworVEdkL01YazZyZHA0NmRXKzl1NTIyM0FZK2hW
|
||||||
ZTRQK3JXcWE0YUIvL2UwCi0tLSBBYkFQcmwvM0hZbEtBWG1oVUZ5NVhoT2p3U2pF
|
emlKWGhiUjl1T3lpcVhZCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBBN21XTy9qQldX
|
||||||
VzhGL25La2lJRElDL0o4CtVNQVuouGOOXtVTwdeBd4+CJyglCjFoDoOpXdH35fni
|
enRxcE5pSVl2YXQwckIyQ1NueG5lbk1neGpDdThkSm5ZCm9HZlB2dWpSUWkrZUht
|
||||||
Azr6JyfKbBlcavrghACWVDem24WIKq7uh9BSL2yHd+sj4umDybuCk9RZWmLgSaHV
|
S21wMDE4anZrMUdSUUdnTFJmWnhXUks2ZmhyQzAKLS0tIE5JekNmSkdjUHcxeDdP
|
||||||
g7Y3jiHa/NTvqd+Wr0PBas4TcOLcICQ0rg9gWnYH+QQDdnv+At4Eqp2/X1ztTI8O
|
YVpLODlCemZkallwODRlOVVaOEk0UEVYY0Nxd00Km4HzHO0ciIVLi9jVf1WL0v70
|
||||||
PRJr7O6HJJasPZSsQldjs3O3fMiLiYPSywCTmgU/gstnv2YhbA3m4vhqOeRskuNg
|
9tdZZIXF1aklkmvwpKZyIBSJc2cDm583czRyrhy5/W2h2xLYSOXdL0NVKJyVgJj2
|
||||||
X0qAd8jso4Bo7jHohmLLzl1c
|
Y8Iq3+nLStZ8p0TL9MuFyY5HXkQpJzFeIrdFRj2vcQPVP1txZd90se8WrUP4k/9h
|
||||||
|
xrC+MHllDYR5lDXhAUhS42y746Ixm3iabVlPDzcccPJS7nvT4w5HBwkhWaVvb1/1
|
||||||
|
cHD2guHpi4e3BbT5ozKADmOHajfjRy+j+gwFTl0AjGg=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyB1VnBt
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBEVnpD
|
||||||
RTV5eWc3RDNUR2lOWFRaMlgzREQyMlcvUFNxV0N2Vm9lVVZKOUZ3ClJjaWtYZjR5
|
S3FrMlhVZXpEZ1IzMVJpTGh3UnUyaEo0VU5iR01JL0dKVWpCUGpjCmdoWHUzRzBh
|
||||||
ZTB4L2M4MFB0UThaMzlRT3JkUEE1N3RrSUlpZnRFbmFDdWcKLT4gc3NoLWVkMjU1
|
NCtMK25aNG8rVktpcDFkVW9yd1dOSExxNUo5RG9CWDgyUzgKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIE5iTUs1ak9VZjRIRGpLMWtDcVB0RjVFRW8vOENQZlkzeGhsYmFB
|
MTkgWXlTVU1RIE41U2Y5QUwxZVYxTEVCVlczMjlUWmxYbG5oOEd1YnR2UUJOZ0hG
|
||||||
QzJ6Z00KZmcvZ0hYMjN1bGZwY3NvMjlCbnpHUWVjdVU4cnBGcDQxTU8wZ0EyQXdU
|
ZU9GemMKaS9pYzQvSG1yR242UDlFQ2M4U0F0YjlHSzZBOUtvRCsybmhOclJkZkI1
|
||||||
MAotPiBzc2gtZWQyNTUxOSBuanZYNUEgazRzK2ZnSUZNWURoKzZMZmM4VTlDbVBh
|
OAotPiBzc2gtZWQyNTUxOSBuanZYNUEgUVdES1BCdFljL2JRTzJSSWpFcWw2b2hQ
|
||||||
WGc4MlE5TGFiN1MzV01FT1oyQQppRUhUNjdlQURNQm8rR0JOOUJFNm9vaXhPTXFW
|
MFZqZTlyWC8rSzZ6RnI3ckdHbwo0cnBDNHdVNWFlMmxCZEVHWW9Tb2ZQMXc3WGw4
|
||||||
U2lJU09jWVA0TDRrVHY4Ci0tLSBudWJTclRTek1RWHYzYzA4aTduODB0NUNWbVVP
|
WUszNUc5aTk2MDVERXRrCi0+IHNzaC1lZDI1NTE5IENxSU9VQSB6VXJBMit0UytG
|
||||||
cUIyVzJncWhDS053d25nCneJhp1QT1v+dAguW9wAKDgWST59KNBgbY01jkf1IqXc
|
N1l4cHd6cTZudlBzWEcvNkhHVldOMnQvK2JWWVh4VGhJCmh0VVUrd0dEMk9XNVlD
|
||||||
FbmkctPIMggim3uCBqjzBboYvf+dtt0Fcu9aiB+4YmGUeQNb+9mdPweXoHmVrego
|
eERYc1VtdjBHUEZZQ0pNWjF1aXRmUTFZc0phaDAKLS0tIHhVVTFDcjVucElUOHlw
|
||||||
XygVsbuSP4xKWtIJhBJ/3/jEK9LqBtv+owdUIxbw5Ci6A0JvSu+tnUj5oAgMyT2z
|
T0VMUWVTL0R5ek16VmlDY1dZWGk2aWV3TjdQMVkKbBB/Ixe0nuEQ4WkOguVk6oRI
|
||||||
YrGRK9plQZteeUkMcd6+anSEUpP45lzfz/T7loD9ViCbPHRuUFgwkwUcRGjQStm3
|
h7gasRs0CYNvKoIjAf66tJ4IC6CumJIo2JRkH0CU94nOJhPqdPL5VS2IrJOznrWY
|
||||||
pnx9bi8N4ac599f4KqInm5gd
|
bZolkeTJxq+IDUZVTNk6b/7TSmhPsKNgAZZdEQp+HSwz3sy1wZIBTkc7Lxml0Vvy
|
||||||
|
pBjh36wBjPLYJy69KAxsI13YYlT8gGw6dHQutBlVRzH6zL+To8TQ/TMDAwKHxkJA
|
||||||
|
6Bv3SyF5AvVYtJhnhT2Ic9fmkbbkohes6illUlpZTPU=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBoOVF1
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBzTVNj
|
||||||
NmZocHpQQnRJcWpWUHh2bU93NkdnZWNzSlFiaHdTd24rcHpsczFRCmJaSzNkNGs1
|
R1FPalhwL01tWkg0REtwZ2M0Yno5RVVDSjJsQ1VUS1dWak9aeWgwClI2V1c2bE1w
|
||||||
UDJCN2dYUVE3UTE1OU5RUWljQlN4dmxuUnpOMFYxQTdUaVEKLT4gc3NoLWVkMjU1
|
RzFyVWlibVZzV1NGWEd3OWNOWG9jRXV1dHRTV2k0RzEreUkKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIE5HdGd6aTlKM0lFUlYzT1VhS05nZ2ZxTndVZHBNQlJxYlovdXkx
|
MTkgWXlTVU1RIG1nZjVqbzlnUEZtSkxmTUtVNDdFS1NQanVmL1RSeWRNbk4rRjdP
|
||||||
ei96d2cKdzlUYVFFaEIzaS9LZmY3MzM1RmNnR0xjOEpHK1kxM0FMTWRQSlVnczVF
|
YWw0WEUKdFp0NGtuMEtQdUhlNTN6MmdxRDY5b3lPajhoRVAvT0llQml5cGZLdFlm
|
||||||
dwotPiBzc2gtZWQyNTUxOSBuanZYNUEgQ1lhMGQvUy9OWkRBR3BZV1pFNmNtb2pq
|
UQotPiBzc2gtZWQyNTUxOSBuanZYNUEgY0xkSFM5Q1pDRTlCbjRZT2FnN0JxR2h3
|
||||||
Y2VEUzhRWGVWUkZJY1l4RGtWdwphdFZtM0ZLZURvYVZQYjV4bWVPdWJxa3RmWmVh
|
ZmM5NGJkNGo5M0tzak9iOGZUOApiVmNic2RpSjB6M3Jma1V6OGJjTGlmL0xYK3pP
|
||||||
SHl0T0pQWmxnVlFPR2drCi0tLSBnd2lwS3dqUk5Jelg0b3RxbFdEcnJ6ZkkvZTVN
|
a3ZHYVhMMDBGZkQ4TUlFCi0+IHNzaC1lZDI1NTE5IENxSU9VQSA2K1lBMlFaVEp3
|
||||||
UllBeUUyOXBxVDBKMG5BCkGo9kj9sMVhbnXVM35lGScAb8r5LH9vf5jOdhLC/Wj2
|
cTZNZ0duTGlXc3JmUUo3MkYyK1ZVRWM2VTMxekNhNHdZClE3RDlub1Jab2VhbjFx
|
||||||
+uA0ONIh7F2GELzf5Cw1KZJ8aHTURM2r41vZvfAQN1RwrmYOiUzlyMrvTDe78cY=
|
RHhOSHNnMGhEcjN0ZytsZWV4N1AzRFRDT1d6N0kKLS0tIFJSMEFkaWhMMGxQaTlL
|
||||||
|
MW12UldodHcrclFvQ080OEJBekh1VTZCNFEybWsKo6mw3I7uX/jwJ6moOGpqSltT
|
||||||
|
BRsBwTeNrIdc+FR60l4sP8nRI9KV/7wyce9aFhqtiFTBNnGDXRcjJDrqactCiGcB
|
||||||
|
Geuhsjc9ZMwjJEATbQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
14
private/mailpass-grafana.age
Normal file
14
private/mailpass-grafana.age
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyB4R0xH
|
||||||
|
NU0rdGUzb0FaeC9JWUtJNUd1V3dFYWpKbm1ONG5MbFE0dE1obDIwClduT1ZTL3o5
|
||||||
|
MGNHamh6cWF5S3RlTGxGRWJnRE1xU0FRYkpETDgzTUpLSGMKLT4gc3NoLWVkMjU1
|
||||||
|
MTkgWXlTVU1RIFhJektxUE84aC9BeVVlalJxUDFabTM0dWRHN1ZMY2tMb1JVSDZw
|
||||||
|
RHhTQ0UKQzhlTVU4djJKUENEVXpoQVU2azRBQU93d2JGamwzRjNxc3VCNVhEbVVH
|
||||||
|
TQotPiBzc2gtZWQyNTUxOSBuanZYNUEgZXZnUWt6ZHFxTW1mN2RtYy9IdXBtL21N
|
||||||
|
NG9wMEQ3WFRNTGF4M2NYU0ZtVQpRMllFVk9GV2dCeERIakpXZnIydXNLMWJwNGds
|
||||||
|
dEhyNjRSL29COU1uQlBNCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBiVjdTWlAwaytl
|
||||||
|
aWJwTkZNTTNwQVhNUGl0ejRiRHppWWhaWi9kWWk4QlhzCmJxcExjK2loWUtwZDND
|
||||||
|
WjBXRUFCVGFLbTlKdlVieTdSZ1hlL0ZaTkNubFUKLS0tIDNVQ2NCdDVHNGUvZXFM
|
||||||
|
azdWUmh6azAwMnJ4Wm5UOEdGTmRBenJSdUY1eGMKx3sYbX/g7JVCFrwVe7UNLkWn
|
||||||
|
1p+MbGJcRS0ucxNIEniCBafaVnXDiRAHtaWSCqtbvZ4SVg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyA3Ynp0
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBJQUVJ
|
||||||
UUVDdVk1MG1nQmZ3cDl5UmY5VnpMSkdyYmluTlJGWUdnRVQyVWhvCkNlQkY0RUR5
|
aHZzMHNaME1zUDR2dXVHMTFvc2pqZnV2Z09YZ3FTM20wdGo4ckFrCkFOc1lCQmhv
|
||||||
ODZTYUEzQlBmelBLcUxuWjdiYms2RUtmYlFFeEpXM3JCMlUKLT4gc3NoLWVkMjU1
|
STNpT2RlcWhNdzYxbEFvNzV4cmtoYm9waWc5cXhkWEM4eUkKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIFNySTEvUXhycFhZa3h5ZnZyaXJEZ3BGRW03WGRvM29FQlZJQ2xx
|
MTkgWXlTVU1RIHliSURYL0syL1N5bUxWQ2NOQzhWR09kNUNqaGpWa3lrR1M5Qldv
|
||||||
ZnMwVzgKbGFVMDlYZjVzeUJyY1kyc0ZXRnVydHkzOWtPaE1uTXllbHhaQTdIa016
|
KzlvM00KM3JvRjlBZHh2UzVxbW9rbUdIcUNOWkhVbEFETEN2VTdDc0lMV0EzR1kv
|
||||||
VQotPiBzc2gtZWQyNTUxOSBuanZYNUEgdjh4T2FkckZYQlpsd3ZSTmc4VGRxWjg4
|
VQotPiBzc2gtZWQyNTUxOSBuanZYNUEgK0lkMWNuUFR4ZGZmaGJpOURVS3lBbGti
|
||||||
TVRCTUl4U1BnanVwV29POXhIZwpEcHBUOFJjTXBGTExYTWtmd01XQlZndklXTkdU
|
aFA4anhUNEhYLzkzT3hZZTJnUQpmSEN5MzdVcWYxbTFpeGRlODAvUFVySGRoUVpE
|
||||||
NHBnYkNBTSs5K1A3cE9vCi0tLSBBa01zRTdNYW5wRlltVkgrWG9mdHcrZ1NXRUwz
|
NEd6aitiVm1vR1VNcnlNCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBiMjNoUG9jVTQ0
|
||||||
UUhsalZSeU1CVENmbnp3CphGOZ7hu3mq3UI69UCJq7ptFDMUmdmYW4ydzz2RVlYX
|
akdPcXMrbVo4OU1mODhkMHlKbzEvTEJObGViVXFaUVJZClRWaXhjNzB4b3hvbkVW
|
||||||
P1JWkX0IpnHtcFPK1XmRrBkiyto=
|
RUFWWnc0QkFzOEpXWVdZOG1TbDNLQ3lkdkxVRHMKLS0tIHNRNlIxVjhsMEVyK21o
|
||||||
|
a214bW1BKzVHbkZrdGhndkhnMlgrWStYbXoyVGMK8hdGLDk9xC1OnfTNtHZLbZCF
|
||||||
|
KKw9JFl6b8++iwM2H8cQgWk8qZWQUvyO58ahkO/xtOCXCA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBsb0pX
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBHR1lJ
|
||||||
R2RJRlJkbWF2a3BJN25ZY3ZwWTNRNDFhbWFkRE5TdkxDNUMrUms4CjI4TVN4Rk5U
|
U0gyb05HSm9kUmNjdmdGQm1XU1ZCbld0L3lxemdMK1dlUXQxM1MwCmJwRzBGM3lk
|
||||||
a0xMRHVQSEJUcVJTQ2ZLd0c0c0MxM2thMFpyeXZ1NGM2NFEKLT4gc3NoLWVkMjU1
|
ckwzTDVqcEFOakxaMFYwWHQ4MFZ0ZjNySnVRU3FZbGxndUUKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIFFnN1VkSzVXVzg4UGFWakxweWRmSldWbDBOMW9xYWJQek1Ielk0
|
MTkgWXlTVU1RIHliMW0yaTdXTDRmcENtZUJhaE9NQWE2eGwwelRnM0ZydE1oeGtj
|
||||||
YXVrVFUKSzhUNVd3SGU4MkVZUXdLWXpFL3JCUWxOSitHOEJzQ0pXN0FKSXZ6RUFm
|
bkVjeGcKaUtpMVdzSVBDTklUMDFjcmo5SCtHckhLaUxHNnMyMUZrNy9MeXZtSnp3
|
||||||
NAotPiBzc2gtZWQyNTUxOSBuanZYNUEgVG5jYmFCTkFmekJMdFBUVWJscmN5dUxp
|
RQotPiBzc2gtZWQyNTUxOSBuanZYNUEgaW1IZjY4VnlFUUVJSzdnVkpFMllic0Rh
|
||||||
RngzZEFEZUJINDBwUFBIUitpWQo3aWlLRDdoUklhbDlNeFJjeXFkTnJFcDJiV1Vv
|
eTFydGcxOGpWczhxVktxVi9ROAoyUE1PeVN6b0RDVHJGMFJwdWk2QkdwaEVVK0lU
|
||||||
ajBQQzFlaTFwWVFDSjljCi0tLSBWS3pzSWo4SXpIallxc0JQWk9LSWFDekxtOGRp
|
Zjh5RWFSSjd3RHBNcFRBCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBFNDhwVk0relJU
|
||||||
eGhYSEdqL1RmRnhtemMwCmQ5wc817Rk+Rs8RHXMe2Gm1mKbFOFMVrWFW5gLm9UHE
|
WWFlcTFPRWlZLzRsOUhWWFhydS9teE9RRU43Mng4Y3pvClcrVWIrRjl6RnM3emJp
|
||||||
T05kZ7OBh34D9B7jmFokYM4uQBXBrydcb51TGVLXXgnN
|
RFFGaEFka3VLQWg3UmUrN2M1VDVlODk5MGZvN28KLS0tIGRsdnpEc2YrdDJldmE3
|
||||||
|
S2xxck5hRlB1OEdZL0p4ZmNBMHA5bTNzUUJ6REkK4/pCDRQsb6e7TMT9I92Y6P0P
|
||||||
|
i6K/cnbu3GacXRXGdA21L3DVu5TFwKaym2pIbO5JdO/G1Ic7jQZrAg9GOHnNbSs=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBsWmI2
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBtVFlY
|
||||||
UisyZ01rS3k4R0tJMThNdEZUOXZNVnV5RGNtVTR3V25wb2UwUDE0CnlGc0xySy8x
|
bXJzdFdHZzVaZEtUd1BzWXMzbG1kUDJ1cXZKVEFBT3dQZndGTjBvClM1NXlFVU5S
|
||||||
L2k2b1VRc1M0R1p5MkVTUWxHWkU2ZEtTSDFXK211V0ZHQTQKLT4gc3NoLWVkMjU1
|
TTlvQXBZMTRSTVhybDNxMWZQeHdRRmhTbis4NWhnQkorbWcKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIExWdlE1M1ZldnpPYWVta3ovdmdEU3VtZU0xWWFldnp3L3hicnFY
|
MTkgWXlTVU1RIFRPa242RVMvd0Q1UmdJeU90Mk5wWEoxcnVuM2lTRXNCdEVtRExr
|
||||||
Y0dxQjQKdEFHa09Sd2IwUDRwM2dMK1paTFNESUJVRk1NNUFScXJGK1J5MkdtUGZv
|
NnZoamsKVCtWQXk0SkFFRDI5ZDA1MHI1NmxtMzliYllXTVQ5bkYzN2NtUmV1d21x
|
||||||
YwotPiBzc2gtZWQyNTUxOSBuanZYNUEgVnRhWmtLTnpDSGhRODcvcUY1K2VySlJK
|
YwotPiBzc2gtZWQyNTUxOSBuanZYNUEgSGRFb1hRZ2NiMGdGazUxak43aUhEZER3
|
||||||
Rlk4WW1kQlVFd2Y4bWRLdGJWOAp1S1ZVclRrMUhicy9xQ1NTZ21tazEraDFaU2tD
|
MEhTcmdnZnMxT2JjcHpqbGprbwpJYU5iSkxsaldXNFZ6amdWUktqVktIWjJIT1l0
|
||||||
eldWVVR1S1BTRDJ4ZjVrCi0tLSAwdXF6Nmt4RHBFVnVzZ08yeFBLbWF3dUx1M1hq
|
K1hDYmNXaTVVSHI2SVE0Ci0+IHNzaC1lZDI1NTE5IENxSU9VQSBqT2NqUHJraXpu
|
||||||
bVRzYmZiZk1Sb1ZOZUZRCpm4DLNa9DuoFQxQux3Q90PP6G30Z2b0j85cZqyr7anw
|
ZVhZM0ExV2NoeElPdjBYUnBacTcwOUpMcmtOVDRFYXdVCnpwMmxYbzB0WUZ4K29E
|
||||||
fg3687eKqMNwl4qdGYeE63oeUHrxfYISKB41zRDHmc7H2w==
|
eWxabVhiWkJXV2NUZm10c3gzK1A0V25SNkJhQlkKLS0tIHlKN2dhZVo5czA5UUVX
|
||||||
|
WDJCNUY2dHhvbVJTR2I1NS8zeEtVYUNJOE85YlUKVI75zg9cgQVbLehC4/7bMPjC
|
||||||
|
zqqMV0+j0OaCNwXhi+U/RbILvmg+MzLMymUQkMihcE8W3XVILswMa1Exew2gANZ4
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBDRWNi
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyB6VXdX
|
||||||
YlJubmg1Ly94cHgxbHV3dStaRkZDRXdNZzVjRCt0R2RNMFkxUEZNCnJxZnc1UHFB
|
aFpYYkxJM1dJYlJJY2h0OTJqaXQzcmFMRlJyWEg2ZldrbE90Y3pNClBQMjhuaW1S
|
||||||
MURselZuL1U5OHFQb0tPLytWelRzYXlvNngya3RQOXREUEkKLT4gc3NoLWVkMjU1
|
a0dPaCt3dnZ2YkZmZVA3NkZ1UmVSNVZUS0xIUENtYmRjMU0KLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIDRiR2ZEMUZsYTlGbXFoR0NyZXVXMEZmS3BONDNFQUo4VU1XNkZ0
|
MTkgWXlTVU1RIEdWTVBVSUNhVDF4RUlFUjNrZFc5L2xwMmNRaHVQalZqUkk0UGFt
|
||||||
ZWFzMHcKM1crbDVsR2VmVTFNckxaa21MTW9UVWE3Z01qMi9VT0kwMm80V0tMSWM1
|
Tm1BSFEKMVlBeUtPWEk3YXZ3dmo5ZFlXV3NoU25wSk94MFkwaVVpM0VIYWdmRkt6
|
||||||
bwotPiBzc2gtZWQyNTUxOSBuanZYNUEgd0tIampOVU5ZeWtxNWZpaGdFQTBlWlha
|
SQotPiBzc2gtZWQyNTUxOSBuanZYNUEgQjA0ZGJ6OHNybE9QVTJlZnV5WkpvdEJ2
|
||||||
Z0lBQWp0dzhMRHU5UnVzWVlUSQpnUHlCZ0w5Z1hMYm1Dc1UxQ1lLRHlnaUhJQllW
|
amt2dWw5TnRKT01UcXhHQm5GOAptUFB0aDUrdGJTTTM4ZVZsRDd5ZHpyOWxZVWNC
|
||||||
RGMvTEhhc29VL2JXZnhNCi0tLSB6TThQbmV0eFJ0d2pZd1h0c2RuTGFzUHhyYWJp
|
MzRGdGVES2NCY213ZWhRCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBBRFMyczFWSEo0
|
||||||
b2RhVTNkSXczRGJpN1UwCt7I+OsqQdQbFXhYPV5/kqDAr/jVoJ9H5PSfdLkeVIrr
|
Q2xoZGxtRWF3YnVMNmE1aStmVmRZTWk0UHpzM29LS3l3CndWMlZvbkxhQSt4cFpL
|
||||||
AqScUaOrdctUZEBIF8/FouJkSbIiU8muBNrBKx9CylI=
|
U3pFKzhzUU1ldG5ldkFyRDFlYVdpSVUvclZsbVEKLS0tIEpDcG9nNmlrc3JTRXk3
|
||||||
|
QW5xSGdGbFFDN0JhdllPdHNiRzVFbmhUcFhNSWsK5joyQar0MfzoOijEHGRvGQTo
|
||||||
|
UYLzJej6x+7TdpVEjTMoSClK9EDfGygYzNV4c7p+TjLb7ABGT8Br32oG7v8xeA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyAyVkNR
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBiK1l3
|
||||||
d1lsUmJWVmlxb3NnNTJNN052ckRPOURYR3VCWUFpd25aQTBPVldJCnBNRTdlOTNP
|
cXJiNEJoV2hTbDgzRHNwREk2K1VVUDdjWHZ6cnY4TUVqYmZCeTNVCnZrc0JRbDhl
|
||||||
SkhHZkZVU2VrV1hVcGczUVVZVHBtRTNoNUliZHNpeXltZW8KLT4gc3NoLWVkMjU1
|
Z2hMOEhLMHJWakpzTjI3UEMvVFJLM1VIc3NXa3k5aUFQVmcKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIGJCWktmWDE1Z1Q4M0RDKytaZndtZmlCeU5paXUxTld4d2FNV3dT
|
MTkgWXlTVU1RIFIyVGpFa2tXa0ZXN3haVVRxbXE1VGpjT1NESnZ1SUlaVG1xY3Nx
|
||||||
Nyt3aWsKTUlqTys0Q1RiTERlMnZRUDJMZHJheStYak0rY01jWVM3STF2QjExZzFm
|
YTZOaFUKZWsrZndqeFZmampSclJZUWU0Q3NLdUNKYTFNOXhmeFMwZVB1aVJodnFU
|
||||||
UQotPiBzc2gtZWQyNTUxOSBuanZYNUEgcm9wVTlCKzFEejdlNVp0ZVpnRUxDUmpo
|
VQotPiBzc2gtZWQyNTUxOSBuanZYNUEgZ2tYS2swYWYvRlRraVYrcGRMODVxL2dl
|
||||||
YmRlZWVpSGJocUtNN05KS0cwTQpYUmdpYVNVemZXWUd1ZUlQTks4VUdmaEZPZ2x2
|
bG14dFRJVHF4NVIwLzFydkt5RQpKQVQ5Q1F2cFlaWndmYnFZVWdTUHZRL0E5ZWV3
|
||||||
YVdqWG0ySkt2dDNSQzJvCi0tLSBaN0gwclJpcUFvT0pHcUhyVERnZ1Nralg5bGxZ
|
WWgvMGRwemV5ZUZPMG40Ci0+IHNzaC1lZDI1NTE5IENxSU9VQSB5cmx0TnRaRURT
|
||||||
b0hyaVB6OStpczQxclFJCmHfg8XI+AzbijptcC6Zhqigp8D3CvB8mSF5H6kPFmJU
|
MkRoZTV4YTB6QnJKRWdaUzVBV2xRclIxWVVzRUs1b3h3Cm5FY1FHUUdjTSt5U2Zh
|
||||||
odbXmgzihXxWjnG6tH4LgEiEI2dWfbELIwqLs4BIiLlt
|
WE1tNERvZ09wNE40STlKZDdNT1ZuTUhhWDVlbWMKLS0tIHZTL2F6SFlubHpDS2g5
|
||||||
|
bm9qNHFxMHFwMkMzYkN4alR3NGtWUjhDTVc1YkkKjbqfpGjlQNQrKciqoC2wxgQl
|
||||||
|
kdWTvPjACx+gYYybbM6yMSpqCds6Wu3DKAIVvHh66Y5fWm6NrS6K49gCjd7c00s=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBuRldh
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBaT3Fx
|
||||||
Um5iYmpEZlZHMmFTMTQ0WVdUUllBeE9MNFFWdXlwNmoxUU1VdUQ4Clk3aXJMYlFM
|
Nm1RNHpXQjJxZVE3RkF2S3M3KzdjK21Od0NDd2x5RmcwZXVZNVFVClBqNDRFK0hn
|
||||||
dFFWODlIamNoc0xGVUdSRktVUllhSHpXR2plbmNkcFR0VW8KLT4gc3NoLWVkMjU1
|
WnpsOWFkU2l1UFhUTGhyUUFwQTZLb252VVZKV1JRWmJQODQKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIEp6RktOMFVLTi9NRTF3MHg0Uk4xRzRlNTlIajVKeWtxN3huNnZN
|
MTkgWXlTVU1RIHdZS2luQ201akdBTmI5ZXhCazlhcGJXSDhBZHlSQkRMdUFpN1hG
|
||||||
bDdwRzQKMTUvQ21BWXliOFdNRVFUNjMyS0tyeEt1bURRM2JVMXFIV2cwZDA5WldC
|
azRLVlUKTWxCQmpIRy8zN3BxcGRFc3lseTI1Ymc2cGFpQXI5d1RsMkxkaGJuKzVp
|
||||||
dwotPiBzc2gtZWQyNTUxOSBuanZYNUEgNWlWYUV5SXdCbUJjbnd4UjVqSllyNGZX
|
bwotPiBzc2gtZWQyNTUxOSBuanZYNUEgQ1FmcFp6K0Y4UXRrU0tlVVpYUG9qMDR1
|
||||||
bUtIenJJanZCNUdtZkIwQUZYdwowUUE3cHpTRW5zdy9MUlg5VlZGWlNiZ2pVbmUy
|
aTRwR0tMM1hwdU05YXVPZEQyZwpYOVJoc1phZUNHV2wwOWlQUitZTU9vaVhEVE14
|
||||||
c1V0WkZJckJUY25KWmowCi0tLSBxTWg3VHN4MHlVdWpLZzRtaXRYeGEvOFlLR00w
|
cjFNekVDaTNFQVpUNzNRCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBxMVlLSFFjQjFD
|
||||||
bkVzRkltY0lON0FBYXpjChPtxNyevNnkMHYc7xbsZo/7ThtPB4uOqHfF8swX1efg
|
RkFEVVZnT2dqd0ZMVnV4T2loT1ltVHoyNnZoZzgwNDFZCjYxUEwvUGJidDU2UnY5
|
||||||
AHsWemHnBEfsMBEmCtmczOhFwCNOtgc+q3rQCvmuU9tX
|
c3J1NzU2d3JpaVU5eThSUGNENXhIVDZQSktzNUkKLS0tIGczblFPd1FLQmYvMUZN
|
||||||
|
YUdIYXk0NmxsN2krOTFncm1MczFBT3RGOGxDOG8KfClHc8j62Vt5d0JH0CLEUAts
|
||||||
|
amY7zEWKS2wGnLWk9SU2ybe0nsZ0wfUky8+PbztOomEXRxGfX5jc8j2cH6VNW9U=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBDbFRU
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBqbWVP
|
||||||
RjZFN0Jtd3o4eWthZ09BRUIvNXFZOHVLdVIvRTJCd09ULzJpcjI4CmVjb2szMmtI
|
RVNIVFVJSW4rNWFNbXdxZUdTcnBQR0k5TUhKMC9CWGxGQ0hValJrClcyNXJJQzdC
|
||||||
N3I5a0FKQ2RpeHJ2NjhwbWM0OFZwUFUzZnV2QWI3VDEvZ2sKLT4gc3NoLWVkMjU1
|
VmFYQVkzQjZqMXpDMC9nazVhdmdQWVA4RHVBTUNOVUZJaXcKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIHNEd1d6bGY3WVVVdVV6TFQ2V3NhN2xubWhwQVBIVVBmKzRBWStX
|
MTkgWXlTVU1RIEhPakxYZmNsTlVYZVBjN0s2ZFc1VjFId2ExNXZEa3Fza1lKWktj
|
||||||
eVpzaW8Ka0o2a3ArSjdsTEZSa1cyVGdzZThGcUVFKys2UURaRUxwd0FjdDI0VmVJ
|
MzMyaEUKczZ1SGtycFIxQjlWWWQ0RW5ka0pLN2hocTh2V0M4Z0NscDByRnJpMHlZ
|
||||||
QQotPiBzc2gtZWQyNTUxOSBuanZYNUEgc243YjBiOFdrQlV3SDEwWjc1TVB1cita
|
OAotPiBzc2gtZWQyNTUxOSBuanZYNUEgeHZ2TnMvbWNhUzJOQ0JZNXZSK242Tldx
|
||||||
WVk4bk0wbUk3elBJMkg0Qy9DSQoyVnNWQTJzU1laZ0pGZVlsTEVWV2o2bEVpaVNh
|
M3pJUXJPY1BWa0ltUG4yV1B6NApyRVJCOGRoYUJYNE5iVkRuSXorQjVwU25CTmkz
|
||||||
QVNaNXVMaUpKTzVlQW1zCi0tLSB6SG5LWng0OVFGd2NvODVXclgycXFpSVFrMnFk
|
TElqRUtTRmNxT1lob2JRCi0+IHNzaC1lZDI1NTE5IENxSU9VQSBmT2hvZGVIc2wv
|
||||||
VlhaL0h2MnBZZDJrN0ZFCtbPQRVZWx65T3DGVY8yG9D2tj1R9ccMcPyJNxJsmfsx
|
d3V0emkydDNQRllaMDJSZmt3cE9uYXkyVlArUXJLS1VBCjUwSkR3aHd5akNQbzJS
|
||||||
hcINJq2zJKLP2mtvADH95uoaQylwpQQiVd8s6fwMH5cX
|
MlVIR1phNUkvckhiblJGTysrV0JTKzF1MURkSWcKLS0tIFd6S0NJd1luVW1mMDNv
|
||||||
|
MXhRSzU5NDZ4VnJIaFV4ekxxZDJGZlJUNmtnRlEKmXBlM6PkajrVUhxQLhkx3WVI
|
||||||
|
UzKD+1c0ifWwm1QT/7/jodJgef2oG2QEBOVJ/HMzgQxfiXhoscjD1Q1nS1OaQLk=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBtV2FM
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyB5STJQ
|
||||||
U09jOUsxNVVLQmFkOWxubGdlZGpGMlh0YjFqbTA5TG53SW9DRGt3CjNQeWRac3Ey
|
VTh6VElvclJHWVA1dXlMYWFObEVvSDJaNFNCVjg2OERKQmUzcWtBCi9kRi9wUktm
|
||||||
YlRkRnN3YXFnSkxjOTd3eXZLVHRmK3BIdTlJL0ZQNUhHaGsKLT4gc3NoLWVkMjU1
|
KzNjNlVxNHVva2MwOTBuNEFEcVp4aFdjQ1hGaDlpQldEelEKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIHJaUE0rc0dXaXkvNlErTmd0R016aWZ4eFM2bVh4T1pMa1Z6NEpC
|
MTkgWXlTVU1RIFYyNkNwNmg1UVhtaGpzWW9Ja280SXl4MjVoU3R1NHhaWktweGlK
|
||||||
aE14Z28KS2FpU2NCclBDMDJVVC9UMWJibmlsc3hnZE9GVUl5NUxBdVMwYXJXWXhz
|
YXZhRzAKRFRDSmRwNVhOaitMNVh6VzJjUjd6dDdGVGVVSEhYVzV0TGU4WTBCb0p2
|
||||||
QQotPiBzc2gtZWQyNTUxOSBuanZYNUEgaS8zRkg4MWpLT3UwSWVBSmRUSW9KdXZ1
|
awotPiBzc2gtZWQyNTUxOSBuanZYNUEgbURadUZqTXNXUFFHZ3RSOWVOSWJLL3JX
|
||||||
c2Ywcy94YXdKSTZlcG5PSkF6UQpLMWpoaTZ6cjA5dFlZbXp5dm92U25EWnFKODJN
|
ZTBNUmJoeTVTRXZQR0EyamMyMAptb1RFNk9GYStVRzhlT1daOUZrMSsrZUVCWWth
|
||||||
MHM1RGtDTyt0UEdVZHEwCi0tLSA1LzRHMTN4S1ozd2FIN1g4aTR1Skx3SE0yanNM
|
c3g2TjZyUHRqalM1QlB3Ci0+IHNzaC1lZDI1NTE5IENxSU9VQSBqRDdMTnNiS2RW
|
||||||
aUpZU2tkR2xaN0ZDa3NJCjuPq+1BQBbHCbJAiTBI9EiJ9ddYrJxEt7yxjnbRx5s+
|
VnVQOXBUN1JhVmlOSnc0bjgxSmdnK2VTYXZUUnZkemhjCm1HMisvQTFrTUQ4T1BF
|
||||||
YsA15LKloxgnK+KU9TMLCFUIlgq0nheyeysMSnqgxhDv
|
MzRFMDNZRWdLRWgvNnBFaXJnZDlpMVE1M1RkS3MKLS0tIERSaFNOcW8wSnd3N1Nj
|
||||||
|
TnBCWWlFcXRRaGs4ellIT2JGTWtqRFZaTHdKaTgKqliAH21whccGxY7qQlAGf/mt
|
||||||
|
BLsCDO82jjrDk4e9wN04lUzeqfI0kb9It5/2XqzW53vn3EdIsKV0wmraoSpwIbQ=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyB1TWhO
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBTWlJz
|
||||||
N1k5bFFvODkwdzRGcGtFL2YzRkJDUjVSbUVFeXBOTExpK29uU2drCjN2cS9GZjJW
|
K3ZITnRqTCtqdHZGbml1ZUNQbEdPdjJmUjhDSmg4dUFmeDdUaDNBCm1sT0x3OVhi
|
||||||
RGxrMlQzK3ZGVWU4L2M0M1d4cXJrOTNrcDhsdWUyRGt5N1EKLT4gc3NoLWVkMjU1
|
YVo4YWI4T2lKVXI5RzdDeEx4RVI1anlkZWdJY3QyL3Z5a2MKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RICtoM2V3UjZ1cnVFN09pZ1Y0azYraENoWlN2ajRUeHRLZVlVd0Yw
|
MTkgWXlTVU1RIE5tVEdZWU42VUNxMlVxc2lyM0lXYjF2SHJ0WDRsQlRHcUxVTGwy
|
||||||
T29BRW8Kb2ltQlpJZ1JUTkd6Wk14ZkFIdDliQ1JOMHMvVzhwaGkyMkl6ajFrYVNv
|
MWVWVVEKai9IVUN5SmJMNW5kZ3hPVGJLaHNqWTcvREdhV2IvcENGcnJvR3B2d2RO
|
||||||
MAotPiBzc2gtZWQyNTUxOSBuanZYNUEgNThPSW91di91SWxtbTRpQVJwek94VGJV
|
TQotPiBzc2gtZWQyNTUxOSBuanZYNUEgV0RVN1dwZVhQKzF0L2VyaEpPd2lLVXR5
|
||||||
UERvS2tITHF0SXVlVFEyLzJTMApuYjdsWndDd01mUk5LbXJWTkd6UEt3eFkvMk40
|
MzE4ajIxbWkrWXNnVDhyT21BawpZUTd1ZW1LVlQ3OG9zem5JWlJ1ekxwdFZSUVBq
|
||||||
VDBpZmk0bUkxNTBWMzlrCi0tLSBiVFpxcjd4ZkZ6YittMDBBT25rOFlrcEpTdXg1
|
cnlhK3F0VXBib0RNSkI4Ci0+IHNzaC1lZDI1NTE5IENxSU9VQSBqUDRNbzZsNmpD
|
||||||
d2Y5TkdwZ25sRFN0ZjVzCj8h/4aeASCnUoK7Sc6LsY9ur3krKlF+3GMMvlLiRqsi
|
R0p5bFVhMkpTaUZ2aUszTDUyOElCWncwczBLTTNMMW1zCm1aY0Jxd3FpMVNLVVRZ
|
||||||
COBx+YbkwR0EfrxhLZ6DLHhM/t2jnWAMMzDK2a4volvQkdORLiRo3sfjR5kSy5N5
|
ZFY1WjdrTVg5SzBsVWxHcUkyNUhSS1NWQmsxakkKLS0tIDFLay9ISUxPZ09VSk02
|
||||||
Ml3lFlXKxYQ=
|
a1FCajJiNU5JUHovNEQvNGE3ekdVNzJSQTROQkkKMkyKdbFB2IqhHLxw2W1UnpmR
|
||||||
|
IzWIGHRHfrMmGU3S6rIG4OM63kNQ6wU4dNw91vzJ9Im1MCJZa7ElYfffwdbw4J7h
|
||||||
|
IdEFgivD96G274J9tzUGMc/sVKgFzw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBLemo1
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyA4YWR0
|
||||||
TXRJdkYxR1RBcFdrVEthRUI1UEtWbm5LUlRKYVpOTUIyZjY2YlhJCmkzbEdmZFFN
|
eVNVVkNvV2EyTWNKVGZnd1hhSWRDeHA5QUtrZENrcE02d3RlV0hjCjgvSFVid1R2
|
||||||
MzBFQkN3ME9FcjdCOTN4T3ZlcWg1NEIydjZQQm93VURvcVEKLT4gc3NoLWVkMjU1
|
QW9pK3BBNElrYXhscCtlbWxTTkNsSGlYakM2cWhSSUFHYWcKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIDNjMXpObEhuTWg5bitFL2VjUGtTcjhIMDYzeVFpQ0tpUnRRV3pJ
|
MTkgWXlTVU1RIFhxSnVVNEo4VU5uL1AzYmxia3VCYkpaM1hxU2hQUUE0NldjOUEy
|
||||||
SGRwRzgKRkpzdzJsZ3N4dnhSaGplN0ZjQ1dpY0xOZHZyU0NON1NEbDc5MmtMKzhL
|
Z1VJeEkKZWVLOEtRK2tnbWZwQ3pQU09uZUZxcGRIV1pjOFdudkVMSVI0bUJOdGh0
|
||||||
ZwotPiBzc2gtZWQyNTUxOSBuanZYNUEgaEFrMTZYNndKVWg0OTFtOVJyVTFPbjJJ
|
SQotPiBzc2gtZWQyNTUxOSBuanZYNUEgNWptNHRvbHFUR0k3NmV5NU4rRjh5c3hV
|
||||||
RHJwU0JsclUrSms5ckMyZTdoYwpmV3dlZFY4MEFYSEhoQnpic0NEd2xxOENIRTBt
|
UDRtaHdSRDZmNWRabkFNaFpBOApWNUc0cFRSUGFxMmQ4WGQyS0NsaFBJdXdraHdT
|
||||||
MWs4RVNFUnIyTnNWUDRNCi0tLSAvT2ZPektwL2djUlNQdy9tek9hL3JmekJOc28z
|
Rm9XTzFyay9PQ29mVENBCi0+IHNzaC1lZDI1NTE5IENxSU9VQSAzUDhxUmVlSUFO
|
||||||
NzU3cDR6TUxod0I5ODdZCnxOYrlDTdi8Y+m5PRxAYgS3u2cC1YlfXi5TZo1LIEjv
|
Z1hEUUo5SmRDV05ZbHEzVzNHcERIeTk4czBnSHNmYmxzCkY5WDVlWklBWTNxOFg2
|
||||||
UxWwPwn8JAF9CYB1o8e6p/w+yMcUfr+2UHWo0GqLqye8VCGy7Vzk2S3tOCZJv+k9
|
am00ZjZaYk50V09wdkRNK281QzEzY3NGQVpPREEKLS0tIE4yWkNIS2lOK2l4MG9z
|
||||||
+kQtMva6CND8gBZIIJ3aXoYshT4sLWfx+BAkxPQ=
|
aVFjYkNvc3VSTEw5SWZ1bUZRVU9DN0lyZER6bjAKYzEI+KoTpI/pbWIfIyIMbodx
|
||||||
|
hKG/trp4JBn9Zmmg0YL6UA79rNDH/l89i5zxzCf4K06Sfc0P8ksAXuthXvLZ3Nqf
|
||||||
|
QRbEK13meeu3LJKbrRsWlgQ4g/2mDb3j0tSsTz21lturiHMVRK2KVPobUQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBqamNI
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE1nSGFPdyBEcUgw
|
||||||
eGQ3Ty9td3owQWNyOXMrM1ZTQ1dSOVc0dEZ6UlplY0ZDQlV4MG1NCmQ1eUpTdURs
|
QlB5alE2Q2xUMlV1dmc1Mm8zbnZFMmJXUlQ2V3ZKeGlhL3NUMENvCnBWd1pENnZG
|
||||||
YkhsNnF5djkwdWRlcms4SFEyaTdFUFZ2WFpTaVRPRy8zam8KLT4gc3NoLWVkMjU1
|
RVAyN3ZFTWJiSWJTUVpUK3pmdHJieWJkamNpK1R3c0t2dlEKLT4gc3NoLWVkMjU1
|
||||||
MTkgWXlTVU1RIHBTWEkyekhRQ1RqWnVpM2FQVGVqQzZyVFpuL0liZU9UUHl4dVpr
|
MTkgWXlTVU1RIFJiY1Y3QzBTVkNZZE5qTDJ5QitZY3doQnJUNWQ2dG9TTjBwdjB0
|
||||||
dno5UjgKbFZxL0xXTWZwYU0wWjNhYm9NZzVCRWhER2N6eWUySjV4N0c3Z3V4S2o2
|
WENmZzAKMnhYVmdsVk53N2p6VmszMk5iWVVLaGhPUm5CVGdYZnlVdXJGcUdVTmhT
|
||||||
NAotPiBzc2gtZWQyNTUxOSBuanZYNUEgeDNtdjZvQkVGZXZsUFhkd3ZnWkNYaTdr
|
WQotPiBzc2gtZWQyNTUxOSBuanZYNUEgdXRzN1pndzJpbEdCR0MxcTB3QXAxSTNk
|
||||||
ZlFuR2RrNTVZNWh4WUY2cTh6OApEYTBwcGlvQ0xVazIzUjBBT2VuWGczRkRyM0d2
|
V1pRcERkcVh1ZWxLaitEY0hXQQpJZmhicjhpSGNySnNyc0wwL0l6cGZFQzVndnVj
|
||||||
YmdoMVRPMFh5NVBwb3RFCi0tLSBjaXVreU1LYjNvOVVZeTlTRldyWE02Rzc1V2xN
|
LzY5TkVrREw0clJVSGdZCi0+IHNzaC1lZDI1NTE5IENxSU9VQSB1TUtldXUvak9w
|
||||||
N082QUtDNXM2bEpRMlpjCp6Qtp6EN1L1V/mLp48M6uymwPmGjR1pAloYXDhXSiab
|
ZWh2ZzM4ZmJEUmZWSCtjcGl4U2FrTWtIRUZ4YnA5ZWlVCis5V0p1cXlWSmdTQlhN
|
||||||
uz9LLBvB8qVp15/724DTLg6Mi72LVYiHZ+zQ3IB8kv7gjhMMryfFJSPErZfY
|
ZHdoamdtZXdjY0I3bXAxRW9XVWl5dXBLSk1NTkUKLS0tIFJDbGVvS3EzSlEycU9T
|
||||||
|
ekhKNnYxZEVzWWFBTCtUeTZiZk84c0twc08zV28KNGsxEB4hTgrU7qDRU/pETnmR
|
||||||
|
J5HcGjLsvpEU4cWrX9Cb8uFvqQZp41QD2Jqo3eZvt9g2fDuyKtXHI790Vqseh6H1
|
||||||
|
jQqtGyjulOODxCo=
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
8
templates/README.md
Normal file
8
templates/README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Templates
|
||||||
|
|
||||||
|
These are new flakes that can be generated quickly using:
|
||||||
|
|
||||||
|
```
|
||||||
|
nix flake init -t github:nmasur/dotfiles#mytemplate
|
||||||
|
```
|
||||||
|
|
Reference in New Issue
Block a user