Compare commits
1 commit
main
...
stylix-fix
Author | SHA1 | Date | |
---|---|---|---|
e4839e4d2e |
48 changed files with 696 additions and 963 deletions
13
README.md
13
README.md
|
@ -46,16 +46,6 @@ To test if your build succeeds the basic checks and can start building the artif
|
||||||
|
|
||||||
Note: this does not build the full configuration, and errors might still happen in deployment, especially for dependencies that rely on external services like webservers to be called. For obvious reasons the test building does not actually pull in all the artifacts, and does not make external calls aside from to the package files (You will need a built nix store, or a connection to the git repository that hosts your packages, like an internet connection to github, to make the test run)
|
Note: this does not build the full configuration, and errors might still happen in deployment, especially for dependencies that rely on external services like webservers to be called. For obvious reasons the test building does not actually pull in all the artifacts, and does not make external calls aside from to the package files (You will need a built nix store, or a connection to the git repository that hosts your packages, like an internet connection to github, to make the test run)
|
||||||
|
|
||||||
## Post installation
|
|
||||||
|
|
||||||
I have made a few commands for post installation (and for an iso installer to use) that make life a bit easier, they are automatically added to the [$PATH](https://en.wikipedia.org/wiki/PATH_(variable)). The commands will automatically inhibit sleep and standby so you don't have to worry about them getting interrupted.
|
|
||||||
| Command | Effect |
|
|
||||||
| ------------- | ------------- |
|
|
||||||
| rebuild | Use the latest version of the repo and do a nixos-rebuild switch on it to upgrade your system. |
|
|
||||||
| update | Update the flake lock in the repo, run a test to see if nothing breaks, and then push the flake lock update done to the repo. |
|
|
||||||
| upgrade | Run update and rebuild one after the other, useful for a quick upgrade. |
|
|
||||||
| install | Run a script that automatically lets you select a host to format the disks with disko, install nixos on that disk, and deploy the entire configuration. (useful for instal USBs) |
|
|
||||||
|
|
||||||
## Technical details
|
## Technical details
|
||||||
|
|
||||||
### [Home manager](https://github.com/nix-community/home-manager)
|
### [Home manager](https://github.com/nix-community/home-manager)
|
||||||
|
@ -67,6 +57,3 @@ The secrets are managed in sops files within the hosts folders, there is only on
|
||||||
``nix-shell -p sops --run "sops ./nixos/hosts/<hostname>/secrets/sops.yaml"``
|
``nix-shell -p sops --run "sops ./nixos/hosts/<hostname>/secrets/sops.yaml"``
|
||||||
|
|
||||||
This requires your system to have the keyfile available for sops to use, by default sops looks in the sops/age folder in your user folder for a keys.txt file with the private key. You can change this behaviour by setting the **\$SOPS_AGE_KEY_FILE** environment variable, or setting the **\$SOPS_AGE_KEY** environment variable to the key itself.
|
This requires your system to have the keyfile available for sops to use, by default sops looks in the sops/age folder in your user folder for a keys.txt file with the private key. You can change this behaviour by setting the **\$SOPS_AGE_KEY_FILE** environment variable, or setting the **\$SOPS_AGE_KEY** environment variable to the key itself.
|
||||||
|
|
||||||
### [Just](https://github.com/casey/just)
|
|
||||||
This repo uses just as a command runner for setting up and building the nixos files more easily. The programs needed to run all the commands are nix, just, and nom (nix output monitor). The commands you can use can be found in the justfile (named justfile in the root of this repo). This is purely for convenience, it doesn't add anything you could not manually do, it just automates a lot of steps.
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{
|
{
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk = {
|
disk = {
|
||||||
main = {
|
sda1 = {
|
||||||
type = "disk";
|
type = "disk";
|
||||||
device = "/dev/disk/by-path/pci-0000:01:00.0-nvme-1";
|
device = "/dev/disk/by-path/pci-0000:06:00.0-ata-6";
|
||||||
content = {
|
content = {
|
||||||
type = "gpt";
|
type = "gpt";
|
||||||
partitions = {
|
partitions = {
|
||||||
|
@ -14,14 +14,16 @@
|
||||||
type = "filesystem";
|
type = "filesystem";
|
||||||
format = "vfat";
|
format = "vfat";
|
||||||
mountpoint = "/boot";
|
mountpoint = "/boot";
|
||||||
mountOptions = [ "umask=0077" ];
|
mountOptions = [
|
||||||
|
"defaults"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nvme_luks = {
|
luks = {
|
||||||
size = "100%";
|
size = "100%";
|
||||||
content = {
|
content = {
|
||||||
type = "luks";
|
type = "luks";
|
||||||
name = "nvme_crypted";
|
name = "crypted";
|
||||||
extraOpenArgs = [];
|
extraOpenArgs = [];
|
||||||
settings = {
|
settings = {
|
||||||
# if you want to use the key for interactive login be sure there is no trailing newline
|
# if you want to use the key for interactive login be sure there is no trailing newline
|
||||||
|
@ -29,30 +31,47 @@
|
||||||
#keyFile = "/tmp/secret.key";
|
#keyFile = "/tmp/secret.key";
|
||||||
allowDiscards = true;
|
allowDiscards = true;
|
||||||
};
|
};
|
||||||
|
#additionalKeyFiles = ["/tmp/additionalSecret.key"];
|
||||||
content = {
|
content = {
|
||||||
type = "lvm_pv";
|
type = "lvm_pv";
|
||||||
vg = "nvme_pool";
|
vg = "pool";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
#sdc = {
|
||||||
|
#device = "/dev/disk/by-path/pci-0000:06:00.0-ata-2";
|
||||||
|
#type = "disk";
|
||||||
|
#content = {
|
||||||
|
#type = "gpt";
|
||||||
|
#partitions = {
|
||||||
|
#root = {
|
||||||
|
#size = "100%";
|
||||||
|
#content = {
|
||||||
|
#type = "filesystem";
|
||||||
|
#format = "ext4";
|
||||||
|
#mountpoint = "/media";
|
||||||
|
#};
|
||||||
|
#};
|
||||||
|
#};
|
||||||
|
#};
|
||||||
|
#};
|
||||||
};
|
};
|
||||||
lvm_vg = {
|
lvm_vg = {
|
||||||
nvme_pool = {
|
pool = {
|
||||||
type = "lvm_vg";
|
type = "lvm_vg";
|
||||||
lvs = {
|
lvs = {
|
||||||
nvme_swap = {
|
swap = {
|
||||||
size = "32G";
|
size = "16G";
|
||||||
content = {
|
content = {
|
||||||
type = "swap";
|
type = "swap";
|
||||||
discardPolicy = "both";
|
|
||||||
resumeDevice = true; # resume from hiberation from this device
|
resumeDevice = true; # resume from hiberation from this device
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nvme_root = {
|
root = {
|
||||||
size = "100%";
|
size = "100%FREE";
|
||||||
content = {
|
content = {
|
||||||
type = "filesystem";
|
type = "filesystem";
|
||||||
format = "ext4";
|
format = "ext4";
|
||||||
|
@ -65,5 +84,13 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
nodev = {
|
||||||
|
"/home/lillian/Downloads" = {
|
||||||
|
fsType = "tmpfs";
|
||||||
|
mountOptions = [
|
||||||
|
"size=4G"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
508
flake.lock
generated
508
flake.lock
generated
|
@ -5,11 +5,11 @@
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755819240,
|
"lastModified": 1732200724,
|
||||||
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -37,11 +37,11 @@
|
||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752979451,
|
"lastModified": 1736852337,
|
||||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -67,6 +67,33 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"bcachefs-tools": {
|
||||||
|
"inputs": {
|
||||||
|
"crane": "crane",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": [
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-overlay": "rust-overlay",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742852783,
|
||||||
|
"narHash": "sha256-pgpFoMc1RGGSyOGJikcXzsQND7VQ1/ywTwFa537b/hQ=",
|
||||||
|
"owner": "koverstreet",
|
||||||
|
"repo": "bcachefs-tools",
|
||||||
|
"rev": "6657ce2de3cdb25b14fb0183b90366e3e577fb9a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "koverstreet",
|
||||||
|
"repo": "bcachefs-tools",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"blobs": {
|
"blobs": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -88,11 +115,11 @@
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757320803,
|
"lastModified": 1742599566,
|
||||||
"narHash": "sha256-7PUIQOMQSJLkNtV42SAYUDw0mRdbBNl6q8pLN8GViwM=",
|
"narHash": "sha256-xr6ntmiUPXSh9o9mJ7og9vxALMQs1EQhIhWUAO2D1M0=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "d75e3fe67f49728cb5035bc791f4b9065ff3a2c9",
|
"rev": "5e303e8d7e251868fa79f83bbda69da90aa62402",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -103,11 +130,11 @@
|
||||||
},
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754269165,
|
"lastModified": 1742394900,
|
||||||
"narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=",
|
"narHash": "sha256-vVOAp9ahvnU+fQoKd4SEXB2JG2wbENkpqcwlkIXgUC0=",
|
||||||
"owner": "ipetkov",
|
"owner": "ipetkov",
|
||||||
"repo": "crane",
|
"repo": "crane",
|
||||||
"rev": "444e81206df3f7d92780680e45858e31d2f07a08",
|
"rev": "70947c1908108c0c551ddfd73d4f750ff2ea67cd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -118,11 +145,26 @@
|
||||||
},
|
},
|
||||||
"crane_2": {
|
"crane_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754269165,
|
"lastModified": 1741148495,
|
||||||
"narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=",
|
"narHash": "sha256-EV8KUaIZ2/CdBXlutXrHoZYbWPeB65p5kKZk71gvDRI=",
|
||||||
"owner": "ipetkov",
|
"owner": "ipetkov",
|
||||||
"repo": "crane",
|
"repo": "crane",
|
||||||
"rev": "444e81206df3f7d92780680e45858e31d2f07a08",
|
"rev": "75390a36cd0c2cdd5f1aafd8a9f827d7107f2e53",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"crane_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1739053031,
|
||||||
|
"narHash": "sha256-LrMDRuwAlRFD2T4MgBSRd1s2VtOE+Vl1oMCNu3RpPE0=",
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"rev": "112e6591b2d6313b1bd05a80a754a8ee42432a7e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -138,11 +180,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757508292,
|
"lastModified": 1741786315,
|
||||||
"narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=",
|
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "146f45bee02b8bd88812cfce6ffc0f933788875a",
|
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -154,11 +196,11 @@
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756083905,
|
"lastModified": 1741628778,
|
||||||
"narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=",
|
"narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808",
|
"rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -170,11 +212,11 @@
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -186,11 +228,42 @@
|
||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_3": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733328505,
|
||||||
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -206,11 +279,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1741352980,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -227,11 +300,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754091436,
|
"lastModified": 1740872218,
|
||||||
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
|
"narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
|
"rev": "3876f6b87db82f33775b1ef5ea343986105db764",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -244,15 +317,16 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"stylix",
|
"stylix",
|
||||||
|
"nur",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1733312601,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -280,6 +354,27 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": [
|
||||||
|
"stylix",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
|
@ -316,21 +411,21 @@
|
||||||
"git-hooks": {
|
"git-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
"simple-nixos-mailserver",
|
"stylix",
|
||||||
"flake-compat"
|
"flake-compat"
|
||||||
],
|
],
|
||||||
"gitignore": "gitignore_2",
|
"gitignore": "gitignore_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"simple-nixos-mailserver",
|
"stylix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750779888,
|
"lastModified": 1741379162,
|
||||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -364,7 +459,7 @@
|
||||||
"gitignore_2": {
|
"gitignore_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"simple-nixos-mailserver",
|
"stylix",
|
||||||
"git-hooks",
|
"git-hooks",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -386,16 +481,16 @@
|
||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748186689,
|
"lastModified": 1732369855,
|
||||||
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
|
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
|
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "48.2",
|
"ref": "47.2",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -407,11 +502,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757698511,
|
"lastModified": 1742851132,
|
||||||
"narHash": "sha256-UqHHGydF/q3jfYXCpvYLA0TWtvByOp1NwOKCUjhYmPs=",
|
"narHash": "sha256-8vEcDefstheV1whup+5fSpZu4g9Jr7WpYzOBKAMSHn4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a3fcc92180c7462082cd849498369591dfb20855",
|
"rev": "c4d5d72805d14ea43c140eeb70401bf84c0f11b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -421,17 +516,38 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741635347,
|
||||||
|
"narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "7fb8678716c158642ac42f9ff7a18c0800fea551",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"jovian": {
|
"jovian": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nix-github-actions": "nix-github-actions",
|
"nix-github-actions": "nix-github-actions",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757230583,
|
"lastModified": 1742465245,
|
||||||
"narHash": "sha256-4uqu7sFPOaVTCogsxaGMgbzZ2vK40GVGMfUmrvK3/LY=",
|
"narHash": "sha256-gpjtkoeq5Ye9J8GoR+rWg3NL4bbEtcLvvF4nN6MtxdU=",
|
||||||
"owner": "Jovian-Experiments",
|
"owner": "Jovian-Experiments",
|
||||||
"repo": "Jovian-NixOS",
|
"repo": "Jovian-NixOS",
|
||||||
"rev": "fc3960e6c32c9d4f95fff2ef84444284d24d3bea",
|
"rev": "a95606cae5c9e1f5b84debe7865ef171d4deb287",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -442,19 +558,19 @@
|
||||||
},
|
},
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane_2",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756744479,
|
"lastModified": 1741442524,
|
||||||
"narHash": "sha256-EyZXusK/wRD3V9vDh00W2Re3Eg8UQ+LjVBQrrH9dq1U=",
|
"narHash": "sha256-tVcxLDLLho8dWcO81Xj/3/ANLdVs0bGyCPyKjp70JWk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lanzaboote",
|
"repo": "lanzaboote",
|
||||||
"rev": "747b7912f49e2885090c83364d88cf853a020ac1",
|
"rev": "d8099586d9a84308ffedac07880e7f07a0180ff4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -492,11 +608,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757218147,
|
"lastModified": 1742701275,
|
||||||
"narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=",
|
"narHash": "sha256-AulwPVrS9859t+eJ61v24wH/nfBEIDSXYxlRo3fL/SA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f",
|
"rev": "36dc43cb50d5d20f90a28d53abb33a32b0a2aae6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -528,11 +644,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751903740,
|
"lastModified": 1742568034,
|
||||||
"narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=",
|
"narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "032decf9db65efed428afd2fa39d80f7089085eb",
|
"rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -543,11 +659,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757103352,
|
"lastModified": 1742806253,
|
||||||
"narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=",
|
"narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "11b2a10c7be726321bb854403fdeec391e798bf0",
|
"rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -559,11 +675,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756266583,
|
"lastModified": 1742288794,
|
||||||
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
|
"narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
|
"rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -573,29 +689,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-25_05": {
|
"nixpkgs-24_11": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753749649,
|
"lastModified": 1734083684,
|
||||||
"narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
|
"narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
|
"rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-24.11",
|
||||||
"repo": "nixpkgs",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-edge": {
|
"nixpkgs-edge": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757763920,
|
"lastModified": 1742855907,
|
||||||
"narHash": "sha256-TVlcSI2LiWPtCVoqdVNHxywanYo7+hBSL5PqwiyTSlw=",
|
"narHash": "sha256-7njF0f8vk19p0cCYP+9EgYWT2RPCTSD822Yi41THKcs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f71577d0fabcd37d54c1d308a803f7166c4e664f",
|
"rev": "d395b30f4825e4bfbc31ed2fbd06162da496217e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -606,11 +721,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757487488,
|
"lastModified": 1742669843,
|
||||||
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
|
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0",
|
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -622,11 +737,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756125398,
|
"lastModified": 1739214665,
|
||||||
"narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=",
|
"narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5",
|
"rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -638,11 +753,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754243818,
|
"lastModified": 1741241576,
|
||||||
"narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
|
"narHash": "sha256-/mxmUVd+AE2bTmulNfM7yICocUvavlFQHcMYK67z3qI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c460617dfb709a67d18bb31e15e455390ee4ee1c",
|
"rev": "ffe8d1b1030b5de6eba761102ee34b6e41d040ee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -654,11 +769,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757487488,
|
"lastModified": 1742669843,
|
||||||
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
|
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0",
|
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -670,27 +785,26 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753939845,
|
"lastModified": 1732014248,
|
||||||
"narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=",
|
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "94def634a20494ee057c76998843c015909d6311",
|
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757034884,
|
"lastModified": 1742578646,
|
||||||
"narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=",
|
"narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ca77296380960cd497a765102eeb1356eb80fed0",
|
"rev": "94c4dbe77c0740ebba36c173672ca15a7926c993",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -702,11 +816,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756819007,
|
"lastModified": 1741513245,
|
||||||
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -718,11 +832,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754800730,
|
"lastModified": 1739138025,
|
||||||
"narHash": "sha256-HfVZCXic9XLBgybP0318ym3cDnGwBs/+H5MgxFVYF4I=",
|
"narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "641d909c4a7538f1539da9240dedb1755c907e40",
|
"rev": "b2243f41e860ac85c0b446eadc6930359b294e79",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -734,21 +848,19 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": "flake-parts_3",
|
||||||
"stylix",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix",
|
"stylix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756961635,
|
"lastModified": 1741693509,
|
||||||
"narHash": "sha256-hETvQcILTg5kChjYNns1fD5ELdsYB/VVgVmBtqKQj9A=",
|
"narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "6ca27b2654ac55e3f6e0ca434c1b4589ae22b370",
|
"rev": "5479646b2574837f1899da78bdf9a48b75a9fb27",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -767,11 +879,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756632588,
|
"lastModified": 1742765550,
|
||||||
"narHash": "sha256-ydam6eggXf3ZwRutyCABwSbMAlX+5lW6w1SVZQ+kfSo=",
|
"narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=",
|
||||||
"owner": "pjones",
|
"owner": "pjones",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "d47428e5390d6a5a8f764808a4db15929347cd77",
|
"rev": "b70be387276e632fe51232887f9e04e2b6ef8c16",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -793,11 +905,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750779888,
|
"lastModified": 1740915799,
|
||||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
"narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
"rev": "42b1ba089d2034d910566bf6b40830af6b8ec732",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -808,6 +920,7 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"bcachefs-tools": "bcachefs-tools",
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
|
@ -831,16 +944,16 @@
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"lanzaboote",
|
"bcachefs-tools",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754189623,
|
"lastModified": 1742524367,
|
||||||
"narHash": "sha256-fstu5eb30UYwsxow0aQqkzxNxGn80UZjyehQVNVHuBk=",
|
"narHash": "sha256-KzTwk/5ETJavJZYV1DEWdCx05M4duFCxCpRbQSKWpng=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "c582ff7f0d8a7ea689ae836dfb1773f1814f472a",
|
"rev": "70bf752d176b2ce07417e346d85486acea9040ef",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -850,6 +963,27 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay_2": {
|
"rust-overlay_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741228283,
|
||||||
|
"narHash": "sha256-VzqI+k/eoijLQ5am6rDFDAtFAbw8nltXfLBC6SIEJAE=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "38e9826bc4296c9daf18bc1e6aa299f3e932a403",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"zjstatus",
|
"zjstatus",
|
||||||
|
@ -857,11 +991,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754880555,
|
"lastModified": 1739240901,
|
||||||
"narHash": "sha256-tG6l0wiX8V8IvG4HFYY8IYN5vpNAxQ+UWunjjpE6SqU=",
|
"narHash": "sha256-YDtl/9w71m5WcZvbEroYoWrjECDhzJZLZ8E68S3BYok=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "17c591a44e4eb77f05f27cd37e1cfc3f219c7fc4",
|
"rev": "03473e2af8a4b490f4d2cdb2e4d3b75f82c8197c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -873,17 +1007,16 @@
|
||||||
"simple-nixos-mailserver": {
|
"simple-nixos-mailserver": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"blobs": "blobs",
|
"blobs": "blobs",
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_3",
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-25_05": "nixpkgs-25_05"
|
"nixpkgs-24_11": "nixpkgs-24_11"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756130152,
|
"lastModified": 1742413977,
|
||||||
"narHash": "sha256-3qcN28djoBqqhEqOv8ve3/+wD0lLR2YCVV1EZ4SYfjo=",
|
"narHash": "sha256-NkhM9GVu3HL+MiXtGD0TjuPCQ4GFVJPBZ8KyI2cFDGU=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "simple-nixos-mailserver",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nixos-mailserver",
|
||||||
"rev": "b49ae46f226430854102c207fdcb55e2de8e884e",
|
"rev": "b4fbffe79c00f19be94b86b4144ff67541613659",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -898,11 +1031,11 @@
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757503115,
|
"lastModified": 1742700801,
|
||||||
"narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=",
|
"narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c",
|
"rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -918,8 +1051,11 @@
|
||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-compat": "flake-compat_4",
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"git-hooks": "git-hooks",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_2",
|
"systems": "systems_2",
|
||||||
|
@ -930,15 +1066,15 @@
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757360005,
|
"lastModified": 1742855382,
|
||||||
"narHash": "sha256-VwzdFEQCpYMU9mc7BSQGQe5wA1MuTYPJnRc9TQCTMcM=",
|
"narHash": "sha256-C/aBeGktWiRg2EoSc0Aug8v+cZirSkyoVtMx1P0Dex0=",
|
||||||
"owner": "nix-community",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "834a743c11d66ea18e8c54872fbcc72ce48bc57f",
|
"rev": "5321ab0c763caa786c9756a8e8e85d1c35a8e650",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -1008,27 +1144,28 @@
|
||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735730497,
|
"lastModified": 1716423189,
|
||||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-kitty",
|
"repo": "tinted-kitty",
|
||||||
|
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754779259,
|
"lastModified": 1741468895,
|
||||||
"narHash": "sha256-8KG2lXGaXLUE0F/JVwLQe7kOVm21IDfNEo0gfga5P4M=",
|
"narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "097d751b9e3c8b97ce158e7d141e5a292545b502",
|
"rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1040,11 +1177,11 @@
|
||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754788770,
|
"lastModified": 1740877430,
|
||||||
"narHash": "sha256-LAu5nBr7pM/jD9jwFc6/kyFY4h7Us4bZz7dvVvehuwo=",
|
"narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "fb2175accef8935f6955503ec9dd3c973eec385c",
|
"rev": "d48ee86394cbe45b112ba23ab63e33656090edb4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1056,11 +1193,11 @@
|
||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755613540,
|
"lastModified": 1725758778,
|
||||||
"narHash": "sha256-zBFrrTxHLDMDX/OYxkCwGGbAhPXLi8FrnLhYLsSOKeY=",
|
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "937bada16cd3200bdbd3a2f5776fc3b686d5cba0",
|
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1069,19 +1206,62 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"zjstatus": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane_2",
|
"nixpkgs": [
|
||||||
"flake-utils": "flake-utils_2",
|
"bcachefs-tools",
|
||||||
"nixpkgs": "nixpkgs_8",
|
"nixpkgs"
|
||||||
"rust-overlay": "rust-overlay_2"
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757256304,
|
"lastModified": 1742370146,
|
||||||
"narHash": "sha256-qANK2Hwhi4Nbpcsy6lunncyt725gthaSX/0dLluBxtw=",
|
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nur",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733222881,
|
||||||
|
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zjstatus": {
|
||||||
|
"inputs": {
|
||||||
|
"crane": "crane_3",
|
||||||
|
"flake-utils": "flake-utils_3",
|
||||||
|
"nixpkgs": "nixpkgs_8",
|
||||||
|
"rust-overlay": "rust-overlay_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741803511,
|
||||||
|
"narHash": "sha256-DcCGBWvAvt+OWI+EcPRO+/IXZHkFgPxZUmxf2VLl8no=",
|
||||||
"owner": "dj95",
|
"owner": "dj95",
|
||||||
"repo": "zjstatus",
|
"repo": "zjstatus",
|
||||||
"rev": "e2ea91819408f0b0dd7ee15249341cace6eb09cc",
|
"rev": "df9c77718f7023de8406e593eda6b5b0bc09cddd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
50
flake.nix
50
flake.nix
|
@ -13,11 +13,11 @@
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# bcachefs-tools = {
|
bcachefs-tools = {
|
||||||
# url = "github:koverstreet/bcachefs-tools";
|
url = "github:koverstreet/bcachefs-tools";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# inputs.flake-parts.follows = "flake-parts";
|
inputs.flake-parts.follows = "flake-parts";
|
||||||
# };
|
};
|
||||||
|
|
||||||
flake-parts = {
|
flake-parts = {
|
||||||
url = "github:hercules-ci/flake-parts"; # Flake parts for easy flake management
|
url = "github:hercules-ci/flake-parts"; # Flake parts for easy flake management
|
||||||
|
@ -33,7 +33,11 @@
|
||||||
# catpuccin theme
|
# catpuccin theme
|
||||||
catppuccin.url = "github:catppuccin/nix";
|
catppuccin.url = "github:catppuccin/nix";
|
||||||
|
|
||||||
# Conduwuit fork after it shut down
|
# Conduit fork without all the fuss and drama
|
||||||
|
# conduwuit = {
|
||||||
|
# url = "github:girlbossceo/conduwuit";
|
||||||
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
# };
|
||||||
|
|
||||||
# Nix index database files
|
# Nix index database files
|
||||||
nix-index-database.url = "github:nix-community/nix-index-database";
|
nix-index-database.url = "github:nix-community/nix-index-database";
|
||||||
|
@ -75,7 +79,7 @@
|
||||||
# Add any other flake you might need
|
# Add any other flake you might need
|
||||||
# hardware.url = "github:nixos/nixos-hardware";
|
# hardware.url = "github:nixos/nixos-hardware";
|
||||||
# Stylix theming engine
|
# Stylix theming engine
|
||||||
stylix.url = "github:nix-community/stylix";
|
stylix.url = "github:danth/stylix";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
@ -95,15 +99,10 @@
|
||||||
jovian,
|
jovian,
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
nix-index-database,
|
nix-index-database,
|
||||||
|
# conduwuit,
|
||||||
stylix,
|
stylix,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
|
|
||||||
forEachSupportedSystem = f:
|
|
||||||
nixpkgs.lib.genAttrs supportedSystems (system:
|
|
||||||
f {
|
|
||||||
pkgs = import nixpkgs {inherit system;};
|
|
||||||
});
|
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
inherit (inputs) nixpkgs-edge;
|
inherit (inputs) nixpkgs-edge;
|
||||||
# Supported systems for your flake packages, shell, etc.
|
# Supported systems for your flake packages, shell, etc.
|
||||||
|
@ -130,10 +129,9 @@
|
||||||
catppuccin.nixosModules.catppuccin
|
catppuccin.nixosModules.catppuccin
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
nix-index-database.nixosModules.nix-index
|
nix-index-database.nixosModules.nix-index
|
||||||
{programs.nix-index-database.comma.enable = true;}
|
|
||||||
{
|
{
|
||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
catppuccin.homeModules.catppuccin
|
inputs.catppuccin.homeModules.catppuccin
|
||||||
./home-manager/shared
|
./home-manager/shared
|
||||||
sops-nix.homeManagerModules.sops
|
sops-nix.homeManagerModules.sops
|
||||||
];
|
];
|
||||||
|
@ -144,18 +142,12 @@
|
||||||
./nixos/desktop
|
./nixos/desktop
|
||||||
{
|
{
|
||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
inputs.plasma-manager.homeModules.plasma-manager
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||||
./home-manager/desktop
|
./home-manager/desktop
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
devShells = forEachSupportedSystem ({pkgs}: {
|
|
||||||
default = pkgs.mkShell {
|
|
||||||
packages = with pkgs; [nom just git];
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# Your custom packages
|
# Your custom packages
|
||||||
# Accessible through 'nix build', 'nix shell', etc
|
# Accessible through 'nix build', 'nix shell', etc
|
||||||
packages = forAllSystems (system:
|
packages = forAllSystems (system:
|
||||||
|
@ -180,18 +172,6 @@
|
||||||
# NixOS configuration entrypoint
|
# NixOS configuration entrypoint
|
||||||
# Available through 'nixos-rebuild --flake .#your-hostname'
|
# Available through 'nixos-rebuild --flake .#your-hostname'
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# nixIso = nixpkgs.lib.nixosSystem {
|
|
||||||
# system = "x86_64-linux";
|
|
||||||
# specialArgs = {inherit inputs outputs;};
|
|
||||||
# modules =
|
|
||||||
# sharedModules
|
|
||||||
# ++ desktopModules
|
|
||||||
# ++ [
|
|
||||||
# ./nixos/hosts/iso/configuration.nix
|
|
||||||
# "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-base.nix"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
EDI = nixpkgs.lib.nixosSystem {
|
EDI = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {inherit inputs outputs;};
|
specialArgs = {inherit inputs outputs;};
|
||||||
|
@ -248,7 +228,7 @@
|
||||||
jovian.nixosModules.jovian
|
jovian.nixosModules.jovian
|
||||||
{
|
{
|
||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
inputs.plasma-manager.homeModules.plasma-manager
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
# You can also split up your configuration and import pieces of it here:
|
||||||
# ./nvim.nix
|
# ./nvim.nix
|
||||||
./package-configs/plasma-desktop
|
./package-configs/plasma-desktop.nix
|
||||||
./package-configs/firefox
|
./package-configs/firefox.nix
|
||||||
./package-configs/konsole
|
./package-configs/konsole
|
||||||
./package-configs/foot
|
./package-configs/foot
|
||||||
./package-configs/freetube
|
./package-configs/freetube
|
||||||
|
@ -135,10 +135,6 @@
|
||||||
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox";
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox";
|
||||||
target = ".floorp";
|
target = ".floorp";
|
||||||
};
|
};
|
||||||
librewolf = {
|
|
||||||
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox";
|
|
||||||
target = ".librewolf";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Add stuff for your user as you see fit:
|
# Add stuff for your user as you see fit:
|
||||||
|
@ -152,7 +148,6 @@
|
||||||
git-credential-manager
|
git-credential-manager
|
||||||
git-credential-manager
|
git-credential-manager
|
||||||
ruff
|
ruff
|
||||||
devtoolbox
|
|
||||||
|
|
||||||
# Chat applications:
|
# Chat applications:
|
||||||
signal-desktop
|
signal-desktop
|
||||||
|
@ -180,7 +175,7 @@
|
||||||
fzf
|
fzf
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
nitrokey-app
|
nitrokey-app
|
||||||
# protonvpn-gui
|
protonvpn-gui
|
||||||
virtualbox
|
virtualbox
|
||||||
#watchmate
|
#watchmate
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
|
|
@ -1,16 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
stylix.targets.firefox.profileNames = ["lillian"];
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nativeMessagingHosts = [pkgs.firefoxpwa];
|
nativeMessagingHosts = [pkgs.firefoxpwa];
|
||||||
package = pkgs.floorp;
|
package = pkgs.floorp;
|
||||||
profiles.default = {isDefault = false;};
|
|
||||||
profiles.lillian = {
|
profiles.lillian = {
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
id = 1;
|
|
||||||
settings = {
|
settings = {
|
||||||
"sidebar.verticalTabs" = true;
|
|
||||||
"sidebar.visibility" = "expand-on-hover";
|
|
||||||
"browser.aboutConfig.showWarning" = false;
|
"browser.aboutConfig.showWarning" = false;
|
||||||
"browser.bookmarks.addedImportButton" = true;
|
"browser.bookmarks.addedImportButton" = true;
|
||||||
"browser.bookmarks.restore_default_bookmarks" = false;
|
"browser.bookmarks.restore_default_bookmarks" = false;
|
|
@ -4,6 +4,7 @@
|
||||||
# catppuccin.enable = true;
|
# catppuccin.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = {
|
||||||
|
font = "Atkinson Monolegible:size=12";
|
||||||
};
|
};
|
||||||
|
|
||||||
mouse = {
|
mouse = {
|
||||||
|
|
|
@ -1,23 +1,4 @@
|
||||||
{
|
{osConfig, ...}: {
|
||||||
osConfig,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
#TODO: make the creation of the command file easier, for now this is a nice solution though
|
|
||||||
systemd.user.services."set-kde-connect-commands" = {
|
|
||||||
Install = {
|
|
||||||
WantedBy = ["default.target"];
|
|
||||||
};
|
|
||||||
Service = {
|
|
||||||
Type = "OneShot";
|
|
||||||
ExecStart = "${pkgs.writeShellScript "set-kde-connect-commands" ''
|
|
||||||
#!/run/current-system/sw/bin/bash
|
|
||||||
find ${config.home.homeDirectory}/.config/kdeconnect/ -type d -name \'kdeconnect_runcommand\' -execdir cp ${builtins.toPath ./kde-connect-commands} {}+"/config" \;
|
|
||||||
''}";
|
|
||||||
RemainAfterExit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home.file.".config/kdeconnect/config" = {
|
home.file.".config/kdeconnect/config" = {
|
||||||
text = ''
|
text = ''
|
||||||
[General]
|
[General]
|
||||||
|
@ -28,22 +9,6 @@
|
||||||
target = ".config/kdeconnect/config";
|
target = ".config/kdeconnect/config";
|
||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
home.file."Games/.directory" = {
|
|
||||||
text = ''
|
|
||||||
[Desktop Entry]
|
|
||||||
Icon=folder-games
|
|
||||||
'';
|
|
||||||
target = "Games/.directory";
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
home.file."Code/.directory" = {
|
|
||||||
text = ''
|
|
||||||
[Desktop Entry]
|
|
||||||
Icon=folder-script
|
|
||||||
'';
|
|
||||||
target = "Code/.directory";
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -109,8 +74,6 @@
|
||||||
hidden = [
|
hidden = [
|
||||||
"Xwayland Video Bridge_pipewireToXProxy"
|
"Xwayland Video Bridge_pipewireToXProxy"
|
||||||
"org.kde.plasma.devicenotifier"
|
"org.kde.plasma.devicenotifier"
|
||||||
"org.kde.plasma.keyboardindicator"
|
|
||||||
"org.kde.plasma.keyboardlayout"
|
|
||||||
"org.kde.kscreen"
|
"org.kde.kscreen"
|
||||||
"org.kde.plasma.printmanager"
|
"org.kde.plasma.printmanager"
|
||||||
"chrome_status_icon_1"
|
"chrome_status_icon_1"
|
||||||
|
@ -118,9 +81,8 @@
|
||||||
"Nitrokey App"
|
"Nitrokey App"
|
||||||
"qBittorrent"
|
"qBittorrent"
|
||||||
"vlc"
|
"vlc"
|
||||||
"obs"
|
|
||||||
"steam"
|
"steam"
|
||||||
"nitrokey-app"
|
"Thunderbird Daily"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -156,10 +118,10 @@
|
||||||
config = {
|
config = {
|
||||||
General = {
|
General = {
|
||||||
launchers = [
|
launchers = [
|
||||||
"applications:librewolf.desktop"
|
"applications:floorp.desktop"
|
||||||
"applications:systemsettings.desktop"
|
"applications:systemsettings.desktop"
|
||||||
"applications:org.kde.dolphin.desktop"
|
"applications:org.kde.dolphin.desktop"
|
||||||
"applications:signal.desktop"
|
"applications:signal-desktop.desktop"
|
||||||
"applications:vesktop.desktop"
|
"applications:vesktop.desktop"
|
||||||
"applications:thunderbird.desktop"
|
"applications:thunderbird.desktop"
|
||||||
"applications:cinny.desktop"
|
"applications:cinny.desktop"
|
||||||
|
@ -257,12 +219,12 @@
|
||||||
"mediacontrol"."previousmedia" = "Media Previous";
|
"mediacontrol"."previousmedia" = "Media Previous";
|
||||||
"mediacontrol"."stopmedia" = "Media Stop";
|
"mediacontrol"."stopmedia" = "Media Stop";
|
||||||
"org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down";
|
"org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down";
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness" = ["Monitor Brightness Down" "Ctrl+Volume Down"];
|
"org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down";
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness Small" = ["Monitor Brightness Down" "Ctrl+Shift+Volume Down"];
|
"org_kde_powerdevil"."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down";
|
||||||
"org_kde_powerdevil"."Hibernate" = "Hibernate";
|
"org_kde_powerdevil"."Hibernate" = "Hibernate";
|
||||||
"org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up";
|
"org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up";
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness" = ["Monitor Brightness Up" "Ctrl+Volume Up"];
|
"org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up";
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness Small" = ["Shift+Monitor Brightness Up" "Ctrl+Shift+Volume Up"];
|
"org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
|
||||||
"org_kde_powerdevil"."PowerDown" = "Power Down";
|
"org_kde_powerdevil"."PowerDown" = "Power Down";
|
||||||
"org_kde_powerdevil"."PowerOff" = "Power Off";
|
"org_kde_powerdevil"."PowerOff" = "Power Off";
|
||||||
"org_kde_powerdevil"."Sleep" = "Sleep";
|
"org_kde_powerdevil"."Sleep" = "Sleep";
|
|
@ -1,2 +0,0 @@
|
||||||
[General]
|
|
||||||
commands="@ByteArray({\"2574d457_7a99_40a3_8239_24407c7a074d\":{\"command\":\"loginctl unlock-session\",\"name\":\"unlock\"},\"2bbbb9cc_892a_44a1_b097_27b149387511\":{\"command\":\"bluetoothctl disconnect 38:18:4C:11:56:99\",\"name\":\"disconnect headset\"},\"35ad74aa_c1f0_4dd7_a392_2b2676105b62\":{\"command\":\"systemctl hibernate\",\"name\":\"hibernate\"},\"5dd755de_e098_4907_982d_bedba5c3511d\":{\"command\":\"loginctl lock-session\",\"name\":\"lock\"},\"6423946a_b13e_4127_a0d0_0ca38e79fa0f\":{\"command\":\"bluetoothctl connect 38:18:4C:11:56:99\",\"name\":\"connect headset\"},\"690a4134_162b_4851_83a4_bf75722c699a\":{\"command\":\"systemctl suspend\",\"name\":\"suspend\"},\"99ae3913_1757_4ed0_ad7e_91c6f5d740ef\":{\"command\":\"qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \\\"mute\\\"\",\"name\":\"mute\"},\"b11480dd_19f7_49c0_9dcc_3065ddc5150b\":{\"command\":\"qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \\\"mic_mute\\\"\",\"name\":\"mute mic\"},\"bd36530a_9ed5_4345_989d_189c27b3ce00\":{\"command\":\"systemctl reboot\",\"name\":\"reboot\"},\"cf6180f7_e4bd_4f15_a9d1_19ed14e99913\":{\"command\":\"file=\\\"$HOME/Images/WebcamImage_$(date \\\"+%Y%m%d_%H%M%S\\\").jpg\\\"; ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -ss 0:0:2 -frames 1 \\\"${file}\\\" && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \\\"${file}\\\"\",\"name\":\"webcam to phone\"},\"d31a3cab_bb6a_459d_89fb_533d0d8fec61\":{\"command\":\"systemctl poweroff\",\"name\":\"shutdown\"},\"f08e1a64_53be_41da_b942_e05e45f1d69c\":{\"command\":\"qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \\\"decrease_volume\\\"\",\"name\":\"volume down\"},\"fbd67152_2a58_4d5d_a210_982fa0eeb171\":{\"command\":\"qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \\\"increase_volume\\\"\",\"name\":\"volume up\"},\"fc3adde9_7049_4166_bcda_a74d13ec91eb\":{\"command\":\"file=/tmp/$(hostname)_$(date \\\"+%Y%m%d_%H%M%S\\\").png; spectacle -bo \\\"${file}\\\" && while ! [ -f \\\"${file}\\\" ]; do sleep 0.5; done && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \\\"${file}\\\"\",\"name\":\"screenshot to phone\"}})"
|
|
|
@ -16,9 +16,8 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
lutris
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,11 +17,8 @@
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
r2modman
|
r2modman
|
||||||
ryubing
|
ryujinx
|
||||||
lutris
|
lutris
|
||||||
vscodium
|
|
||||||
intiface-central
|
|
||||||
unrar
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.mangohud = {
|
programs.mangohud = {
|
||||||
|
@ -30,5 +27,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeZHHAEoUh/Ly9F1xUSPZLPNE0Yh/wM2qWgKvlEBa8A lillian@GLaDOS
|
|
|
@ -11,11 +11,13 @@
|
||||||
|
|
||||||
# You can also split up your configuration and import pieces of it here:
|
# You can also split up your configuration and import pieces of it here:
|
||||||
# ./nvim.nix
|
# ./nvim.nix
|
||||||
|
../../desktop
|
||||||
|
../../shared
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGtwcWXnwOOI8G3NqAMfTeuSuDk9ly5xqwQDH2Iey3u+ lillian@queen
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINl+QRyKBYm+sx0hUiD2u6FBdT7aXsZBGUxm4cb7r24k lillian@GLaDOS
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL279XPFj1nzLDozFclntPh8rOcn3d1B5iJNGds9Ray6 lillian@shodan
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKRT5MqPrYUhhD5rJFp0PQbkTRtGcNaCaTxEkZw9RiVT lillian@GLaDOS
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
# You can also split up your configuration and import pieces of it here:
|
# You can also split up your configuration and import pieces of it here:
|
||||||
# ./nvim.nix
|
# ./nvim.nix
|
||||||
|
|
||||||
../../desktop/package-configs/plasma-desktop
|
../../desktop/package-configs/plasma-desktop.nix
|
||||||
../../desktop/package-configs/firefox
|
../../desktop/package-configs/firefox.nix
|
||||||
../../desktop/package-configs/konsole
|
../../desktop/package-configs/konsole
|
||||||
../../desktop/package-configs/foot
|
../../desktop/package-configs/foot
|
||||||
../../desktop/package-configs/freetube
|
../../desktop/package-configs/freetube
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
#Gaming:
|
#Gaming:
|
||||||
prismlauncher
|
prismlauncher
|
||||||
r2modman
|
r2modman
|
||||||
ryubing
|
ryujinx
|
||||||
|
|
||||||
# Multimedia:
|
# Multimedia:
|
||||||
freetube
|
freetube
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
fzf
|
fzf
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
nitrokey-app
|
nitrokey-app
|
||||||
# protonvpn-gui
|
protonvpn-gui
|
||||||
sops
|
sops
|
||||||
#watchmate
|
#watchmate
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
@ -110,5 +110,5 @@
|
||||||
programs.plasma.kscreenlocker.passwordRequired = false;
|
programs.plasma.kscreenlocker.passwordRequired = false;
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILxXVL6QAiMLwvUYBtXCbkHEh6ENgaEO/rkZWSPJrjLJ lillian@wheatley
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrmRjLF2tVkWeV7EOgUiF77Q9t+rBziRAdOPo92pyvF lillian@GLaDOS
|
||||||
|
|
|
@ -35,5 +35,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
46
home-manager/kde-connect-commands.json
Normal file
46
home-manager/kde-connect-commands.json
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"command": "systemctl poweroff",
|
||||||
|
"name": "shutdown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "systemctl reboot",
|
||||||
|
"name": "reboot"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "systemctl suspend",
|
||||||
|
"name": "suspend"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "systemctl hibernate",
|
||||||
|
"name": "hibernate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "loginctl lock-session",
|
||||||
|
"name": "lock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "loginctl unlock-session",
|
||||||
|
"name": "unlock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mute\"",
|
||||||
|
"name": "mute"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mic_mute\"",
|
||||||
|
"name": "mute mic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "file=/tmp/$(hostname)_$(date \"+%Y%m%d_%H%M%S\").png; spectacle -bo \"${file}\" && while ! [ -f \"${file}\" ]; do sleep 0.5; done && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"",
|
||||||
|
"name": "screenshot to phone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "file=\"$HOME/Images/WebcamImage_$(date \"+%Y%m%d_%H%M%S\").jpg\"; ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -ss 0:0:2 -frames 1 \"${file}\" && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"",
|
||||||
|
"name": "webcam to phone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "",
|
||||||
|
"name": ""
|
||||||
|
}
|
||||||
|
]
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
osConfig,
|
osConfig,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -12,7 +13,6 @@
|
||||||
./shell/eza.nix
|
./shell/eza.nix
|
||||||
./shell/hyfetch.nix
|
./shell/hyfetch.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "lillian";
|
username = "lillian";
|
||||||
homeDirectory = "/home/lillian";
|
homeDirectory = "/home/lillian";
|
||||||
|
@ -21,8 +21,18 @@
|
||||||
target = ".ssh/id_ed25519.pub";
|
target = ".ssh/id_ed25519.pub";
|
||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
packages = with pkgs; [
|
catppuccin = {
|
||||||
|
flavor = "macchiato";
|
||||||
|
btop.enable = true;
|
||||||
|
cache.enable = true;
|
||||||
|
chromium.enable = true;
|
||||||
|
freetube.enable = true;
|
||||||
|
freetube.flavor = "macchiato";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
# System tools:
|
# System tools:
|
||||||
vscode-langservers-extracted
|
vscode-langservers-extracted
|
||||||
sops
|
sops
|
||||||
|
@ -35,16 +45,6 @@
|
||||||
nil
|
nil
|
||||||
gh
|
gh
|
||||||
];
|
];
|
||||||
};
|
|
||||||
|
|
||||||
catppuccin = {
|
|
||||||
flavor = "macchiato";
|
|
||||||
btop.enable = true;
|
|
||||||
cache.enable = true;
|
|
||||||
chromium.enable = true;
|
|
||||||
freetube.enable = true;
|
|
||||||
freetube.flavor = "macchiato";
|
|
||||||
};
|
|
||||||
programs = {
|
programs = {
|
||||||
navi.enable = true;
|
navi.enable = true;
|
||||||
yazi = {
|
yazi = {
|
||||||
|
@ -54,36 +54,33 @@
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# stylix.enable = true;
|
|
||||||
# qt.platformTheme.name = lib.mkForce "kvantum";
|
|
||||||
# qt.style.name = lib.mkForce "kvantum";
|
|
||||||
|
|
||||||
# stylix = {
|
stylix = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# autoEnable = true;
|
autoEnable = true;
|
||||||
# base16Scheme = {
|
base16Scheme = {
|
||||||
# scheme = "Catppuccin Macchiato";
|
scheme = "Catppuccin Macchiato";
|
||||||
# author = "https://github.com/catppuccin/catppuccin";
|
author = "https://github.com/catppuccin/catppuccin";
|
||||||
# base00 = "24273a";
|
base00 = "24273a";
|
||||||
# base01 = "1e2030";
|
base01 = "1e2030";
|
||||||
# base02 = "363a4f";
|
base02 = "363a4f";
|
||||||
# base03 = "494d64";
|
base03 = "494d64";
|
||||||
# base04 = "5b6078";
|
base04 = "5b6078";
|
||||||
# base05 = "cad3f5";
|
base05 = "cad3f5";
|
||||||
# base06 = "f4dbd6";
|
base06 = "f4dbd6";
|
||||||
# base07 = "b7bdf8";
|
base07 = "b7bdf8";
|
||||||
# base08 = "ed8796";
|
base08 = "ed8796";
|
||||||
# base09 = "f5a97f";
|
base09 = "f5a97f";
|
||||||
# base0A = "eed49f";
|
base0A = "eed49f";
|
||||||
# base0B = "a6da95";
|
base0B = "a6da95";
|
||||||
# base0C = "8bd5ca";
|
base0C = "8bd5ca";
|
||||||
# base0D = "8aadf4";
|
base0D = "8aadf4";
|
||||||
# base0E = "c6a0f6";
|
base0E = "c6a0f6";
|
||||||
# base0F = "f0c6c6";
|
base0F = "f0c6c6";
|
||||||
# };
|
};
|
||||||
# image = ./background.jpg;
|
image = ./background.jpg;
|
||||||
# cursor.package = pkgs.catppuccin-cursors;
|
cursor.package = pkgs.catppuccin-cursors;
|
||||||
# cursor.name = "catppuccin-macchiato-mauve-cursors";
|
cursor.name = "catppuccin-macchiato-mauve-cursors";
|
||||||
# cursor.size = 16;
|
cursor.size = 16;
|
||||||
# };
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"command": "systemctl poweroff",
|
|
||||||
"name": "shutdown"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "systemctl reboot",
|
|
||||||
"name": "reboot"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "systemctl suspend",
|
|
||||||
"name": "suspend"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "systemctl hibernate",
|
|
||||||
"name": "hibernate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "loginctl lock-session",
|
|
||||||
"name": "lock"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "loginctl unlock-session",
|
|
||||||
"name": "unlock"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mute\"",
|
|
||||||
"name": "mute"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mic_mute\"",
|
|
||||||
"name": "mute mic"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "file=/tmp/$(hostname)_$(date \"+%Y%m%d_%H%M%S\").png; spectacle -bo \"${file}\" && while ! [ -f \"${file}\" ]; do sleep 0.5; done && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"",
|
|
||||||
"name": "screenshot to phone"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "file=\"$HOME/Images/WebcamImage_$(date \"+%Y%m%d_%H%M%S\").jpg\"; ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -ss 0:0:2 -frames 1 \"${file}\" && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"",
|
|
||||||
"name": "webcam to phone"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "bluetoothctl connect 38:18:4C:11:56:99",
|
|
||||||
"name": "connect headset"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "bluetoothctl disconnect 38:18:4C:11:56:99",
|
|
||||||
"name": "disconnect headset"
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -7,7 +7,7 @@
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "helix";
|
pname = "helix";
|
||||||
version = "25.01.1";
|
version = "24.07";
|
||||||
|
|
||||||
# This release tarball includes source code for the tree-sitter grammars,
|
# This release tarball includes source code for the tree-sitter grammars,
|
||||||
# which is not ordinarily part of the repository.
|
# which is not ordinarily part of the repository.
|
||||||
|
@ -17,7 +17,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
|
||||||
cargoHash = "";
|
cargoHash = "";
|
||||||
|
|
||||||
nativeBuildInputs = [git installShellFiles];
|
nativeBuildInputs = [git installShellFiles];
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
mode = "horizontal";
|
mode = "horizontal";
|
||||||
};
|
};
|
||||||
backend = "neofetch";
|
backend = "neofetch";
|
||||||
pride_month_disable = false;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
# Extra commands that take more complex forms
|
# Extra commands that take more complex forms
|
||||||
initContent = ''
|
initExtra = ''
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; }
|
tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; }
|
||||||
zhx() { command zellij action new-tab --layout $HOME/.config/zellij/layouts/helix.kdl; }
|
zhx() { command zellij action new-tab --layout $HOME/.config/zellij/layouts/helix.kdl; }
|
||||||
|
|
28
justfile
28
justfile
|
@ -1,44 +1,22 @@
|
||||||
# Build the nixos configuration and switch to it
|
|
||||||
build:
|
build:
|
||||||
sudo echo "sudo check..." && sudo nixos-rebuild --log-format internal-json -v switch --flake .# --show-trace |& nom --json
|
sudo nixos-rebuild switch --flake .# --show-trace
|
||||||
|
|
||||||
# Build the nixos configuration bot don't switch to it until a reboot
|
|
||||||
boot:
|
|
||||||
sudo echo "sudo check..." && sudo nixos-rebuild --log-format internal-json -v boot --flake .# --show-trace |& nom --json
|
|
||||||
|
|
||||||
# Run the nix flake in the nix repl
|
|
||||||
run:
|
run:
|
||||||
nix-repl -f flake:nixpkgs
|
nix-repl -f flake:nixpkgs
|
||||||
|
|
||||||
# Check the nix configuration for errors
|
|
||||||
test:
|
test:
|
||||||
sudo echo "sudo check..." && sudo nix flake check --show-trace --log-format internal-json -v |& nom --json
|
sudo nix flake check --show-trace
|
||||||
|
|
||||||
# Update the flake lock
|
|
||||||
update:
|
update:
|
||||||
nix flake update --log-format internal-json -v |& nom --json && zsh
|
nix flake update
|
||||||
|
|
||||||
# Clean your nix store and optimize it
|
|
||||||
clean:
|
clean:
|
||||||
sudo nix-collect-garbage
|
sudo nix-collect-garbage
|
||||||
sudo nix-store --optimise
|
sudo nix-store --optimise
|
||||||
|
|
||||||
# Set up the commit hook for testing before doing a commit
|
|
||||||
setup:
|
setup:
|
||||||
#!/run/current-system/sw/bin/bash -e
|
|
||||||
if [ -s ./.git/hooks/pre-commit ]; then
|
|
||||||
read -p $"This file already contains the following text:
|
|
||||||
$(<./.git/hooks/pre-commit)
|
|
||||||
Do you want to add the test hook (y/N)? (This will NOT delete data)" choice
|
|
||||||
case "$choice" in
|
|
||||||
y|Y ) echo "just test" >> ./.git/hooks/pre-commit && chmod +x ./.git/hooks/pre-commit && echo "Added test hook to pre-commit.";;
|
|
||||||
* ) echo "No test added to pre-commit.";;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
echo "just test" >> ./.git/hooks/pre-commit && chmod +x ./.git/hooks/pre-commit
|
echo "just test" >> ./.git/hooks/pre-commit && chmod +x ./.git/hooks/pre-commit
|
||||||
fi
|
|
||||||
|
|
||||||
# Make sure all the git actions of pulling, adding all files, committing, and pushing are done in one command
|
|
||||||
push:
|
push:
|
||||||
git pull
|
git pull
|
||||||
git add *
|
git add *
|
||||||
|
|
|
@ -28,15 +28,9 @@
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", MODE="0660", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", KERNELS=="*057e:*", MODE="0660", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="2dc8", MODE="0660", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", KERNELS=="*2DC8:*", MODE="0660", TAG+="uaccess"
|
|
||||||
'';
|
|
||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
with pkgs; [
|
(with pkgs; [
|
||||||
# Custom tools
|
# Custom tools
|
||||||
dvd
|
dvd
|
||||||
dvt
|
dvt
|
||||||
|
@ -45,10 +39,6 @@
|
||||||
|
|
||||||
# System tools
|
# System tools
|
||||||
aha
|
aha
|
||||||
ttf-ms-win10
|
|
||||||
wineWowPackages.stable
|
|
||||||
bottles
|
|
||||||
tpm2-abrmd
|
|
||||||
#bcachefs-tools
|
#bcachefs-tools
|
||||||
clinfo
|
clinfo
|
||||||
comma
|
comma
|
||||||
|
@ -72,6 +62,7 @@
|
||||||
zsh
|
zsh
|
||||||
|
|
||||||
# KDE/QT
|
# KDE/QT
|
||||||
|
krunner-translator
|
||||||
kdePackages.discover
|
kdePackages.discover
|
||||||
kdePackages.filelight
|
kdePackages.filelight
|
||||||
kdePackages.kcalc
|
kdePackages.kcalc
|
||||||
|
@ -94,19 +85,16 @@
|
||||||
libportal
|
libportal
|
||||||
|
|
||||||
# User tools
|
# User tools
|
||||||
freetube
|
|
||||||
noisetorch
|
noisetorch
|
||||||
qjackctl
|
qjackctl
|
||||||
wireplumber
|
wireplumber
|
||||||
#rustdesk
|
#rustdesk
|
||||||
]
|
])
|
||||||
# ++ (with pkgs-edge; [
|
++ (with pkgs-edge; [
|
||||||
|
freetube
|
||||||
# list of latest packages from nixpkgs master
|
# list of latest packages from nixpkgs master
|
||||||
# Can be used to install latest version of some packages
|
# Can be used to install latest version of some packages
|
||||||
# ])
|
]);
|
||||||
;
|
|
||||||
|
|
||||||
fonts.packages = [pkgs.ttf-ms-win10];
|
|
||||||
sops = {
|
sops = {
|
||||||
secrets."nextcloud-password" = {
|
secrets."nextcloud-password" = {
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
|
@ -118,7 +106,7 @@
|
||||||
programs = {
|
programs = {
|
||||||
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently
|
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently
|
||||||
command-not-found.enable = lib.mkForce false;
|
command-not-found.enable = lib.mkForce false;
|
||||||
# nix-index.enable = true;
|
nix-index.enable = true;
|
||||||
nix-index-database.comma.enable = true;
|
nix-index-database.comma.enable = true;
|
||||||
|
|
||||||
direnv = {
|
direnv = {
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.librewolf;
|
package = pkgs.floorp;
|
||||||
policies = {
|
policies = {
|
||||||
DisableTelemetry = true;
|
DisableTelemetry = true;
|
||||||
DisableFirefoxStudies = true;
|
DisableFirefoxStudies = true;
|
||||||
|
@ -115,10 +119,10 @@
|
||||||
installation_mode = "force_installed";
|
installation_mode = "force_installed";
|
||||||
};
|
};
|
||||||
# Tree Style Tabs
|
# Tree Style Tabs
|
||||||
# "treestyletab@piro.sakura.ne.jp" = {
|
"treestyletab@piro.sakura.ne.jp" = {
|
||||||
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/tree-style-tab/latest.xpi";
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/tree-style-tab/latest.xpi";
|
||||||
# installation_mode = "force_installed";
|
installation_mode = "force_installed";
|
||||||
# };
|
};
|
||||||
# Adaptive Tab Bar Colour
|
# Adaptive Tab Bar Colour
|
||||||
"ATBC@EasonWong" = {
|
"ATBC@EasonWong" = {
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/Adaptive-Tab-Bar-Colour/latest.xpi";
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/Adaptive-Tab-Bar-Colour/latest.xpi";
|
||||||
|
@ -156,8 +160,6 @@
|
||||||
"floorp.tabbar.style" = 2;
|
"floorp.tabbar.style" = 2;
|
||||||
"floorp.browser.user.interface" = 8;
|
"floorp.browser.user.interface" = 8;
|
||||||
"signon.rememberSignons" = true;
|
"signon.rememberSignons" = true;
|
||||||
"browser.ml.chat.enabled" = false;
|
|
||||||
"browser.ml.chat.shortcuts" = false;
|
|
||||||
};
|
};
|
||||||
# TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks
|
# TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks
|
||||||
# Bookmarks = [
|
# Bookmarks = [
|
||||||
|
|
|
@ -26,36 +26,6 @@
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.virt-manager.enable = true;
|
|
||||||
|
|
||||||
users.groups.libvirtd.members = ["lillian"];
|
|
||||||
|
|
||||||
virtualisation.libvirtd.enable = true;
|
|
||||||
|
|
||||||
virtualisation.spiceUSBRedirection.enable = true;
|
|
||||||
|
|
||||||
services.samba = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
"invalid users" = [
|
|
||||||
"root"
|
|
||||||
];
|
|
||||||
"passwd program" = "/run/wrappers/bin/passwd %u";
|
|
||||||
security = "user";
|
|
||||||
};
|
|
||||||
public = {
|
|
||||||
browseable = "yes";
|
|
||||||
comment = "Public samba share.";
|
|
||||||
"guest ok" = "yes";
|
|
||||||
path = "/home/lillian/samba";
|
|
||||||
"read only" = "no";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
users.groups.samba.members = ["lillian"];
|
|
||||||
|
|
||||||
services.vpn-ip = {
|
services.vpn-ip = {
|
||||||
ip = "3";
|
ip = "3";
|
||||||
};
|
};
|
||||||
|
@ -78,7 +48,7 @@
|
||||||
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pkiBundle = "/var/lib/sbctl";
|
pkiBundle = "/etc/secureboot";
|
||||||
};
|
};
|
||||||
kernelModules = [
|
kernelModules = [
|
||||||
"iwlmvm"
|
"iwlmvm"
|
||||||
|
@ -87,5 +57,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gparted
|
|
||||||
];
|
];
|
||||||
|
|
||||||
services.vpn-ip = {
|
services.vpn-ip = {
|
||||||
|
@ -73,28 +72,31 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
jovian = {
|
jovian = {
|
||||||
steamos = {
|
steam = {
|
||||||
enableAutoMountUdevRules = true;
|
enable = true;
|
||||||
|
autoStart = false;
|
||||||
|
user = "lillian";
|
||||||
|
desktopSession = "plasma";
|
||||||
};
|
};
|
||||||
decky-loader = {
|
decky-loader = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.decky-loader-prerelease;
|
package = pkgs.decky-loader-prerelease;
|
||||||
extraPackages = [pkgs.python3];
|
extraPackages = [pkgs.python3];
|
||||||
};
|
};
|
||||||
|
hardware.has.amd.gpu = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
loader.systemd-boot.enable = false;
|
loader.systemd-boot.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
binfmt.emulatedSystems = ["aarch64-linux"];
|
boot.lanzaboote = {
|
||||||
|
|
||||||
lanzaboote = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
pkiBundle = "/var/lib/sbctl";
|
pkiBundle = "/var/lib/sbctl";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
users.users.lillian.extraGroups = ["gamemode"];
|
users.users.lillian.extraGroups = ["gamemode"];
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,20 +10,20 @@
|
||||||
# outputs.homeManagerModules.example
|
# outputs.homeManagerModules.example
|
||||||
# outputs.nixosModules.contabo.wan
|
# outputs.nixosModules.contabo.wan
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
outputs.nixosModules.vpn-ip
|
|
||||||
# Or modules exported from other flakes (such as nix-colors):
|
# Or modules exported from other flakes (such as nix-colors):
|
||||||
# inputs.nix-colors.homeManagerModules.defaults
|
# inputs.nix-colors.homeManagerModules.defaults
|
||||||
|
|
||||||
# Import shared settings
|
# Import shared settings
|
||||||
|
../../shared
|
||||||
];
|
];
|
||||||
|
|
||||||
# programs.command-not-found.enable = lib.mkForce false;
|
programs.command-not-found.enable = lib.mkForce false;
|
||||||
# programs.nix-index.enable = true;
|
programs.nix-index.enable = true;
|
||||||
# programs.nix-index-database.comma.enable = true;
|
programs.nix-index-database.comma.enable = true;
|
||||||
|
|
||||||
# boot.tmp.cleanOnBoot = true;
|
boot.tmp.cleanOnBoot = true;
|
||||||
# zramSwap.enable = false;
|
zramSwap.enable = false;
|
||||||
# networking.domain = "";
|
networking.domain = "";
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# require public key authentication for better security
|
# require public key authentication for better security
|
||||||
|
@ -45,9 +45,7 @@
|
||||||
#Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys
|
#Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys
|
||||||
sops.defaultSopsFile = ./secrets/sops.yaml;
|
sops.defaultSopsFile = ./secrets/sops.yaml;
|
||||||
|
|
||||||
services.vpn-ip.enable = false;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
# services.desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Custom tools
|
# Custom tools
|
||||||
|
@ -67,9 +65,11 @@
|
||||||
sbctl
|
sbctl
|
||||||
tpm2-tools
|
tpm2-tools
|
||||||
tpm2-tss
|
tpm2-tss
|
||||||
|
waydroid
|
||||||
zsh
|
zsh
|
||||||
|
|
||||||
# KDE/QT
|
# KDE/QT
|
||||||
|
krunner-translator
|
||||||
kdePackages.discover
|
kdePackages.discover
|
||||||
kdePackages.kcalc
|
kdePackages.kcalc
|
||||||
kdePackages.kdepim-addons
|
kdePackages.kdepim-addons
|
||||||
|
@ -81,14 +81,13 @@
|
||||||
kdePackages.plasma-pa
|
kdePackages.plasma-pa
|
||||||
kdePackages.sddm-kcm
|
kdePackages.sddm-kcm
|
||||||
kdePackages.dolphin-plugins
|
kdePackages.dolphin-plugins
|
||||||
|
libportal-qt5
|
||||||
libportal
|
libportal
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
networking.hostName = "iso";
|
|
||||||
|
|
||||||
# Contabo ipv6 nameservers: "2a02:c207::1:53" "2a02:c207::2:53"
|
# Contabo ipv6 nameservers: "2a02:c207::1:53" "2a02:c207::2:53"
|
||||||
|
|
||||||
networking.firewall.enable = true;
|
networking.firewall.enable = true;
|
||||||
|
@ -107,24 +106,24 @@
|
||||||
# Enable bluetooth hardware
|
# Enable bluetooth hardware
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
# security.tpm2.enable = true;
|
security.tpm2.enable = true;
|
||||||
# security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
|
security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
|
||||||
# security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
|
security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
|
||||||
# users.users.lillian.extraGroups = ["tss"]; # tss group has access to TPM devices
|
users.users.lillian.extraGroups = ["tss"]; # tss group has access to TPM devices
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Amsterdam";
|
time.timeZone = "Europe/Amsterdam";
|
||||||
|
|
||||||
# programs.git = {
|
programs.git = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# };
|
};
|
||||||
|
|
||||||
# programs.direnv = {
|
programs.direnv = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# };
|
};
|
||||||
|
|
||||||
# # Enable completion of system packages by zsh
|
# Enable completion of system packages by zsh
|
||||||
# environment.pathsToLink = ["/share/zsh"];
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
|
|
||||||
# kde power settings do not turn off screen
|
# kde power settings do not turn off screen
|
||||||
systemd = {
|
systemd = {
|
||||||
|
@ -137,17 +136,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# home-manager = {
|
home-manager = {
|
||||||
# extraSpecialArgs = {inherit inputs outputs;};
|
extraSpecialArgs = {inherit inputs outputs;};
|
||||||
# users = {
|
users = {
|
||||||
# # Import your home-manager configuration
|
# Import your home-manager configuration
|
||||||
# lillian = import ../../../home-manager/hosts/iso;
|
lillian = import ../../../home-manager/hosts/iso;
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
|
|
||||||
# boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
|
||||||
# boot.supportedFilesystems = lib.mkForce ["bcachefs" "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"];
|
boot.supportedFilesystems = lib.mkForce ["bcachefs" "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"];
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "24.11";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
lillian-password: ENC[AES256_GCM,data:eQzZwGxK9Lw2gc8HDNw57odxPzTH4sa/2O97h3VAghRwLClmCYKT91kxj2F3kQ4iEctBl0GxdS4WoL3H9eE4/CAPffXdTmkdYg==,iv:2ezB4DNHFv5ceJ2gtATV12Azm3vFFDLX1qSSy+cKuMY=,tag:zxb5agUCDpi92bYV7+DmoA==,type:str]
|
lillian-password: ENC[AES256_GCM,data:eQzZwGxK9Lw2gc8HDNw57odxPzTH4sa/2O97h3VAghRwLClmCYKT91kxj2F3kQ4iEctBl0GxdS4WoL3H9eE4/CAPffXdTmkdYg==,iv:2ezB4DNHFv5ceJ2gtATV12Azm3vFFDLX1qSSy+cKuMY=,tag:zxb5agUCDpi92bYV7+DmoA==,type:str]
|
||||||
ssh-private-key: ENC[AES256_GCM,data:YQ+9aKpBL9XYl0IBxpPttUli6/E25alUhO36dZwPPSIBLI1ehyczocQMxNRYNtB2xKYx4wPaYIndLBhj9VdTUgaOWUd2C6aU6YgXgFAsjgEwqVDZWRp7TrTHojtrS5HnJgfopx6EqPf/uljD9yQsOkubDDUbpYkpWX/3vixm9LJ1eRXxTxXW8D3O5OM2Z1NsqA7meVa1xhvWJokqS4sD5ntp1HT78Xmu62EweHQVGaznUvWZupYh0uCQd0tr6GVTZLHdyCdaFUGHRbRddBcljpBIRWaWkhIrkjejvptUZ4Ht/UN5XM5z+zfU3DxsDOxeJ7m83om9I3WdZSdq1aDXe+VFEfMrx/0QTk2LtAmOvujcN6wO7a77SD4Rpuvq8KH2CeKrwMLlFf2BeGIcGhvAhRYUVxtypM38DEdbf/7xIcw0vQP2zNZN4QWdukUInDndnAxMfbIXKpYI5OPRaZMTVui41hkS86LBfbd5RhTjyzrtIpVSq9XkKRX7d5i8Gcjb4ORpQvrNNYMo+TXCiLNTg3/q0My/jEhfjfTF,iv:EpKC9judTZ1+0Y2LC1OK2YzGH/orRpZNtE7O+ZZyU1E=,tag:S6ju/FkwIBbBA8YU3dRo1A==,type:str]
|
|
||||||
nextcloud-password: ENC[AES256_GCM,data:5u8j1wau5FewTe+t3YZ365Acfcrt09XDgCUNpDbuVKaNZIEW3gdR60XACQeAvsyQeznynILJnz7/txV2,iv:l1xYhUkQGdWYNNy1lG9xB5SgL9cn2FdzAs19iVCohlA=,tag:rT0flG+v9wd8jSUm8DrCjg==,type:str]
|
|
||||||
wg-private-key: ENC[AES256_GCM,data:3JpyscuzK4LG1lfM3oyQNBHy7BQ2WeTaSyaZoaNfS4U7KkpEaCp5EVLBYiY=,iv:odDG8xp+d+O4FuECfeCJn/z2ka4KSzSBvgBCmcMZ0S0=,tag:iPwnqgtap+i44Mru/S7TyA==,type:str]
|
|
||||||
sops:
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
age:
|
age:
|
||||||
- recipient: age12e00qvf4shtmsfq3ujamyaa72pjvad2qhrxkvpl9hryrjvgxev4sjhmkxz
|
- recipient: age12e00qvf4shtmsfq3ujamyaa72pjvad2qhrxkvpl9hryrjvgxev4sjhmkxz
|
||||||
enc: |
|
enc: |
|
||||||
|
@ -13,7 +14,8 @@ sops:
|
||||||
dXlaN3dWOUl4Mys2V0x3Z3F6UVU4MVUKEJYpX8XhSNcM+7aUuxnIwrokY0/29Cnh
|
dXlaN3dWOUl4Mys2V0x3Z3F6UVU4MVUKEJYpX8XhSNcM+7aUuxnIwrokY0/29Cnh
|
||||||
yz0HAZkaj8FwvnPnafo5jmwVyi6WXECvX5E0NZfjKH4AF5vTu6Wukg==
|
yz0HAZkaj8FwvnPnafo5jmwVyi6WXECvX5E0NZfjKH4AF5vTu6Wukg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-08-14T18:00:16Z"
|
lastmodified: "2024-03-20T18:17:48Z"
|
||||||
mac: ENC[AES256_GCM,data:NnX0hMrfeKJucgqgVUIUS0WOHerkDtKe3P+4vvWRCMX3eXg4Tsju8pZySZP7RSZX7+2W3OUHMOUuAum0YrVasTXuhm6jPvlbqvRnVXaVzCNheIUvTCF7LFeJEOQYKS5m8AiVKFRrxz+dGn90DSeijjajSePBjo8AnKyAOQEt1S8=,iv:1iJiqJU0vdDiWnJAYDlbOBBa9lBOODjjdlsRH54aTGI=,tag:JZtgVeLvFN6vcCZkRnuNcQ==,type:str]
|
mac: ENC[AES256_GCM,data:3UHIoYPHC6n56CHguOVuoFd9VwCjGiD9VCYy2d5W+4XQEZpjnONX8fhwwWRm42COymz89tmqDmpDp88BnSU8uE14IaCIUoxfCaRiZtjAiHjouua2jr50aUV56pwyan8ZiiOjP8oP1VY/tsv1w0jWI9TjSTHvCdNLR8XEcf6bCrk=,iv:/lBJdkQgwZyiztQ9vSoHgY+WxXJKHFI93dxtOSunHNo=,tag:lLwrSdzoN9CzmyIdLOe5ig==,type:str]
|
||||||
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.8.1
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
outputs,
|
outputs,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -56,6 +55,7 @@
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
fzf
|
fzf
|
||||||
|
matrix-conduit
|
||||||
docker
|
docker
|
||||||
docker-compose
|
docker-compose
|
||||||
gitea
|
gitea
|
||||||
|
@ -68,53 +68,29 @@
|
||||||
#jellyfin
|
#jellyfin
|
||||||
#jellyfin-web
|
#jellyfin-web
|
||||||
#jellyfin-ffmpeg
|
#jellyfin-ffmpeg
|
||||||
nextcloud-spreed-signaling
|
|
||||||
nats-server
|
|
||||||
nginx
|
nginx
|
||||||
onlyoffice-documentserver
|
onlyoffice-documentserver
|
||||||
openssl
|
openssl
|
||||||
|
phanpy
|
||||||
postgresql_16
|
postgresql_16
|
||||||
python310
|
python310
|
||||||
# python310Packages.nbconvert
|
# python310Packages.nbconvert
|
||||||
janus-gateway
|
|
||||||
jupyter
|
jupyter
|
||||||
# rabbitmq-server
|
rabbitmq-server
|
||||||
roundcube
|
roundcube
|
||||||
roundcubePlugins.contextmenu
|
roundcubePlugins.contextmenu
|
||||||
roundcubePlugins.carddav
|
roundcubePlugins.carddav
|
||||||
roundcubePlugins.custom_from
|
roundcubePlugins.custom_from
|
||||||
roundcubePlugins.persistent_login
|
roundcubePlugins.persistent_login
|
||||||
roundcubePlugins.thunderbird_labels
|
roundcubePlugins.thunderbird_labels
|
||||||
|
youtube-dl
|
||||||
sqlite
|
sqlite
|
||||||
|
rocksdb
|
||||||
];
|
];
|
||||||
services.vpn-ip = {
|
services.vpn-ip = {
|
||||||
enable = false;
|
enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd = {
|
|
||||||
services."upgrade-nextcloud" = {
|
|
||||||
path = with pkgs; [nextcloud31];
|
|
||||||
enable = true;
|
|
||||||
unitConfig = {
|
|
||||||
after = "nextcloud-setup.service";
|
|
||||||
};
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = "${config.services.nextcloud.occ}/bin/nextcloud-occ upgrade";
|
|
||||||
RemainAfterExit = "yes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
timers."upgrade-nextcloud" = {
|
|
||||||
wantedBy = ["timers.target"];
|
|
||||||
partOf = ["upgrade-nextcloud.service"];
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "daily";
|
|
||||||
Unit = "nextcloud-setup.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
domain = "";
|
domain = "";
|
||||||
|
|
||||||
|
@ -217,5 +193,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,7 @@ mailpassunhash: ENC[AES256_GCM,data:q/P3nrNLy3hCISDmalw94nzWIFhoCdCTyflj27D2Ltr8
|
||||||
rpcSecret: ENC[AES256_GCM,data:gOuQSY2RI6rnSnG1,iv:xz1ueq4/UOKYBs5r9Tk4jL0+GyX8uo8I8ZymVgIMKLI=,tag:Fr8rWIttLz7X8Pri6FBJBQ==,type:str]
|
rpcSecret: ENC[AES256_GCM,data:gOuQSY2RI6rnSnG1,iv:xz1ueq4/UOKYBs5r9Tk4jL0+GyX8uo8I8ZymVgIMKLI=,tag:Fr8rWIttLz7X8Pri6FBJBQ==,type:str]
|
||||||
wg-private-key: ENC[AES256_GCM,data:mq8QWoQ4tE4eYaFbwCzQnRREUFI2qrnmDnwurKMu6qdKkDylqc65E7jgGDI=,iv:r5RdcmfW4OaKlbbzUCPahONvpLcfZ7X7KcEEYFIYFDk=,tag:e93C4lByJV75JMHLJ02PfA==,type:str]
|
wg-private-key: ENC[AES256_GCM,data:mq8QWoQ4tE4eYaFbwCzQnRREUFI2qrnmDnwurKMu6qdKkDylqc65E7jgGDI=,iv:r5RdcmfW4OaKlbbzUCPahONvpLcfZ7X7KcEEYFIYFDk=,tag:e93C4lByJV75JMHLJ02PfA==,type:str]
|
||||||
lillian-password: ENC[AES256_GCM,data:tc+Romv2fL+tdqLLmbwqaF4IHrNZ0VEpnECmW/66FW7IUpjHMyS7YP+pmmvDCzM9afIXMxyPFHGNRwiCmxqstiiNeSeLdo6rDw==,iv:sGeu9aNTgdpThv+0Z/nZKIrat1xNgM0t/KTGPaFbsdI=,tag:kZBHF4X0KO9znog61NwU+Q==,type:str]
|
lillian-password: ENC[AES256_GCM,data:tc+Romv2fL+tdqLLmbwqaF4IHrNZ0VEpnECmW/66FW7IUpjHMyS7YP+pmmvDCzM9afIXMxyPFHGNRwiCmxqstiiNeSeLdo6rDw==,iv:sGeu9aNTgdpThv+0Z/nZKIrat1xNgM0t/KTGPaFbsdI=,tag:kZBHF4X0KO9znog61NwU+Q==,type:str]
|
||||||
coturn-auth-secret: ENC[AES256_GCM,data:1K7WX5FGhF7+CRZs4SEVKogsGv/93IJVvLeMe6/d1dg3g5/6fQkRCVl1KicMUOsqUxMweUn5hUXSO1h/ruWvPA==,iv:0U/JoeVin2zTkyk60x2boUQRzGW+9swlbxP1ENCbAFQ=,tag:ll8WCgMNtun5Va0VpC81Tw==,type:str]
|
coturn-auth-secret: ENC[AES256_GCM,data:RYxyATuYIcrGd8h8Gc4CP9ZQ80ekuuwHehnOPYisHejmycgT8a2mWpk+5r3HkFmBNcLDeNlfnhIif5oLHGuHyw==,iv:M2GdNDxP4xpP35FJPTgljbcKpOm6DmEEnIYRItAxDVI=,tag:IiiNXeTi6Yja5PrnKRkhdA==,type:str]
|
||||||
hpb-secret: ENC[AES256_GCM,data:I/64j3nA0BWW5YY4STMFzxnSKQ+TmiHvweIIGOMJvV4=,iv:zezsPPnKlVBVlrJeG4pGbtuiz1GEWLmQaZl1isNa+pk=,tag:YbTWLAjIIMDn5Jo43U0QtA==,type:str]
|
|
||||||
grafana-telegraf-key: ENC[AES256_GCM,data:agpUzG1/n2NAKDt45IgelmDf0CUlC82fmD4f7JdcszNuUg7uCNA7XeaJ6PZtHQ==,iv:keo3i+qSbtXkA5fyCr2S5z9nJS9bXUn5WDiPgWocPU8=,tag:p/nDff10PRhi9pOszp1PnA==,type:str]
|
grafana-telegraf-key: ENC[AES256_GCM,data:agpUzG1/n2NAKDt45IgelmDf0CUlC82fmD4f7JdcszNuUg7uCNA7XeaJ6PZtHQ==,iv:keo3i+qSbtXkA5fyCr2S5z9nJS9bXUn5WDiPgWocPU8=,tag:p/nDff10PRhi9pOszp1PnA==,type:str]
|
||||||
sync-secrets: ENC[AES256_GCM,data:AwCgqfSXmYVGnCV5PJ5Ql44IiutTS76F1H7Ow7gB4mQQ8PtiAsmArzpAXd7LzsXedm55X04U+GvkcbM9cwPcF+psyb3Zi8EnI/mjnI9MgFyySSEcosJZVAtCpXGIMyYgRXtF5OBh5CzupAG059d1TDAqrSpLXMuSDdypTaOMHxnlq5q1swfpzhhY3PVgUKVFXdjZLX8aF3JTE9ceVxFsB+traLzOQsl+QKty0x0mpuqR97zkMCchX7bTwgUgbl7phzTvmwV8Qw==,iv:gkZs5NB9+CLfz4kfV4ha2llZQPP81uuXRKqUlASgpiA=,tag:DXkiG0ZFHLHlVhwLwtv/XQ==,type:str]
|
sync-secrets: ENC[AES256_GCM,data:AwCgqfSXmYVGnCV5PJ5Ql44IiutTS76F1H7Ow7gB4mQQ8PtiAsmArzpAXd7LzsXedm55X04U+GvkcbM9cwPcF+psyb3Zi8EnI/mjnI9MgFyySSEcosJZVAtCpXGIMyYgRXtF5OBh5CzupAG059d1TDAqrSpLXMuSDdypTaOMHxnlq5q1swfpzhhY3PVgUKVFXdjZLX8aF3JTE9ceVxFsB+traLzOQsl+QKty0x0mpuqR97zkMCchX7bTwgUgbl7phzTvmwV8Qw==,iv:gkZs5NB9+CLfz4kfV4ha2llZQPP81uuXRKqUlASgpiA=,tag:DXkiG0ZFHLHlVhwLwtv/XQ==,type:str]
|
||||||
writefreely: ENC[AES256_GCM,data:QOj5h/rHCxmgpPNhu3IS4eyruhQokHTJxW6yQM9YDgQ=,iv:qAd+/rAAanzL9FTIX22M+2kwI0WI2d3i86cJrn8MFBo=,tag:3zvpqnovDEoJdvK/qcFDuQ==,type:str]
|
writefreely: ENC[AES256_GCM,data:QOj5h/rHCxmgpPNhu3IS4eyruhQokHTJxW6yQM9YDgQ=,iv:qAd+/rAAanzL9FTIX22M+2kwI0WI2d3i86cJrn8MFBo=,tag:3zvpqnovDEoJdvK/qcFDuQ==,type:str]
|
||||||
|
@ -17,6 +16,10 @@ writefreelymysql: ENC[AES256_GCM,data:1JZwIX04O3DBAo7JvEkeNrFcSdcmk/u4WUf/kkbr2J
|
||||||
ssh-private-key: ENC[AES256_GCM,data:DK/ggskAyhvotRkf36oZBoPw3hGvVlXneqaJZRPwX2a3YVMy4zgDE3iN65UeR6mfkp9J3OmLejOHeWFB/bRCHY3oTW6GUuZljTe2rI1/x/d2s4zX5UPPEWcy3cXH25d72DzElQBEMDKuZyDe0OZ0/NkR//vEeXgoA2Nr/NKHlTWrq/t26DMD2Vt+kQ+S9b0hh4tgh3OP1lwRu9/mTJOmInd/86gKB9+aD9V0oFvNbMEmgbwIah+ZjQBHB7GEIwjUc/lLmc+3RSn9J0rICIhnhL7NTzHUDHkYd93Tm0L9UHIyi9Oco2sK8tuV5mTDM1OK8CbDg/5FICTQ0H4sstCrDNZd2wE4E1kaZuwYOyxpzQpWJY8jOxxw5oIE0IccvvptM/9vp+0f1F2RIDrkIdHSLpFbGZGvXNVAWlXyv+0qOYS7BGzD0KAh9f74GcAvULq36vdzBahb5e+CqT3JXESne8qhkpsP0G9Z1I1Fy0xpADx/9cTnAm5RmXTw/KBPmBA5IZYZBRbR/C+N7Xyxr7u9RcwFJdIbSpAeT/ew,iv:pHT7DtX1ab7boPboXRaSg9w/4sMgNraEswtEf2tBPkw=,tag:Fbw2/Evf4ZsLFMBPflf9CA==,type:str]
|
ssh-private-key: ENC[AES256_GCM,data:DK/ggskAyhvotRkf36oZBoPw3hGvVlXneqaJZRPwX2a3YVMy4zgDE3iN65UeR6mfkp9J3OmLejOHeWFB/bRCHY3oTW6GUuZljTe2rI1/x/d2s4zX5UPPEWcy3cXH25d72DzElQBEMDKuZyDe0OZ0/NkR//vEeXgoA2Nr/NKHlTWrq/t26DMD2Vt+kQ+S9b0hh4tgh3OP1lwRu9/mTJOmInd/86gKB9+aD9V0oFvNbMEmgbwIah+ZjQBHB7GEIwjUc/lLmc+3RSn9J0rICIhnhL7NTzHUDHkYd93Tm0L9UHIyi9Oco2sK8tuV5mTDM1OK8CbDg/5FICTQ0H4sstCrDNZd2wE4E1kaZuwYOyxpzQpWJY8jOxxw5oIE0IccvvptM/9vp+0f1F2RIDrkIdHSLpFbGZGvXNVAWlXyv+0qOYS7BGzD0KAh9f74GcAvULq36vdzBahb5e+CqT3JXESne8qhkpsP0G9Z1I1Fy0xpADx/9cTnAm5RmXTw/KBPmBA5IZYZBRbR/C+N7Xyxr7u9RcwFJdIbSpAeT/ew,iv:pHT7DtX1ab7boPboXRaSg9w/4sMgNraEswtEf2tBPkw=,tag:Fbw2/Evf4ZsLFMBPflf9CA==,type:str]
|
||||||
mollysocket-vapid-key: ENC[AES256_GCM,data:8N2hxY6WN6mCcjMIFsw/Vt1RoGvUbYxkVPOOn4WRjXZtEEkkVCIaNevozF4xCnBUEWIukNg8lZk8ake/pHAq,iv:+NHm3hSotcRPRjrwEe9xKnEeYbnUZqJEB1sd5B+tWIE=,tag:Pd2pnJqj771XqdqBREGzJQ==,type:str]
|
mollysocket-vapid-key: ENC[AES256_GCM,data:8N2hxY6WN6mCcjMIFsw/Vt1RoGvUbYxkVPOOn4WRjXZtEEkkVCIaNevozF4xCnBUEWIukNg8lZk8ake/pHAq,iv:+NHm3hSotcRPRjrwEe9xKnEeYbnUZqJEB1sd5B+tWIE=,tag:Pd2pnJqj771XqdqBREGzJQ==,type:str]
|
||||||
sops:
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
age:
|
age:
|
||||||
- recipient: age12e00qvf4shtmsfq3ujamyaa72pjvad2qhrxkvpl9hryrjvgxev4sjhmkxz
|
- recipient: age12e00qvf4shtmsfq3ujamyaa72pjvad2qhrxkvpl9hryrjvgxev4sjhmkxz
|
||||||
enc: |
|
enc: |
|
||||||
|
@ -27,7 +30,8 @@ sops:
|
||||||
KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz
|
KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz
|
||||||
NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw==
|
NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-08-04T13:04:56Z"
|
lastmodified: "2025-01-14T13:43:37Z"
|
||||||
mac: ENC[AES256_GCM,data:ppQgyWY/4Kr8/Ag5x7wBv1RZAxky6Itf4sBBRIzJj8njzSDOPm0blcDHjIGesu9PwmjnnJihZivmWXj43pAjxf6p4FmtlBAIqLUjRIV7fR16VINo7dPx4Pv6+sw1uwFvLliD/FfKwYo2S+Lx0eQnOzW1p7RROpbQJQ8k7AUngKE=,iv:Pk8sPdAMzITgeeaoZHJc77ywp47DuB5A1Lx5pjtHXM0=,tag:JkMDnjYMPTFkyOiikA7ejA==,type:str]
|
mac: ENC[AES256_GCM,data:GK+WcmMgDbZ5xeqMK06CuquR6/ptd2oXzVJ9V74+n6lBx4XsyPu17puKGKgsGsIHeRYdbwtQh8tm42/XJ0tK8qJz1yGvfQxPasd+ibRBHatWWHzQ/czR3NIRWYqGF9/mxi2uHrftaKtku1/huxjzjb69blopMzn2LEH0vCzXCkc=,iv:K6Fbhmz9FAzLd8KcjDSriVre8MhCYrGTVXh+u6oGLaQ=,tag:4Ylrs+Mm54vAKFQyyo8Njg==,type:str]
|
||||||
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.9.2
|
||||||
|
|
|
@ -46,17 +46,12 @@
|
||||||
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pkiBundle = "/var/lib/sbctl";
|
pkiBundle = "/etc/secureboot";
|
||||||
};
|
};
|
||||||
consoleLogLevel = 0;
|
consoleLogLevel = 0;
|
||||||
kernelParams = ["quiet" "udev.log_priority=0" "fbcon=vc:2-6" "console=tty0"];
|
kernelParams = ["quiet" "udev.log_priority=0" "fbcon=vc:2-6" "console=tty0"];
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
};
|
};
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="2dc8", MODE="0660", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", KERNELS=="*2DC8:*", MODE="0660", TAG+="uaccess"
|
|
||||||
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2dc8", MODE="0666"
|
|
||||||
'';
|
|
||||||
zramSwap.enable = false;
|
zramSwap.enable = false;
|
||||||
networking = {
|
networking = {
|
||||||
domain = "";
|
domain = "";
|
||||||
|
@ -65,10 +60,8 @@
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
|
|
||||||
firewall.enable = true;
|
firewall.enable = true;
|
||||||
firewall.interfaces."wg0".allowedTCPPorts = [8080];
|
|
||||||
firewall.interfaces."wg0".allowedUDPPorts = [8080];
|
firewall.allowedTCPPorts = [22];
|
||||||
firewall.allowedTCPPorts = [22 8080 8091 9090 9777 46899 46898];
|
|
||||||
firewall.allowedUDPPorts = [22 8080 8091 9090 9777 46899 46898];
|
|
||||||
|
|
||||||
hostName = "shodan";
|
hostName = "shodan";
|
||||||
};
|
};
|
||||||
|
@ -122,12 +115,12 @@
|
||||||
|
|
||||||
# Enable fwupd daemon and user space client
|
# Enable fwupd daemon and user space client
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
# pipewire = {
|
pipewire = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# alsa.enable = true;
|
alsa.enable = true;
|
||||||
# alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
# pulse.enable = true;
|
pulse.enable = true;
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
@ -149,13 +142,10 @@
|
||||||
decky-loader
|
decky-loader
|
||||||
efitools
|
efitools
|
||||||
jq
|
jq
|
||||||
noto-fonts
|
# noto-fonts
|
||||||
noto-fonts-emoji-blob-bin
|
# noto-fonts-emoji-blob-bin
|
||||||
noto-fonts-emoji
|
# noto-fonts-emoji
|
||||||
qjackctl
|
qjackctl
|
||||||
ttf-ms-win10
|
|
||||||
bottles
|
|
||||||
# jellyfin-media-player
|
|
||||||
|
|
||||||
#rustdesk
|
#rustdesk
|
||||||
sbctl
|
sbctl
|
||||||
|
@ -166,6 +156,7 @@
|
||||||
protonup-qt
|
protonup-qt
|
||||||
|
|
||||||
#KDE:
|
#KDE:
|
||||||
|
krunner-translator
|
||||||
# kdePackages.discover
|
# kdePackages.discover
|
||||||
kdePackages.kcalc
|
kdePackages.kcalc
|
||||||
kdePackages.kdepim-addons
|
kdePackages.kdepim-addons
|
||||||
|
@ -185,29 +176,6 @@
|
||||||
protontricks
|
protontricks
|
||||||
rare
|
rare
|
||||||
lutris
|
lutris
|
||||||
|
|
||||||
(kodi.withPackages (kodiPkgs:
|
|
||||||
with kodiPkgs; [
|
|
||||||
steam-controller
|
|
||||||
invidious
|
|
||||||
youtube
|
|
||||||
netflix
|
|
||||||
upnext
|
|
||||||
sponsorblock
|
|
||||||
sendtokodi
|
|
||||||
jellyfin
|
|
||||||
inputstream-adaptive
|
|
||||||
inputstreamhelper
|
|
||||||
inputstream-ffmpegdirect
|
|
||||||
upnext
|
|
||||||
sponsorblock
|
|
||||||
sendtokodi
|
|
||||||
routing
|
|
||||||
requests-cache
|
|
||||||
requests
|
|
||||||
plugin-cache
|
|
||||||
a4ksubtitles
|
|
||||||
]))
|
|
||||||
];
|
];
|
||||||
|
|
||||||
jovian = {
|
jovian = {
|
||||||
|
@ -220,7 +188,7 @@
|
||||||
decky-loader = {
|
decky-loader = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.decky-loader-prerelease;
|
package = pkgs.decky-loader-prerelease;
|
||||||
extraPackages = [pkgs.python3 pkgs.flatpak pkgs.uutils-findutils];
|
extraPackages = [pkgs.python3];
|
||||||
};
|
};
|
||||||
devices.steamdeck = {
|
devices.steamdeck = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -228,9 +196,9 @@
|
||||||
};
|
};
|
||||||
steamos = {
|
steamos = {
|
||||||
enableAutoMountUdevRules = true;
|
enableAutoMountUdevRules = true;
|
||||||
|
enableMesaPatches = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
fonts.packages = [pkgs.ttf-ms-win10];
|
|
||||||
programs = {
|
programs = {
|
||||||
steam = lib.mkForce {
|
steam = lib.mkForce {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -282,5 +250,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
programs = {
|
programs = {
|
||||||
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently
|
# Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently
|
||||||
command-not-found.enable = lib.mkForce false;
|
command-not-found.enable = lib.mkForce false;
|
||||||
# nix-index.enable = true;
|
nix-index.enable = true;
|
||||||
nix-index-database.comma.enable = true;
|
nix-index-database.comma.enable = true;
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
|
@ -177,8 +177,12 @@
|
||||||
# Configure DNS servers manually (this example uses Cloudflare and Google DNS)
|
# Configure DNS servers manually (this example uses Cloudflare and Google DNS)
|
||||||
# IPv6 DNS servers can be used here as well.
|
# IPv6 DNS servers can be used here as well.
|
||||||
nameservers = [
|
nameservers = [
|
||||||
"194.242.2.4"
|
# "127.0.0.1"
|
||||||
"2a07:e340::4"
|
# "::1"
|
||||||
|
"94.140.14.49"
|
||||||
|
"94.140.14.59"
|
||||||
|
"2a10:50c0:0:0:0:0:ded:ff"
|
||||||
|
"2a10:50c0:0:0:0:0:ded:ff"
|
||||||
];
|
];
|
||||||
|
|
||||||
wireguard.enable = true;
|
wireguard.enable = true;
|
||||||
|
@ -216,36 +220,6 @@
|
||||||
|
|
||||||
# wg public key for host: A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg=
|
# wg public key for host: A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg=
|
||||||
# TODO: generate this dynamically based on other hosts
|
# TODO: generate this dynamically based on other hosts
|
||||||
wg0 = {
|
|
||||||
address = ["10.70.93.226/32" "fc00:bbbb:bbbb:bb01::7:5de1/128"];
|
|
||||||
privateKeyFile = lib.mkForce config.sops.secrets."wg-private-key".path;
|
|
||||||
dns = ["100.64.0.7"];
|
|
||||||
extraOptions = {
|
|
||||||
FwMark = 51820;
|
|
||||||
};
|
|
||||||
|
|
||||||
listenPort = 51820;
|
|
||||||
|
|
||||||
postUp = ''
|
|
||||||
${pkgs.iproute2}/bin/ip rule add from 192.168.2.43 table main
|
|
||||||
${pkgs.iptables}/bin/iptables -t mangle -A PREROUTING -i end0 -j CONNMARK --set-mark 51820
|
|
||||||
${pkgs.iptables}/bin/iptables -t mangle -A PREROUTING -m connmark --mark 51820 -j MARK --set-mark 51820
|
|
||||||
'';
|
|
||||||
|
|
||||||
preDown = ''
|
|
||||||
${pkgs.iproute2}/bin/ip rule del from 192.168.2.43 table main
|
|
||||||
${pkgs.iptables}/bin/iptables -t mangle -D PREROUTING -i end0 -j CONNMARK --set-mark 51820
|
|
||||||
${pkgs.iptables}/bin/iptables -t mangle -D PREROUTING -m connmark --mark 51820 -j MARK --set-mark 51820
|
|
||||||
'';
|
|
||||||
|
|
||||||
peers = [
|
|
||||||
{
|
|
||||||
publicKey = "/wPQafVa/60OIp8KqhC1xTTG+nQXZF17uo8XfdUnz2E=";
|
|
||||||
allowedIPs = ["0.0.0.0/0" "::0/0"];
|
|
||||||
endpoint = "31.171.154.50:51820";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
wg1 = {
|
wg1 = {
|
||||||
# Determines the IP address and subnet of the server's end of the tunnel interface.
|
# Determines the IP address and subnet of the server's end of the tunnel interface.
|
||||||
address = ["10.0.0.1/24" "fdc9:281f:04d7:9ee9::1/64"];
|
address = ["10.0.0.1/24" "fdc9:281f:04d7:9ee9::1/64"];
|
||||||
|
@ -255,26 +229,22 @@
|
||||||
|
|
||||||
# This allows the wireguard server to route your traffic to the internet and hence be like a VPN
|
# This allows the wireguard server to route your traffic to the internet and hence be like a VPN
|
||||||
postUp = ''
|
postUp = ''
|
||||||
${pkgs.iptables}/bin/iptables -A FORWARD -i wg1 -j ACCEPT
|
${pkgs.iptables}/bin/iptables -A FORWARD -i wg0 -j ACCEPT
|
||||||
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
|
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
|
||||||
${pkgs.iptables}/bin/ip6tables -A FORWARD -i wg1 -j ACCEPT
|
${pkgs.iptables}/bin/ip6tables -A FORWARD -i wg0 -j ACCEPT
|
||||||
${pkgs.iptables}/bin/ip6tables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
|
${pkgs.iptables}/bin/ip6tables -t nat -A POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o eth0 -j MASQUERADE
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Undo the above
|
# Undo the above
|
||||||
preDown = ''
|
preDown = ''
|
||||||
${pkgs.iptables}/bin/iptables -D FORWARD -i wg1 -j ACCEPT
|
${pkgs.iptables}/bin/iptables -D FORWARD -i wg0 -j ACCEPT
|
||||||
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
|
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
|
||||||
${pkgs.iptables}/bin/ip6tables -D FORWARD -i wg1 -j ACCEPT
|
${pkgs.iptables}/bin/ip6tables -D FORWARD -i wg0 -j ACCEPT
|
||||||
${pkgs.iptables}/bin/ip6tables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
|
${pkgs.iptables}/bin/ip6tables -t nat -D POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o eth0 -j MASQUERADE
|
||||||
'';
|
'';
|
||||||
|
|
||||||
privateKeyFile = lib.mkForce config.sops.secrets."wg-private-key".path;
|
privateKeyFile = lib.mkForce config.sops.secrets."wg-private-key".path;
|
||||||
|
|
||||||
extraOptions = {
|
|
||||||
FwMark = 51820;
|
|
||||||
};
|
|
||||||
|
|
||||||
peers = [
|
peers = [
|
||||||
{
|
{
|
||||||
#GLaDOS public key
|
#GLaDOS public key
|
||||||
|
@ -304,7 +274,7 @@
|
||||||
# enable NAT
|
# enable NAT
|
||||||
enable = true;
|
enable = true;
|
||||||
externalInterface = "end0";
|
externalInterface = "end0";
|
||||||
internalInterfaces = ["wg1" "wg0"];
|
internalInterfaces = ["wg1"];
|
||||||
};
|
};
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -316,7 +286,6 @@
|
||||||
80 # http
|
80 # http
|
||||||
443 # https
|
443 # https
|
||||||
51821 # wg
|
51821 # wg
|
||||||
51820 # wg-mullvad
|
|
||||||
7878
|
7878
|
||||||
53 # dnsmasq
|
53 # dnsmasq
|
||||||
];
|
];
|
||||||
|
@ -382,6 +351,6 @@
|
||||||
services.cage.enable = true;
|
services.cage.enable = true;
|
||||||
nixpkgs.config.kodi.enableAdvancedLauncher = true;
|
nixpkgs.config.kodi.enableAdvancedLauncher = true;
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.05";
|
||||||
nixpkgs.hostPlatform = lib.mkForce "aarch64-linux";
|
nixpkgs.hostPlatform = lib.mkForce "aarch64-linux";
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,11 +29,17 @@
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
# Configure Conduit itself
|
# Configure Conduit itself
|
||||||
services.matrix-continuwuity = {
|
services.matrix-conduit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
# This causes NixOS to use the flake defined in this repository instead of
|
||||||
|
# the build of Conduit built into nixpkgs.
|
||||||
|
# package = inputs.conduwuit.packages.${pkgs.system}.default;
|
||||||
|
package = pkgs.conduwuit;
|
||||||
|
|
||||||
settings.global = {
|
settings.global = {
|
||||||
inherit server_name;
|
inherit server_name;
|
||||||
|
database_backend = "rocksdb";
|
||||||
allow_registration = false;
|
allow_registration = false;
|
||||||
# emergency_password = "testpassword";
|
# emergency_password = "testpassword";
|
||||||
turn_uris = ["turn:turn.gladtherescake.eu.url?transport=udp" "turn:turn.gladtherescake.eu?transport=tcp"];
|
turn_uris = ["turn:turn.gladtherescake.eu.url?transport=udp" "turn:turn.gladtherescake.eu?transport=tcp"];
|
||||||
|
@ -111,7 +117,6 @@ in {
|
||||||
locations."=/.well-known/matrix/client" = {
|
locations."=/.well-known/matrix/client" = {
|
||||||
# Use the contents of the derivation built previously
|
# Use the contents of the derivation built previously
|
||||||
alias = "${well_known_client}";
|
alias = "${well_known_client}";
|
||||||
return = "200 '{\"m.homeserver\": {\"base_url\": \"https://${server_name}\"}, \"org.matrix.msc3575.proxy\": {\"url\": \"https://${server_name}\"}}'";
|
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# Set the header since by default NGINX thinks it's just bytes
|
# Set the header since by default NGINX thinks it's just bytes
|
||||||
|
@ -125,7 +130,6 @@ in {
|
||||||
proxyPass = "http://matrix.gladtherescake.eu/client/unstable/org.matrix.msc3575/sync";
|
proxyPass = "http://matrix.gladtherescake.eu/client/unstable/org.matrix.msc3575/sync";
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
recommendedProxySettings = false;
|
recommendedProxySettings = false;
|
||||||
return = "200 '{\"contacts\": [{\"matrix_id\": \"@admin:server.name\", \"email_address\": \"admin@server.name\", \"role\": \"m.role.admin\"}]}'";
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
services.coturn = {
|
services.coturn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
use-auth-secret = true;
|
use-auth-secret = true;
|
||||||
static-auth-secret-file = config.sops.secrets."coturn-auth-secret".path;
|
static-auth-secret = "cPKWEn4Fo5TAJoE7iX3xeVOaMVE4afeRN1iRGWYfbkWbkaZMxTpnmazHyH6c6yXT";
|
||||||
realm = "turn.gladtherescake.eu";
|
realm = "turn.gladtherescake.eu";
|
||||||
relay-ips = [
|
relay-ips = [
|
||||||
"62.171.160.195"
|
"62.171.160.195"
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
# services.dovecot2.sieve.extensions = ["fileinto"];
|
# services.dovecot2.sieve.extensions = ["fileinto"];
|
||||||
|
|
||||||
mailserver = {
|
mailserver = {
|
||||||
stateVersion = 3;
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableImap = true;
|
enableImap = true;
|
||||||
enableSubmission = true;
|
enableSubmission = true;
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
hostName = "nextcloud.gladtherescake.eu";
|
hostName = "nextcloud.gladtherescake.eu";
|
||||||
|
|
||||||
package = pkgs.nextcloud31;
|
package = pkgs.nextcloud30;
|
||||||
|
|
||||||
# Use HTTPS for links
|
# Use HTTPS for links
|
||||||
https = true;
|
https = true;
|
||||||
|
@ -69,7 +69,6 @@
|
||||||
overwriteprotocol = "https";
|
overwriteprotocol = "https";
|
||||||
default_phone_region = "NL";
|
default_phone_region = "NL";
|
||||||
maintenance_window_start = 3;
|
maintenance_window_start = 3;
|
||||||
log_type = "file";
|
|
||||||
};
|
};
|
||||||
appstoreEnable = true;
|
appstoreEnable = true;
|
||||||
extraAppsEnable = true;
|
extraAppsEnable = true;
|
||||||
|
@ -102,9 +101,9 @@
|
||||||
# #jwtSecretFile = config.sops.secrets."local.json".path;
|
# #jwtSecretFile = config.sops.secrets."local.json".path;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# services.rabbitmq = {
|
services.rabbitmq = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# };
|
};
|
||||||
|
|
||||||
systemd.services."sops-nix.service" = {
|
systemd.services."sops-nix.service" = {
|
||||||
before = [
|
before = [
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#../hosts/${config.networking.hostName}/hardware-configuration.nix
|
#../hosts/${config.networking.hostName}/hardware-configuration.nix
|
||||||
];
|
];
|
||||||
sops = {
|
sops = {
|
||||||
age.keyFile = "var/secrets/keys.txt";
|
age.keyFile = ../../../../../../var/secrets/keys.txt;
|
||||||
secrets."lillian-password".neededForUsers = true;
|
secrets."lillian-password".neededForUsers = true;
|
||||||
|
|
||||||
defaultSopsFile = ../hosts/${config.networking.hostName}/secrets/sops.yaml;
|
defaultSopsFile = ../hosts/${config.networking.hostName}/secrets/sops.yaml;
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
};
|
};
|
||||||
#TODO: remove this when unneeded for freetube
|
#TODO: remove this when unneeded for freetube
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"python3.12-youtube-dl-2021.12.17"
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -66,19 +67,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#TODO: ugly hardcoded delete, if it ever becomes a problem fix this, else just leave it I guess
|
|
||||||
system.userActivationScripts = {
|
|
||||||
removeConflictingFiles = {
|
|
||||||
text = ''
|
|
||||||
rm -f /home/lillian/.config/gtk-3.0/settings.ini.backup
|
|
||||||
rm -f /home/lillian/.config/gtk-3.0/gtk.css.backup
|
|
||||||
rm -f /home/lillian/.config/gtk-4.0/settings.ini.backup
|
|
||||||
rm -f /home/lillian/.config/gtk-4.0/gtk.css.backup
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
flavor = "macchiato";
|
flavor = "macchiato";
|
||||||
tty.enable = true;
|
tty.enable = true;
|
||||||
|
@ -90,21 +78,17 @@
|
||||||
# grub.enable = false;
|
# grub.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs.zsh = {
|
||||||
zsh = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBrowserSocket = true;
|
enableBrowserSocket = true;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
targets.qt.platform = lib.mkForce "kde";
|
|
||||||
enable = true;
|
enable = true;
|
||||||
# targets.qt.platform = "kde6";
|
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
base16Scheme = {
|
base16Scheme = {
|
||||||
scheme = "Catppuccin Macchiato";
|
scheme = "Catppuccin Macchiato";
|
||||||
|
@ -129,7 +113,7 @@
|
||||||
image = ./background.jpg;
|
image = ./background.jpg;
|
||||||
cursor.package = pkgs.catppuccin-cursors.macchiatoMauve;
|
cursor.package = pkgs.catppuccin-cursors.macchiatoMauve;
|
||||||
cursor.name = "catppuccin-macchiato-mauve-cursors";
|
cursor.name = "catppuccin-macchiato-mauve-cursors";
|
||||||
cursor.size = 24;
|
cursor.size = 16;
|
||||||
homeManagerIntegration.followSystem = true;
|
homeManagerIntegration.followSystem = true;
|
||||||
fonts = {
|
fonts = {
|
||||||
serif = {
|
serif = {
|
||||||
|
@ -154,59 +138,19 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.scx.enable =
|
|
||||||
if (pkgs.system == "aarch64-linux")
|
|
||||||
then false
|
|
||||||
else true;
|
|
||||||
|
|
||||||
fonts.packages = [
|
fonts.packages = [
|
||||||
pkgs.atkinson-hyperlegible
|
pkgs.atkinson-hyperlegible
|
||||||
pkgs.atkinson-monolegible
|
pkgs.atkinson-monolegible
|
||||||
pkgs.noto-fonts-emoji-blob-bin
|
pkgs.noto-fonts-emoji-blob-bin
|
||||||
pkgs.noto-fonts
|
pkgs.noto-fonts
|
||||||
pkgs.nerd-fonts.fira-mono
|
pkgs.nerd-fonts.fira-mono
|
||||||
pkgs.font-awesome
|
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.fontconfig = {
|
# fonts.fontconfig.defaultFonts = {
|
||||||
useEmbeddedBitmaps = true;
|
|
||||||
# defaultFonts = {
|
|
||||||
# emoji = ["Blobmoji"];
|
# emoji = ["Blobmoji"];
|
||||||
# monospace = ["Atkinson Monolegible"];
|
# monospace = ["Atkinson Monolegible"];
|
||||||
# sansSerif = ["Atkinson Hyperlegible"];
|
# sansSerif = ["Atkinson Hyperlegible"];
|
||||||
# };
|
# };
|
||||||
};
|
|
||||||
systemd = {
|
|
||||||
services."shutdown-zellij-zsh" = {
|
|
||||||
path = with pkgs; [killall];
|
|
||||||
enable = true;
|
|
||||||
unitConfig = {
|
|
||||||
Before = "shutdown.target";
|
|
||||||
};
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = "${pkgs.killall}/bin/killall -SIGKILL zellij zsh";
|
|
||||||
RemainAfterExit = "yes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services."start-vpn-wg" =
|
|
||||||
if config.services.vpn-ip.enable
|
|
||||||
then {
|
|
||||||
path = with pkgs; [systemd];
|
|
||||||
enable = true;
|
|
||||||
unitConfig = {
|
|
||||||
Wants = "network-online.target";
|
|
||||||
After = "network-online.target";
|
|
||||||
};
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = "${pkgs.systemd}/bin/systemctl start wg-quick-wg0.service";
|
|
||||||
RemainAfterExit = "yes";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking =
|
networking =
|
||||||
if config.services.vpn-ip.enable
|
if config.services.vpn-ip.enable
|
||||||
|
@ -215,7 +159,7 @@
|
||||||
|
|
||||||
wg-quick.interfaces = {
|
wg-quick.interfaces = {
|
||||||
wg0 = {
|
wg0 = {
|
||||||
autostart = false;
|
autostart = true;
|
||||||
address = ["10.0.0.${config.services.vpn-ip.ip}/24" "fdc9:281f:04d7:9ee9::${config.services.vpn-ip.ip}/64"];
|
address = ["10.0.0.${config.services.vpn-ip.ip}/24" "fdc9:281f:04d7:9ee9::${config.services.vpn-ip.ip}/64"];
|
||||||
dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"];
|
dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"];
|
||||||
listenPort = 51821;
|
listenPort = 51821;
|
||||||
|
@ -233,15 +177,8 @@
|
||||||
}
|
}
|
||||||
else {};
|
else {};
|
||||||
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
nix-output-monitor
|
|
||||||
usbutils
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable completion of system packages by zsh
|
# Enable completion of system packages by zsh
|
||||||
pathsToLink = ["/share/zsh"];
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
|
@ -256,8 +193,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
users = {
|
users.lillian = {
|
||||||
lillian = {
|
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"];
|
extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
|
@ -267,11 +203,10 @@
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
mutableUsers = false;
|
||||||
|
|
||||||
root = {
|
users.root = {
|
||||||
hashedPassword = "*";
|
hashedPassword = "*";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mutableUsers = false;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,13 +22,12 @@
|
||||||
install-nix-no-inhibit
|
install-nix-no-inhibit
|
||||||
update
|
update
|
||||||
upgrade
|
upgrade
|
||||||
simple-completion-language-server
|
# simple-completion-language-server
|
||||||
|
|
||||||
# System tools
|
# System tools
|
||||||
age
|
age
|
||||||
alejandra
|
alejandra
|
||||||
e2fsprogs
|
e2fsprogs
|
||||||
uutils-findutils
|
|
||||||
git
|
git
|
||||||
git-filter-repo
|
git-filter-repo
|
||||||
pre-commit
|
pre-commit
|
||||||
|
|
|
@ -14,6 +14,4 @@ pkgs: {
|
||||||
phanpy = pkgs.callPackage ./phanpy {};
|
phanpy = pkgs.callPackage ./phanpy {};
|
||||||
auto-mount = pkgs.callPackage ./auto-mount {};
|
auto-mount = pkgs.callPackage ./auto-mount {};
|
||||||
simple-completion-language-server = pkgs.callPackage ./simple-completion-language-server {};
|
simple-completion-language-server = pkgs.callPackage ./simple-completion-language-server {};
|
||||||
freetube-0236 = pkgs.callPackage ./freetube-0.23.6 {};
|
|
||||||
ttf-ms-win10 = pkgs.callPackage ./ttf-ms-win10 {};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,121 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
stdenvNoCC,
|
|
||||||
fetchFromGitHub,
|
|
||||||
fetchYarnDeps,
|
|
||||||
replaceVars,
|
|
||||||
makeDesktopItem,
|
|
||||||
|
|
||||||
nodejs,
|
|
||||||
yarnConfigHook,
|
|
||||||
yarnBuildHook,
|
|
||||||
makeShellWrapper,
|
|
||||||
copyDesktopItems,
|
|
||||||
electron,
|
|
||||||
|
|
||||||
nixosTests,
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
description = "Open Source YouTube app for privacy";
|
|
||||||
in
|
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
||||||
pname = "freetube";
|
|
||||||
version = "0.23.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "FreeTubeApp";
|
|
||||||
repo = "FreeTube";
|
|
||||||
tag = "v${finalAttrs.version}-beta";
|
|
||||||
hash = "sha256-Z1L45RHlmylfqKBY37PC5TQ3ubOgH0AHFGM7VkmtkZ0=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Darwin requires writable Electron dist
|
|
||||||
postUnpack =
|
|
||||||
if stdenvNoCC.hostPlatform.isDarwin then
|
|
||||||
''
|
|
||||||
cp -r ${electron.dist} electron-dist
|
|
||||||
chmod -R u+w electron-dist
|
|
||||||
''
|
|
||||||
else
|
|
||||||
''
|
|
||||||
ln -s ${electron.dist} electron-dist
|
|
||||||
'';
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
(replaceVars ./patch-build-script.patch {
|
|
||||||
electron-version = electron.version;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
yarnOfflineCache = fetchYarnDeps {
|
|
||||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
|
||||||
hash = "sha256-ia5wLRt3Hmo4/dsB1/rhGWGJ7LMnVR9ju9lSlQZDTTg=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
nodejs
|
|
||||||
yarnConfigHook
|
|
||||||
yarnBuildHook
|
|
||||||
makeShellWrapper
|
|
||||||
copyDesktopItems
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
''
|
|
||||||
+ lib.optionalString stdenvNoCC.hostPlatform.isLinux ''
|
|
||||||
mkdir -p $out/share/freetube
|
|
||||||
cp -r build/*-unpacked/{locales,resources{,.pak}} -t $out/share/freetube
|
|
||||||
|
|
||||||
makeWrapper ${lib.getExe electron} $out/bin/freetube \
|
|
||||||
--add-flags "$out/share/freetube/resources/app.asar" \
|
|
||||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
|
|
||||||
|
|
||||||
install -D _icons/icon.svg $out/share/icons/hicolor/scalable/apps/freetube.svg
|
|
||||||
''
|
|
||||||
+ lib.optionalString stdenvNoCC.hostPlatform.isDarwin ''
|
|
||||||
mkdir -p $out/Applications
|
|
||||||
cp -r build/mac*/FreeTube.app $out/Applications
|
|
||||||
ln -s "$out/Applications/FreeTube.app/Contents/MacOS/FreeTube" $out/bin/freetube
|
|
||||||
''
|
|
||||||
+ ''
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
name = "freetube";
|
|
||||||
desktopName = "FreeTube";
|
|
||||||
comment = description;
|
|
||||||
exec = "freetube %U";
|
|
||||||
terminal = false;
|
|
||||||
type = "Application";
|
|
||||||
icon = "freetube";
|
|
||||||
startupWMClass = "FreeTube";
|
|
||||||
mimeTypes = [ "x-scheme-handler/freetube" ];
|
|
||||||
categories = [ "Network" ];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru.tests = nixosTests.freetube;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
inherit description;
|
|
||||||
homepage = "https://freetubeapp.io/";
|
|
||||||
license = lib.licenses.agpl3Only;
|
|
||||||
maintainers = with lib.maintainers; [
|
|
||||||
ryneeverett
|
|
||||||
pentane
|
|
||||||
ryand56
|
|
||||||
sigmasquadron
|
|
||||||
ddogfoodd
|
|
||||||
];
|
|
||||||
badPlatforms = [
|
|
||||||
# output app is called "Electron.app" while derivation expects "FreeTube.app"
|
|
||||||
#see: https://github.com/NixOS/nixpkgs/pull/384596#issuecomment-2677141349
|
|
||||||
lib.systems.inspect.patterns.isDarwin
|
|
||||||
];
|
|
||||||
inherit (electron.meta) platforms;
|
|
||||||
mainProgram = "freetube";
|
|
||||||
};
|
|
||||||
})
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/_scripts/ebuilder.config.js b/_scripts/ebuilder.config.js
|
|
||||||
index 5b79d961..9f5945d2 100644
|
|
||||||
--- a/_scripts/ebuilder.config.js
|
|
||||||
+++ b/_scripts/ebuilder.config.js
|
|
||||||
@@ -1,6 +1,8 @@
|
|
||||||
const { name, productName } = require('../package.json')
|
|
||||||
|
|
||||||
const config = {
|
|
||||||
+ electronVersion: "@electron-version@",
|
|
||||||
+ electronDist: "electron-dist",
|
|
||||||
appId: `io.freetubeapp.${name}`,
|
|
||||||
copyright: 'Copyleft © 2020-2024 freetubeapp@protonmail.com',
|
|
||||||
// asar: false,
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
git,
|
git,
|
||||||
nix-output-monitor,
|
|
||||||
gum,
|
gum,
|
||||||
writeShellApplication,
|
writeShellApplication,
|
||||||
}:
|
}:
|
||||||
|
@ -8,7 +7,7 @@ writeShellApplication
|
||||||
{
|
{
|
||||||
name = "install-nix-no-inhibit";
|
name = "install-nix-no-inhibit";
|
||||||
|
|
||||||
runtimeInputs = [git gum nix-output-monitor];
|
runtimeInputs = [git gum];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
# An install script for NixOS installation to /tmp
|
# An install script for NixOS installation to /tmp
|
||||||
|
@ -37,8 +36,8 @@ writeShellApplication
|
||||||
--mode zap_create_mount \
|
--mode zap_create_mount \
|
||||||
"./disko/''${dir}/default.nix"
|
"./disko/''${dir}/default.nix"
|
||||||
echo "NixOS Installing..."
|
echo "NixOS Installing..."
|
||||||
sudo nixos-install --flake .#"''${dir}" --show-trace --log-format internal-json -v |& nom --json
|
sudo nixos-install --flake .#"''${dir}"
|
||||||
sudo nixos-install --flake .#"''${dir}" --show-trace --log-format internal-json -v |& nom --json
|
sudo nixos-install --flake .#"''${dir}"
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
echo "Cleaning up repository in '/tmp/install-nix'..."
|
echo "Cleaning up repository in '/tmp/install-nix'..."
|
||||||
rm -rf ./install-nix
|
rm -rf ./install-nix
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
{
|
{writeShellApplication}:
|
||||||
writeShellApplication,
|
|
||||||
nix-output-monitor,
|
|
||||||
just,
|
|
||||||
}:
|
|
||||||
writeShellApplication
|
writeShellApplication
|
||||||
{
|
{
|
||||||
name = "rebuild-no-inhibit";
|
name = "rebuild-no-inhibit";
|
||||||
|
|
||||||
runtimeInputs = [nix-output-monitor just];
|
runtimeInputs = [];
|
||||||
|
|
||||||
text = ''
|
text = ''
|
||||||
# A rebuild script for NixOS
|
# A rebuild script for NixOS
|
||||||
|
@ -18,11 +14,7 @@ writeShellApplication
|
||||||
git clone https://codeberg.org/Lillian-Violet/NixOS-Config.git ./rebuild
|
git clone https://codeberg.org/Lillian-Violet/NixOS-Config.git ./rebuild
|
||||||
pushd ./rebuild > /dev/null
|
pushd ./rebuild > /dev/null
|
||||||
echo "NixOS Rebuilding..."
|
echo "NixOS Rebuilding..."
|
||||||
if [ "''$HOSTNAME" = shodan ]; then
|
sudo nixos-rebuild switch --flake .#
|
||||||
just boot
|
|
||||||
else
|
|
||||||
just build
|
|
||||||
fi
|
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
echo "Cleaning up repository in '/tmp/rebuild'..."
|
echo "Cleaning up repository in '/tmp/rebuild'..."
|
||||||
rm -rf ./rebuild
|
rm -rf ./rebuild
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "simple-completion-language-server";
|
pname = "simple-completion-language-server";
|
||||||
version = "6c797949ad5a6e9548b60b5475d1c9977f26c811";
|
version = "ff9f90bc96c347f284571bc6310bc31f95508d55";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "estin";
|
owner = "estin";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-cITZdlDB03i7gOYbahV99wZOQ7tisnqdT/N2Z12oLFM=";
|
hash = "sha256-qybbZXjKzKcc6UXfAjwmkkB+qEUuGQXABRbMj7bNksM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-nannF4BKRLCcsS7VznzEHqrhLHYvN4X22t8jud87XEM=";
|
cargoHash = "sha256-VTz2Fm+PRUPM5+u9D+2TzGGIEQwb1j0Lz0WRaQ5/Yzo=";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Language server to enable word completion and snippets for Helix editor";
|
description = "Language server to enable word completion and snippets for Helix editor";
|
||||||
homepage = "https://github.com/estin/simple-completion-language-server";
|
homepage = "https://github.com/estin/simple-completion-language-server";
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
stdenvNoCC,
|
|
||||||
fetchzip,
|
|
||||||
}:
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
|
||||||
pname = "ttf-ms-win10";
|
|
||||||
version = "1.0";
|
|
||||||
|
|
||||||
src = fetchzip {
|
|
||||||
url = "https://github.com/streetsamurai00mi/ttf-ms-win10/archive/refs/heads/build.zip";
|
|
||||||
hash = "sha256-UwkHlrSRaXhfoMlimyXFETV9yq1SbvUXykrhigf+wP8=";
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
install -Dm644 *.ttf -t $out/share/fonts/truetype
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/streetsamurai00mi/ttf-ms-win10";
|
|
||||||
description = "Windows 10 ttf Fonts";
|
|
||||||
license = licenses.unfree;
|
|
||||||
maintainers = [];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue