init flake

This commit is contained in:
XenGi 2025-11-22 15:54:03 +01:00
commit 7597938a1e
Signed by: xengi
SSH key fingerprint: SHA256:FGp51kRvGOcWnTHiOI39ImwVO4A3fpvR30nPX3LpV7g
2 changed files with 155 additions and 0 deletions

103
.gitignore vendored Normal file
View file

@ -0,0 +1,103 @@
# Created by https://www.toptal.com/developers/gitignore/api/linux,windows,macos,vim,direnv
# Edit at https://www.toptal.com/developers/gitignore?templates=linux,windows,macos,vim,direnv,nix
### direnv ###
.direnv
.envrc
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
#!! ERROR: nix is undefined. Use list command to see defined gitignore types !!#
### Vim ###
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/linux,windows,macos,vim,direnv,nix

52
flake.nix Normal file
View file

@ -0,0 +1,52 @@
{
description = "Matrix server for CCCB";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
agenix = {
url = "github:ryantm/agenix";
inputs = {
nixpkgs.follows = "nixpkgs";
};
};
};
outputs = {self, nixpkgs, agenix}:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in
{
formatter.${system} = pkgs.nixfmt-tree;
devShells.${system}.default = pkgs.mkShell {
packages = [
(agenix.packages.${system}.default)
pkgs.age
];
};
nixosConfigurtions."matrix" = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
agenix.nixosModules.default
{ environment.systemPackages = [(agenix.packages.${system}.default)]; }
{
age.secrets = {
pushover_app_token = {
file = ./secrets/pushover_app_token.age;
mode = "440";
owner = "root";
group = "root";
};
pushover_user_key = {
file = ./secrets/pushover_user_key.age;
mode = "440";
owner = "root";
group = "root";
};
};
}
./configuration.nix
./services/synapse.nix
];
};
};
}