Compare commits
3 commits
main
...
remove-pro
Author | SHA1 | Date | |
---|---|---|---|
f60d03acf6 | |||
8c3cd9631a | |||
aa46aa0762 |
66 changed files with 481 additions and 1373 deletions
1
.envrc
1
.envrc
|
@ -1 +0,0 @@
|
||||||
use flake .
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
.direnv
|
|
22
README.md
22
README.md
|
@ -1,4 +1,4 @@
|
||||||
# ❄️ flocon
|
# ❄️ nix
|
||||||
|
|
||||||
My NixOS configurations, using flakes.
|
My NixOS configurations, using flakes.
|
||||||
|
|
||||||
|
@ -8,29 +8,19 @@ My NixOS configurations, using flakes.
|
||||||
- Text editor: [neovim](https://github.com/neovim/neovim)
|
- Text editor: [neovim](https://github.com/neovim/neovim)
|
||||||
- Shell: [fish](https://github.com/fish-shell/fish-shell)
|
- Shell: [fish](https://github.com/fish-shell/fish-shell)
|
||||||
- Colors: [Catppuccin](https://github.com/catppuccin/catppuccin)
|
- Colors: [Catppuccin](https://github.com/catppuccin/catppuccin)
|
||||||
- Font: [Intel One Mono](https://github.com/intel/intel-one-mono)
|
- Font: [Intel One Mono](github.com/intel/intel-one-mono)
|
||||||
|
|
||||||
Additionally using a lot of other software you can find in the configuration files.
|
Additionally using a lot of other software you can find in the configuration files.
|
||||||
|
|
||||||
# 🛠️ Structure
|
# 🛠️ Structure
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| ------------------- | -------------------------- |
|
| ------------------- | ------------------------------------------------- |
|
||||||
| [home](home/) | Home manager configuration |
|
| [home](home/) | Home manager configuration |
|
||||||
| [hosts](hosts/) | Host-specific |
|
| [hosts](hosts/) | Host-specific (entry-points of the configuration) |
|
||||||
| [lib](lib/) | Helper functions |
|
| [lib](lib/) | Helper functions |
|
||||||
| [modules](modules/) | NixOS modules |
|
| [modules](modules/) | NixOS modules |
|
||||||
| [pkgs](pkgs/) | Custom packages |
|
| [system](system/) | Common NixOS configuration |
|
||||||
| [system](system/) | NixOS configuration |
|
|
||||||
|
|
||||||
My configuration is structured based on the following principles:
|
|
||||||
|
|
||||||
1. Hosts should be the main entry points and outputs.
|
|
||||||
2. Abstractions should be avoided as much as possible.
|
|
||||||
|
|
||||||
The bulk of the configuration can be found either in [home](home/) or [system](system/), which declares most of my programs, with some extra Nix code in [lib](lib/) and custom [modules](modules/), mostly for convenience and to provide a way to globally set styles and themes for now.
|
|
||||||
|
|
||||||
My hosts can then pick and choose the programs and configurations that they need from the other directories. If the need arises for a more modular setup for a specific piece of software (ie. having different flavors of Firefox per host), I will write a custom module for it. This helps to avoid unnecessarily abstracting my configuration, as I don't find it necessary for the most part, and I would also like it to remain as simple as possible.
|
|
||||||
|
|
||||||
# 👥 Credits
|
# 👥 Credits
|
||||||
|
|
||||||
|
@ -39,4 +29,4 @@ People / repositories I have copied / learned from:
|
||||||
- [fufexan/dotfiles](https://github.com/fufexan/dotfiles) for the configuration structure
|
- [fufexan/dotfiles](https://github.com/fufexan/dotfiles) for the configuration structure
|
||||||
- [jacekpoz/nixos](https://git.jacekpoz.pl/poz/niksos) for learning how NixOS modules work
|
- [jacekpoz/nixos](https://git.jacekpoz.pl/poz/niksos) for learning how NixOS modules work
|
||||||
|
|
||||||
Some bits have also been borrowed from within the configuration, and credit has been given where its due.
|
Some bits have also been borrowed from within the configuration, and credit has been given when its due.
|
||||||
|
|
510
flake.lock
510
flake.lock
|
@ -1,32 +1,9 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"agenix": {
|
|
||||||
"inputs": {
|
|
||||||
"darwin": "darwin",
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1723293904,
|
|
||||||
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
|
|
||||||
"owner": "ryantm",
|
|
||||||
"repo": "agenix",
|
|
||||||
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ryantm",
|
|
||||||
"repo": "agenix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ags": {
|
"ags": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"systems": "systems_2"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728326430,
|
"lastModified": 1728326430,
|
||||||
|
@ -62,6 +39,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"chaotic": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-schemas": "flake-schemas",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"jovian": "jovian",
|
||||||
|
"nixpkgs": "nixpkgs_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729510449,
|
||||||
|
"narHash": "sha256-/EwjBMYBZ3/2ROT+4M/6tLomgJEgZBpKosWhqtYZkDI=",
|
||||||
|
"owner": "chaotic-cx",
|
||||||
|
"repo": "nyx",
|
||||||
|
"rev": "4e03e8d762623ca925c604800aa18f109cd3bd97",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "chaotic-cx",
|
||||||
|
"ref": "nyxpkgs-unstable",
|
||||||
|
"repo": "nyx",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -83,71 +82,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"darwin": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"agenix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1700795494,
|
|
||||||
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
|
||||||
"owner": "lnl7",
|
|
||||||
"repo": "nix-darwin",
|
|
||||||
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lnl7",
|
|
||||||
"ref": "master",
|
|
||||||
"repo": "nix-darwin",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"deploy-rs": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"utils": "utils"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727447169,
|
|
||||||
"narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=",
|
|
||||||
"owner": "serokell",
|
|
||||||
"repo": "deploy-rs",
|
|
||||||
"rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "serokell",
|
|
||||||
"repo": "deploy-rs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"firefox-addons": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"dir": "pkgs/firefox-addons",
|
|
||||||
"lastModified": 1730865784,
|
|
||||||
"narHash": "sha256-6kJYNjVCyf1tYgpqm7QOYcMkkD/RsaSfrsC2+ojmFAI=",
|
|
||||||
"owner": "rycee",
|
|
||||||
"repo": "nur-expressions",
|
|
||||||
"rev": "b8d22442e09a02eb8b830d41726ac371be21b7cd",
|
|
||||||
"type": "gitlab"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"dir": "pkgs/firefox-addons",
|
|
||||||
"owner": "rycee",
|
|
||||||
"repo": "nur-expressions",
|
|
||||||
"type": "gitlab"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -180,22 +114,6 @@
|
||||||
"type": "github"
|
"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-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
@ -215,6 +133,26 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1727826117,
|
||||||
|
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"lanzaboote",
|
"lanzaboote",
|
||||||
|
@ -235,16 +173,16 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_3": {
|
"flake-parts_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730504689,
|
"lastModified": 1727826117,
|
||||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -253,7 +191,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_4": {
|
"flake-parts_5": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib_3"
|
"nixpkgs-lib": "nixpkgs-lib_3"
|
||||||
},
|
},
|
||||||
|
@ -271,13 +209,32 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-schemas": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1629284811,
|
"lastModified": 1721999734,
|
||||||
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
"narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
|
||||||
|
"rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
|
||||||
|
"revCount": 75,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": [
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726560853,
|
||||||
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -288,7 +245,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_4"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -306,7 +263,7 @@
|
||||||
},
|
},
|
||||||
"flake-utils_3": {
|
"flake-utils_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_5"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -324,14 +281,14 @@
|
||||||
},
|
},
|
||||||
"flake-utils_4": {
|
"flake-utils_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_8"
|
"systems": "systems_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -399,16 +356,16 @@
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"agenix",
|
"chaotic",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703113217,
|
"lastModified": 1729414726,
|
||||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
"narHash": "sha256-Dtmm1OU8Ymiy9hVWn/a2B8DhRYo9Eoyx9veERdOBR4o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
"rev": "fe56302339bb28e3471632379d733547caec8103",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -424,11 +381,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730837930,
|
"lastModified": 1729459288,
|
||||||
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
|
"narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
|
"rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -437,11 +394,33 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"jovian": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729177642,
|
||||||
|
"narHash": "sha256-DdKal+ZhB9QD/tnEwFg4cZ4j4YnrkvSljBxnyG+3eE0=",
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"rev": "bb69165ff372ddbd3228a03513922acd783040e8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_3",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
@ -546,7 +525,7 @@
|
||||||
},
|
},
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_4",
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
"niri-unstable": "niri-unstable",
|
"niri-unstable": "niri-unstable",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
@ -555,11 +534,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730875971,
|
"lastModified": 1729499378,
|
||||||
"narHash": "sha256-VpTY0Urm0tebIndEP3qCsfAEjh8IB0d9j7XRZkNLRrw=",
|
"narHash": "sha256-gslhStBw58+LAbcver/2/Q6zjPq9xNZQ/IcoIh7OBck=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "563b10c27839d0b08353d4cd3563e0f9beb3468d",
|
"rev": "2e46e95f0e5be7cea740163d87edf628e755cc3e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -588,11 +567,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730871742,
|
"lastModified": 1729444736,
|
||||||
"narHash": "sha256-wK7UD90LxLr8oELIYPhUS6+IPU32JGESaHd/tny5/ig=",
|
"narHash": "sha256-/Q1yf6f9nUBFVqI/t89xfTPmQipaug63LP8TeENg4CA=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "8867a4f84c4bd07235abd37828b0d724321facbe",
|
"rev": "289ae3604d705cebc82cbcd23ee4534ded16d3af",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -601,33 +580,36 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-index-db": {
|
"nix-github-actions": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"jovian",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730604744,
|
"lastModified": 1690328911,
|
||||||
"narHash": "sha256-/MK6QU4iOozJ4oHTfZipGtOgaT/uy/Jm4foCqHQeYR4=",
|
"narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
|
||||||
"owner": "nix-community",
|
"owner": "zhaofengli",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-github-actions",
|
||||||
"rev": "cc2ddbf2df8ef7cc933543b1b42b845ee4772318",
|
"rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "zhaofengli",
|
||||||
"repo": "nix-index-database",
|
"ref": "matrix-name",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730886862,
|
"lastModified": 1729509737,
|
||||||
"narHash": "sha256-wCZtRGM1NGxq6VG4+TMzfsa4cuG2VJVtowtYuWW5W3g=",
|
"narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "90642a0deae927fa911d49d4f7c5616257105141",
|
"rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -666,14 +648,14 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-lib_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730504152,
|
"lastModified": 1727825735,
|
||||||
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_3": {
|
"nixpkgs-lib_3": {
|
||||||
|
@ -706,11 +688,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730741070,
|
"lastModified": 1729307008,
|
||||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
"narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
"rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -738,27 +720,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702272962,
|
"lastModified": 1729256560,
|
||||||
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
|
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d",
|
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730785428,
|
"lastModified": 1729256560,
|
||||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -770,11 +752,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730785428,
|
"lastModified": 1729256560,
|
||||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -817,22 +799,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1711404521,
|
|
||||||
"narHash": "sha256-cYhDZ3RYLiXAi4LQDGuQjjDDbtP00Wd/Vjal/jWyTuA=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "07518c851b0f12351d7709274bbbd4ecc1f089c7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "07518c851b0f12351d7709274bbbd4ecc1f089c7",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_9": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726871744,
|
"lastModified": 1726871744,
|
||||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||||
|
@ -864,9 +830,24 @@
|
||||||
"type": "sourcehut"
|
"type": "sourcehut"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729516261,
|
||||||
|
"narHash": "sha256-uvW3pAtku4QrCjkThTFwJjLmS5evHPSH6XBGZFHGquA=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "282dfd5c7da86c7315c231b95e95d71b36f22347",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nvf": {
|
"nvf": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_4",
|
"flake-parts": "flake-parts_5",
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"mnw": "mnw",
|
"mnw": "mnw",
|
||||||
"nil": "nil",
|
"nil": "nil",
|
||||||
|
@ -974,14 +955,14 @@
|
||||||
"plugin-vim-vsnip": "plugin-vim-vsnip",
|
"plugin-vim-vsnip": "plugin-vim-vsnip",
|
||||||
"plugin-which-key": "plugin-which-key",
|
"plugin-which-key": "plugin-which-key",
|
||||||
"rnix-lsp": "rnix-lsp",
|
"rnix-lsp": "rnix-lsp",
|
||||||
"systems": "systems_6"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730289819,
|
"lastModified": 1728378979,
|
||||||
"narHash": "sha256-GYEgdCLzNODbMNEeYbMa5EWgEwTEMxdSSPTz8uEwZdQ=",
|
"narHash": "sha256-CW/5Cs9m8HupL+6iRMpdHE88OmK9MXH2h3BcXCQw440=",
|
||||||
"owner": "notashelf",
|
"owner": "notashelf",
|
||||||
"repo": "nvf",
|
"repo": "nvf",
|
||||||
"rev": "8ff50562d7203a2b87bc6409e806f13b115d6b48",
|
"rev": "0947ab38c0bc79780eec599161306157b8de74a3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1000,11 +981,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730635861,
|
"lastModified": 1729372184,
|
||||||
"narHash": "sha256-Npp3pl9aeAiq+wZPDbw2ZxybNuZWyuN7AY6fik56DCo=",
|
"narHash": "sha256-Tb2/jJ74pt0nmfprkOW1g5zZphJTNbzLnyDENM+c5+I=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "293668587937daae1df085ee36d2b2d0792b7a0f",
|
"rev": "9390dadadc58ffda8e494b31ef66a4ae041f6dd1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2630,24 +2611,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"portfolio": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_8"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1730891412,
|
|
||||||
"narHash": "sha256-EEXp1jQMoA7off1ioqB5aJM1a5ZfGS6KQVsYSZ/ub78=",
|
|
||||||
"owner": "nezia1",
|
|
||||||
"repo": "portfolio",
|
|
||||||
"rev": "082cc68c67deead967bf177d048995c6a27ef84e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nezia1",
|
|
||||||
"repo": "portfolio",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pre-commit-hooks-nix": {
|
"pre-commit-hooks-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
|
@ -2679,7 +2642,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"utils": "utils_2"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1669555118,
|
"lastModified": 1669555118,
|
||||||
|
@ -2697,21 +2660,20 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
|
||||||
"ags": "ags",
|
"ags": "ags",
|
||||||
"basix": "basix",
|
"basix": "basix",
|
||||||
"deploy-rs": "deploy-rs",
|
"chaotic": "chaotic",
|
||||||
"firefox-addons": "firefox-addons",
|
"flake-parts": "flake-parts_2",
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-index-db": "nix-index-db",
|
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
|
"nur": "nur",
|
||||||
"nvf": "nvf",
|
"nvf": "nvf",
|
||||||
"plasma-manager": "plasma-manager",
|
"plasma-manager": "plasma-manager",
|
||||||
"portfolio": "portfolio",
|
"systems": "systems_5",
|
||||||
"systems": "systems_7",
|
|
||||||
"treefmt-nix": "treefmt-nix",
|
"treefmt-nix": "treefmt-nix",
|
||||||
"wezterm": "wezterm"
|
"wezterm": "wezterm"
|
||||||
}
|
}
|
||||||
|
@ -2776,11 +2738,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729477859,
|
"lastModified": 1726280639,
|
||||||
"narHash": "sha256-r0VyeJxy4O4CgTB/PNtfQft9fPfN1VuGvnZiCxDArvg=",
|
"narHash": "sha256-YfLRPlFZWrT2oRLNAoqf7G3+NnUTDdlIJk6tmBU7kXM=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "ada8266712449c4c0e6ee6fcbc442b3c217c79e1",
|
"rev": "e9f8641c92f26fd1e076e705edb12147c384171d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2790,21 +2752,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
@ -2819,6 +2766,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"systems_3": {
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -2851,16 +2813,16 @@
|
||||||
},
|
},
|
||||||
"systems_5": {
|
"systems_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default-linux",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2879,46 +2841,16 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_7": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_8": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730321837,
|
"lastModified": 1729242555,
|
||||||
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
"narHash": "sha256-6jWSWxv2crIXmYSEb3LEVsFkCkyVHNllk61X4uhqfCs=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
"rev": "d986489c1c757f6921a48c1439f19bfb9b8ecab5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2928,24 +2860,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701680307,
|
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"utils_2": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1656928814,
|
"lastModified": 1656928814,
|
||||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||||
|
@ -2974,11 +2888,11 @@
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "nix",
|
"dir": "nix",
|
||||||
"lastModified": 1730734444,
|
"lastModified": 1729006311,
|
||||||
"narHash": "sha256-lNgCAphrq3/bYGjgDxEl2rVcer6GnmfWXDhxc+kdYOk=",
|
"narHash": "sha256-1xtKJHu6CFnOhp4snof+WSTwcdPgwIaD6mBODP/cv3w=",
|
||||||
"owner": "wez",
|
"owner": "wez",
|
||||||
"repo": "wezterm",
|
"repo": "wezterm",
|
||||||
"rev": "51c794ac500a2033b9dc570c71810518bfa667a9",
|
"rev": "9ddca7bde92090792dbcdc65c1e9897c362196d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -2992,16 +2906,16 @@
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730166465,
|
"lastModified": 1718165778,
|
||||||
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
"narHash": "sha256-dwF9nI54a6Fo9XU5s4qmvMXSgCid3YQVGxch00qEMvI=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
"rev": "b6d281967cb0b7bf1dfdb8d0f597b517dc4aa5c5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"ref": "v0.5",
|
"ref": "v0.4",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -3009,11 +2923,11 @@
|
||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730258684,
|
"lastModified": 1729139001,
|
||||||
"narHash": "sha256-E+69sdxUhPSNI8+JlTL6KKbNv5qVD3L1y8hdVO37A44=",
|
"narHash": "sha256-BADKw4fQma8tUNBRfmS9YLXTRXK4nYyXIxQdhGuEV0s=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "b0ee6db9fa9901c675b3c7e952c2a8ce987a0f58",
|
"rev": "ab2d09962c425670a4a7ca6ef5d92a0f06632499",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
101
flake.nix
101
flake.nix
|
@ -1,81 +1,82 @@
|
||||||
{
|
{
|
||||||
description = "nezia's nixos configuration";
|
description = "nezia's nixos configuration";
|
||||||
|
|
||||||
outputs = {
|
outputs = inputs:
|
||||||
self,
|
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
|
||||||
nixpkgs,
|
systems = ["x86_64-linux"];
|
||||||
systems,
|
|
||||||
agenix,
|
imports = [
|
||||||
deploy-rs,
|
./hosts
|
||||||
treefmt-nix,
|
./modules
|
||||||
...
|
];
|
||||||
} @ inputs: let
|
|
||||||
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
perSystem = {pkgs, ...}: {
|
||||||
treefmtEval = eachSystem (pkgs: treefmt-nix.lib.evalModule pkgs ./treefmt.nix);
|
devShells.default = pkgs.mkShell {
|
||||||
in {
|
|
||||||
devShells = eachSystem (pkgs: {
|
|
||||||
default = pkgs.mkShell {
|
|
||||||
packages = [
|
packages = [
|
||||||
pkgs.alejandra
|
pkgs.alejandra
|
||||||
pkgs.git
|
pkgs.git
|
||||||
deploy-rs.packages.${pkgs.system}.default
|
|
||||||
agenix.packages.${pkgs.system}.default
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
formatter = pkgs.alejandra;
|
||||||
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
|
|
||||||
nixosModules = import ./modules;
|
|
||||||
nixosConfigurations = let
|
|
||||||
lib' = import ./lib {inherit inputs lib';};
|
|
||||||
in
|
|
||||||
import ./hosts {inherit inputs lib';};
|
|
||||||
packages = eachSystem (pkgs: import ./pkgs {inherit inputs pkgs;});
|
|
||||||
deploy.nodes = import ./nodes {inherit self inputs;};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# nix related
|
# global, so they can be `.follow`ed
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
||||||
systems.url = "github:nix-systems/default-linux";
|
systems.url = "github:nix-systems/default-linux";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
|
||||||
lanzaboote = {
|
flake-utils = {
|
||||||
url = "github:nix-community/lanzaboote/v0.4.1";
|
url = "github:numtide/flake-utils";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.systems.follows = "systems";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
flake-parts = {
|
||||||
|
url = "github:hercules-ci/flake-parts";
|
||||||
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nix-index-db = {
|
|
||||||
url = "github:nix-community/nix-index-database";
|
wezterm = {
|
||||||
|
url = "github:wez/wezterm/main?dir=nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# other
|
nvf = {
|
||||||
agenix = {
|
url = "github:notashelf/nvf";
|
||||||
url = "github:ryantm/agenix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
ags.url = "github:Aylur/ags";
|
|
||||||
basix.url = "github:notashelf/basix";
|
basix.url = "github:notashelf/basix";
|
||||||
deploy-rs.url = "github:serokell/deploy-rs";
|
|
||||||
firefox-addons = {
|
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
|
||||||
nvf.url = "github:notashelf/nvf";
|
|
||||||
|
|
||||||
portfolio.url = "github:nezia1/portfolio";
|
|
||||||
|
|
||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
url = "github:nix-community/plasma-manager";
|
url = "github:nix-community/plasma-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.home-manager.follows = "home-manager";
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
|
||||||
wezterm = {
|
ags.url = "github:Aylur/ags";
|
||||||
url = "github:wez/wezterm/main?dir=nix";
|
|
||||||
|
niri = {
|
||||||
|
url = "github:sodiboo/niri-flake";
|
||||||
|
};
|
||||||
|
|
||||||
|
lanzaboote = {
|
||||||
|
url = "github:nix-community/lanzaboote/v0.4.1";
|
||||||
|
|
||||||
|
# Optional but recommended to limit the size of your system closure.
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||||
|
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
@ -12,133 +13,18 @@
|
||||||
in {
|
in {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
|
||||||
extraPolicies = {
|
|
||||||
DisableTelemetry = true;
|
|
||||||
DisablePocket = true;
|
|
||||||
DisableFeedbackCommands = true;
|
|
||||||
DisableFirefoxStudies = true;
|
|
||||||
OfferToSaveLogins = false;
|
|
||||||
OffertosaveloginsDefault = false;
|
|
||||||
PasswordManagerEnabled = false;
|
|
||||||
SearchSuggestEnabled = true;
|
|
||||||
|
|
||||||
# https://github.com/Sly-Harvey/NixOS/blob/f9da2691ea46565256ad757959cfc26ec6cee10d/modules/programs/browser/firefox/default.nix#L58-L163
|
|
||||||
"3rdparty".Extensions = {
|
|
||||||
"addon@darkreader.org" = {
|
|
||||||
permissions = ["internal:privateBrowsingAllowed"];
|
|
||||||
enabled = true;
|
|
||||||
automation = {
|
|
||||||
enabled = true;
|
|
||||||
behavior = "OnOff";
|
|
||||||
mode = "system";
|
|
||||||
};
|
|
||||||
detectDarkTheme = true;
|
|
||||||
enabledByDefault = true;
|
|
||||||
changeBrowserTheme = false;
|
|
||||||
enableForProtectedPages = true;
|
|
||||||
fetchNews = false;
|
|
||||||
previewNewDesign = true;
|
|
||||||
};
|
|
||||||
"uBlock0@raymondhill.net" = {
|
|
||||||
permissions = ["internal:privateBrowsingAllowed"];
|
|
||||||
advancedSettings = [
|
|
||||||
[
|
|
||||||
"userResourcesLocation"
|
|
||||||
"https://raw.githubusercontent.com/pixeltris/TwitchAdSolutions/master/video-swap-new/video-swap-new-ublock-origin.js"
|
|
||||||
]
|
|
||||||
];
|
|
||||||
adminSettings = {
|
|
||||||
userSettings = {
|
|
||||||
uiTheme = "dark";
|
|
||||||
advancedUserEnabled = true;
|
|
||||||
userFiltersTrusted = true;
|
|
||||||
importedLists = [
|
|
||||||
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
|
|
||||||
];
|
|
||||||
selectedFilterLists = [
|
|
||||||
"FRA-0"
|
|
||||||
"adguard-cookies"
|
|
||||||
"adguard-mobile-app-banners"
|
|
||||||
"adguard-other-annoyances"
|
|
||||||
"adguard-popup-overlays"
|
|
||||||
"adguard-social"
|
|
||||||
"adguard-spyware-url"
|
|
||||||
"adguard-widgets"
|
|
||||||
"easylist"
|
|
||||||
"easylist-annoyances"
|
|
||||||
"easylist-chat"
|
|
||||||
"easylist-newsletters"
|
|
||||||
"easylist-notifications"
|
|
||||||
"easyprivacy"
|
|
||||||
"fanboy-cookiemonster"
|
|
||||||
"https://filters.adtidy.org/extension/ublock/filters/3.txt"
|
|
||||||
"https://github.com/DandelionSprout/adfilt/raw/master/LegitimateURLShortener.txt"
|
|
||||||
"plowe-0"
|
|
||||||
"ublock-annoyances"
|
|
||||||
"ublock-badware"
|
|
||||||
"ublock-cookies-adguard"
|
|
||||||
"ublock-cookies-easylist"
|
|
||||||
"ublock-filters"
|
|
||||||
"ublock-privacy"
|
|
||||||
"ublock-quick-fixes"
|
|
||||||
"ublock-unbreak"
|
|
||||||
"urlhaus-1"
|
|
||||||
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
profiles = {
|
profiles = {
|
||||||
nezia = {
|
nezia = {
|
||||||
settings = {
|
settings = {
|
||||||
|
"browser.urlbar.suggest.searches" = true;
|
||||||
"browser.search.suggest.enabled" = true;
|
"browser.search.suggest.enabled" = true;
|
||||||
"ui.key.menuAccessKeyFocuses" = false;
|
"ui.key.menuAccessKeyFocuses" = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
|
||||||
darkreader
|
|
||||||
proton-pass
|
|
||||||
shinigami-eyes
|
|
||||||
stylus
|
|
||||||
ublock-origin
|
|
||||||
violentmonkey
|
|
||||||
];
|
|
||||||
# https://git.jacekpoz.pl/poz/niksos/src/commit/a48647a1c5bc6877a1100a65f4dc169b2fc11ed7/hosts/hape/firefox.nix
|
# https://git.jacekpoz.pl/poz/niksos/src/commit/a48647a1c5bc6877a1100a65f4dc169b2fc11ed7/hosts/hape/firefox.nix
|
||||||
search = {
|
search = {
|
||||||
default = "SearxNG";
|
default = "SearxNG";
|
||||||
engines = {
|
engines = {
|
||||||
"SearxNG" = {
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
rels = ["results"];
|
|
||||||
template = "https://search.nezia.dev/search";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "q";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
rels = ["suggestions"];
|
|
||||||
template = "https://search.nezia.dev/autocompleter";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "q";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
"type" = "application/x-suggestions+json";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
iconUpdateURL = "https://search.nezia.dev/favicon.ico";
|
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
|
||||||
definedAliases = ["@s"];
|
|
||||||
};
|
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [
|
urls = [
|
||||||
{
|
{
|
||||||
|
@ -161,30 +47,50 @@ in {
|
||||||
"NixOS Wiki" = {
|
"NixOS Wiki" = {
|
||||||
urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}];
|
urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}];
|
||||||
iconUpdateURL = "https://wiki.nixos.org/favicon.ico";
|
iconUpdateURL = "https://wiki.nixos.org/favicon.ico";
|
||||||
updateInterval = 24 * 60 * 60 * 1000;
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
definedAliases = ["@nw"];
|
definedAliases = ["@nw"];
|
||||||
};
|
};
|
||||||
"NixOS Options" = {
|
"Home Manager Options" = {
|
||||||
urls = [{template = "https://search.nixos.org/options?channel=unstable&type=packages&query={searchTerms}";}];
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
definedAliases = ["@no"];
|
|
||||||
};
|
|
||||||
"Noogle" = {
|
|
||||||
urls = [{template = "https://noogle.dev/q?term={searchTerms}";}];
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
definedAliases = ["@ng"];
|
|
||||||
};
|
|
||||||
"Home Manager" = {
|
|
||||||
urls = [{template = "https://home-manager-options.extranix.com/?release=master&query={searchTerms}";}];
|
urls = [{template = "https://home-manager-options.extranix.com/?release=master&query={searchTerms}";}];
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = ["@hm"];
|
definedAliases = ["@hm"];
|
||||||
};
|
};
|
||||||
|
"Arch Wiki" = {
|
||||||
|
urls = [{template = "https://wiki.archlinux.org/index.php?search={searchTerms}";}];
|
||||||
|
icon = "https://archlinux.org/favicon.ico";
|
||||||
|
definedAliases = ["@aw"];
|
||||||
|
};
|
||||||
|
"SearxNG" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
rels = ["results"];
|
||||||
|
template = "https://searx.tiekoetter.com/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
rels = ["suggestions"];
|
||||||
|
template = "https://searx.tiekoetter.com/autocompleter";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
"type" = "application/x-suggestions+json";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@sx"];
|
||||||
|
};
|
||||||
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# https://github.com/oddlama/nix-config/blob/main/users/myuser/graphical/firefox.nix#L53-L57
|
# https://github.com/oddlama/nix-config/blob/main/users/myuser/graphical/firefox.nix#L53-L57
|
||||||
extraConfig = builtins.concatStringsSep "\n" [
|
extraConfig = builtins.concatStringsSep "\n" [
|
||||||
(builtins.readFile "${betterfox}/user.js")
|
|
||||||
(builtins.readFile "${betterfox}/Securefox.js")
|
(builtins.readFile "${betterfox}/Securefox.js")
|
||||||
(builtins.readFile "${betterfox}/Fastfox.js")
|
(builtins.readFile "${betterfox}/Fastfox.js")
|
||||||
(builtins.readFile "${betterfox}/Peskyfox.js")
|
(builtins.readFile "${betterfox}/Peskyfox.js")
|
||||||
|
|
|
@ -35,9 +35,5 @@
|
||||||
nautilus
|
nautilus
|
||||||
simple-scan
|
simple-scan
|
||||||
entr
|
entr
|
||||||
# inputs.self.packages.${pkgs.system}.mcuxpresso.ide
|
|
||||||
# dfu-util
|
|
||||||
# segger-jlink
|
|
||||||
# inputs.self.packages.${pkgs.system}.mcuxpresso.config-tools
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
inherit (lib) getExe;
|
||||||
|
in {
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -60,10 +60,6 @@
|
||||||
|
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
|
|
||||||
utility = {
|
|
||||||
vim-wakatime.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
lsp = {
|
lsp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lspSignature.enable = true;
|
lspSignature.enable = true;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
osConfig,
|
nixosConfig,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
font = "monospace:size=14";
|
font = "monospace:size=14";
|
||||||
};
|
};
|
||||||
colors = let
|
colors = let
|
||||||
inherit (inputs.basix.schemeData.base16.${osConfig.theme.scheme}) palette;
|
inherit (inputs.basix.schemeData.base16.${nixosConfig.style.scheme}) palette;
|
||||||
in {
|
in {
|
||||||
background = "${palette.base00}ff";
|
background = "${palette.base00}ff";
|
||||||
text = "${palette.base05}ff";
|
text = "${palette.base05}ff";
|
||||||
|
|
|
@ -3,19 +3,17 @@
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = [
|
home.packages = with pkgs; [
|
||||||
pkgs.bottles
|
protonup-qt
|
||||||
pkgs.lutris
|
bottles
|
||||||
pkgs.mangohud
|
lutris
|
||||||
pkgs.path-of-building
|
path-of-building
|
||||||
pkgs.protonplus
|
r2modman
|
||||||
pkgs.r2modman
|
|
||||||
|
|
||||||
# steamtinkerlaunch dependencies
|
# steamtinkerlaunch dependencies
|
||||||
pkgs.xdotool
|
xdotool
|
||||||
pkgs.xorg.xwininfo
|
xorg.xwininfo
|
||||||
pkgs.yad
|
yad
|
||||||
|
|
||||||
inputs.self.packages.${pkgs.system}.bolt-launcher
|
|
||||||
];
|
];
|
||||||
|
programs.mangohud.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
isDark = inputs.basix.schemeData.base16.${osConfig.theme.scheme}.variant == "dark";
|
isDark = inputs.basix.schemeData.base16.${osConfig.style.scheme}.variant == "dark";
|
||||||
in {
|
in {
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
inherit (osConfig.theme.cursorTheme) name package size;
|
inherit (osConfig.style.cursorTheme) name package size;
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
x11.enable = true;
|
x11.enable = true;
|
||||||
};
|
};
|
||||||
|
@ -35,11 +35,11 @@ in {
|
||||||
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
inherit (osConfig.theme.gtk.iconTheme) name package;
|
inherit (osConfig.style.gtk.iconTheme) name package;
|
||||||
};
|
};
|
||||||
|
|
||||||
theme = lib.mkIf (!osConfig.services.xserver.desktopManager.gnome.enable) {
|
theme = lib.mkIf (!osConfig.services.xserver.desktopManager.gnome.enable) {
|
||||||
inherit (osConfig.theme.gtk.theme) name package;
|
inherit (osConfig.style.gtk.theme) name package;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
|
|
|
@ -6,13 +6,11 @@
|
||||||
}: let
|
}: let
|
||||||
appLauncher = "fuzzel";
|
appLauncher = "fuzzel";
|
||||||
terminal = "foot";
|
terminal = "foot";
|
||||||
browser = "firefox";
|
|
||||||
prefix = "Alt";
|
prefix = "Alt";
|
||||||
in {
|
in {
|
||||||
programs.niri.settings.binds = {
|
programs.niri.settings.binds = {
|
||||||
"${prefix}+D".action.spawn = appLauncher;
|
"${prefix}+D".action.spawn = appLauncher;
|
||||||
"${prefix}+Return".action.spawn = terminal;
|
"${prefix}+Return".action.spawn = terminal;
|
||||||
"${prefix}+W".action.spawn = browser;
|
|
||||||
"${prefix}+Shift+E".action.quit.skip-confirmation = true;
|
"${prefix}+Shift+E".action.quit.skip-confirmation = true;
|
||||||
"${prefix}+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
"${prefix}+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
||||||
"${prefix}+Q".action = config.lib.niri.actions.close-window;
|
"${prefix}+Q".action = config.lib.niri.actions.close-window;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
osConfig,
|
osConfig,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
colors = inputs.basix.schemeData.base16.${osConfig.theme.scheme}.palette;
|
colors = inputs.basix.schemeData.base16.${osConfig.style.scheme}.palette;
|
||||||
in {
|
in {
|
||||||
imports = [./binds.nix];
|
imports = [./binds.nix];
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
osConfig,
|
nixosConfig,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
systemd.user.services.swaybg = {
|
systemd.user.services.swaybg = {
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
PartOf = ["graphical-session.target"];
|
PartOf = ["graphical-session.target"];
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "${lib.getExe pkgs.swaybg} -i ${osConfig.theme.wallpaper} -m fill";
|
ExecStart = "${lib.getExe pkgs.swaybg} -i ${nixosConfig.style.wallpaper} -m fill";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
Install.WantedBy = ["graphical-session.target"];
|
Install.WantedBy = ["graphical-session.target"];
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
osConfig,
|
nixosConfig,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (inputs.basix.schemeData.base16.${osConfig.theme.scheme}) palette;
|
inherit (inputs.basix.schemeData.base16.${nixosConfig.style.scheme}) palette;
|
||||||
in {
|
in {
|
||||||
# requires `security.pam.services.swaylock = { };` at the system level or else
|
# requires `security.pam.services.swaylock = { };` at the system level or else
|
||||||
# unlock will not work.
|
# unlock will not work.
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
_: {
|
||||||
services.udiskie.enable = true;
|
services.udiskie.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "hx";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
osConfig,
|
nixosConfig,
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
shell = "${lib.getExe config.programs.fish.package}";
|
shell = "${lib.getExe config.programs.fish.package}";
|
||||||
};
|
};
|
||||||
colors = let
|
colors = let
|
||||||
schemeData = inputs.basix.schemeData.base16.${osConfig.theme.scheme};
|
schemeData = inputs.basix.schemeData.base16.${nixosConfig.style.scheme};
|
||||||
in {
|
in {
|
||||||
background = schemeData.palette.base00;
|
background = schemeData.palette.base00;
|
||||||
foreground = schemeData.palette.base05;
|
foreground = schemeData.palette.base05;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
programs.wezterm = {
|
programs.wezterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = inputs.wezterm.packages.${pkgs.system}.default;
|
# package = inputs.wezterm.packages.${pkgs.system}.default;
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
./tmux.nix
|
./tmux.nix
|
||||||
./direnv.nix
|
./direnv.nix
|
||||||
./zellij.nix
|
./zellij.nix
|
||||||
./nix-index.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
programs = {
|
programs = {
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{inputs, ...}: {
|
|
||||||
imports = [inputs.nix-index-db.hmModules.nix-index];
|
|
||||||
programs = {
|
|
||||||
nix-index = {
|
|
||||||
enable = true;
|
|
||||||
symlinkToCacheHome = true; # needed for comma
|
|
||||||
};
|
|
||||||
command-not-found.enable = false;
|
|
||||||
nix-index-database.comma.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
programs.zellij = {
|
programs.zellij = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -14,10 +14,6 @@
|
||||||
name = "fzf";
|
name = "fzf";
|
||||||
inherit (pkgs.fishPlugins.fzf) src;
|
inherit (pkgs.fishPlugins.fzf) src;
|
||||||
}
|
}
|
||||||
{
|
|
||||||
name = "autopair";
|
|
||||||
inherit (pkgs.fishPlugins.autopair) src;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableTransience = true;
|
enableTransience = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = false;
|
enableBashIntegration = false;
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
# 💻 Hosts
|
|
||||||
|
|
||||||
This directory contains the entry points for different NixOS system configurations. Each host represents a complete system configuration, combining NixOS system settings and Home Manager configurations.
|
|
||||||
|
|
||||||
## Components
|
|
||||||
|
|
||||||
### default.nix
|
|
||||||
|
|
||||||
The `default.nix` file in each host directory serves as the main entry point for the system configuration. It:
|
|
||||||
|
|
||||||
- Sets up NixOS configurations
|
|
||||||
- Sets up Home Manager configurations
|
|
||||||
- References host-specific module declarations
|
|
||||||
|
|
||||||
### modules/
|
|
||||||
|
|
||||||
The `modules/` directory contains host-specific declarations for custom modules that are defined in the flake's `nixosModules` output. This so far only includes global theme / style related declarations.
|
|
||||||
|
|
||||||
## Adding a New Host
|
|
||||||
|
|
||||||
1. Create a new directory for the host
|
|
||||||
2. Add a `hardware-configuration.nix` generated with `nixos-generate-config`
|
|
||||||
3. Add a `default.nix` that imports the desired configurations
|
|
||||||
4. Create host-specific module declarations in the `modules/` subdirectory to customize the global modules as needed
|
|
||||||
5. Reference the new host in `hosts/default.nix`
|
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
self,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
mod = "${self}/system";
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./networking.nix # generated at runtime by nixos-infect
|
|
||||||
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
|
|
||||||
"${mod}/services/forgejo.nix"
|
|
||||||
"${mod}/services/searx.nix"
|
|
||||||
"${mod}/services/portfolio.nix"
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.tmp.cleanOnBoot = true;
|
|
||||||
zramSwap.enable = true;
|
|
||||||
networking.hostName = "anastacia";
|
|
||||||
networking.domain = "";
|
|
||||||
services.openssh.enable = true;
|
|
||||||
users.users.root.openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEzs7SQH0Vjt9JHoXXmWy9fPU1I3rrRWV5magZFrI5al"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHKEPlN/GU9nJZPleA77HH5NA+6vyhhM84fTSjEwnEgq"
|
|
||||||
];
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{modulesPath, ...}: {
|
|
||||||
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
|
||||||
boot = {
|
|
||||||
loader.grub.device = "/dev/sda";
|
|
||||||
initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
|
|
||||||
initrd.kernelModules = ["nvme"];
|
|
||||||
};
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/sda1";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
{lib, ...}: {
|
|
||||||
# This file was populated at runtime with the networking
|
|
||||||
# details gathered from the active system.
|
|
||||||
networking = {
|
|
||||||
nameservers = [
|
|
||||||
"8.8.8.8"
|
|
||||||
];
|
|
||||||
defaultGateway = "172.31.1.1";
|
|
||||||
defaultGateway6 = {
|
|
||||||
address = "fe80::1";
|
|
||||||
interface = "eth0";
|
|
||||||
};
|
|
||||||
dhcpcd.enable = false;
|
|
||||||
usePredictableInterfaceNames = lib.mkForce false;
|
|
||||||
interfaces = {
|
|
||||||
eth0 = {
|
|
||||||
ipv4.addresses = [
|
|
||||||
{
|
|
||||||
address = "78.47.146.254";
|
|
||||||
prefixLength = 32;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = [
|
|
||||||
{
|
|
||||||
address = "2a01:4f8:1c1c:8495::1";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
address = "fe80::9400:3ff:fecb:6deb";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv4.routes = [
|
|
||||||
{
|
|
||||||
address = "172.31.1.1";
|
|
||||||
prefixLength = 32;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.routes = [
|
|
||||||
{
|
|
||||||
address = "fe80::1";
|
|
||||||
prefixLength = 128;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
ATTR{address}=="96:00:03:cb:6d:eb", NAME="eth0"
|
|
||||||
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,33 +1,49 @@
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
inputs,
|
inputs,
|
||||||
lib',
|
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
inherit (lib') mkSystem;
|
flake.nixosConfigurations = let
|
||||||
|
inherit (inputs.nixpkgs.lib) nixosSystem;
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs self;
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
vamos = mkSystem {
|
vamos = nixosSystem {
|
||||||
system = "x86_64-linux";
|
inherit specialArgs;
|
||||||
modules = [
|
modules = [
|
||||||
./vamos
|
./vamos
|
||||||
|
|
||||||
inputs.self.nixosModules.theme
|
self.nixosModules.style
|
||||||
|
|
||||||
|
({pkgs, ...}: {
|
||||||
|
style = let
|
||||||
|
wallpaper = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/e0cf0eb237dc5baba86661a3572b20a6183c1876/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.png?raw=true";
|
||||||
|
hash = "sha256-/HAtpGwLxjNfJvX5/4YZfM8jPNStaM3gisK8+ImRmQ4=";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
gtk.enable = true;
|
||||||
|
inherit wallpaper;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
solaire = mkSystem {
|
solaire = nixosSystem {
|
||||||
system = "x86_64-linux";
|
inherit specialArgs;
|
||||||
modules = [
|
modules = [
|
||||||
./solaire
|
./solaire
|
||||||
inputs.self.nixosModules.theme
|
self.nixosModules.style
|
||||||
];
|
{
|
||||||
};
|
style = {
|
||||||
|
gtk.enable = false;
|
||||||
anastacia = mkSystem {
|
wallpaper = ../wallpapers/lucy-edgerunners-wallpaper.jpg;
|
||||||
system = "x86_64-linux";
|
};
|
||||||
modules = [
|
}
|
||||||
./anastacia
|
];
|
||||||
];
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,25 +1,26 @@
|
||||||
{specialArgs, ...}: let
|
{
|
||||||
system = ../../system;
|
self,
|
||||||
home = ../../home;
|
specialArgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
mod = "${self}/system";
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./modules
|
|
||||||
|
|
||||||
system
|
"${mod}"
|
||||||
"${system}/hardware/uni-sync.nix"
|
"${mod}/hardware/uni-sync.nix"
|
||||||
|
|
||||||
"${system}/programs/gnome.nix"
|
"${mod}/programs/gnome.nix"
|
||||||
"${system}/programs/games.nix"
|
"${mod}/programs/games.nix"
|
||||||
"${system}/hardware/nvidia.nix"
|
"${mod}/hardware/nvidia.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
users.nezia.imports = [
|
users.nezia.imports = [
|
||||||
home
|
"${self}/home"
|
||||||
"${home}/programs/games"
|
|
||||||
|
|
||||||
"${home}/terminal/emulators/foot.nix"
|
"${self}/home/terminal/emulators/foot.nix"
|
||||||
];
|
];
|
||||||
extraSpecialArgs = specialArgs;
|
extraSpecialArgs = specialArgs;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
imports = [./theme.nix];
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
theme.wallpaper = ../../wallpapers/lucy-edgerunners-wallpaper.jpg;
|
|
||||||
}
|
|
|
@ -7,7 +7,6 @@
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./modules
|
|
||||||
|
|
||||||
"${mod}"
|
"${mod}"
|
||||||
"${mod}/core/lanzaboote.nix"
|
"${mod}/core/lanzaboote.nix"
|
||||||
|
@ -15,10 +14,10 @@ in {
|
||||||
"${mod}/hardware/fprintd.nix"
|
"${mod}/hardware/fprintd.nix"
|
||||||
"${mod}/services/power.nix"
|
"${mod}/services/power.nix"
|
||||||
"${mod}/services/brightness.nix"
|
"${mod}/services/brightness.nix"
|
||||||
|
"${mod}/services/keyd.nix"
|
||||||
|
|
||||||
"${mod}/services/logind.nix"
|
"${mod}/services/logind.nix"
|
||||||
"${mod}/services/greetd.nix"
|
"${mod}/services/greetd.nix"
|
||||||
"${mod}/services/kanata.nix"
|
|
||||||
|
|
||||||
"${mod}/programs/niri"
|
"${mod}/programs/niri"
|
||||||
"${mod}/services/gnome.nix"
|
"${mod}/services/gnome.nix"
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
imports = [./theme.nix];
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
theme = {
|
|
||||||
wallpaper = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/e0cf0eb237dc5baba86661a3572b20a6183c1876/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.png?raw=true";
|
|
||||||
hash = "sha256-/HAtpGwLxjNfJvX5/4YZfM8jPNStaM3gisK8+ImRmQ4=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +1,8 @@
|
||||||
{
|
{
|
||||||
inputs,
|
pkgs,
|
||||||
lib',
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (inputs.nixpkgs) lib;
|
|
||||||
# convert rrggbb hex to rgba(r, g, b, a)
|
# convert rrggbb hex to rgba(r, g, b, a)
|
||||||
rgba = c: let
|
rgba = c: let
|
||||||
r = toString (hexToDec (builtins.substring 0 2 c));
|
r = toString (hexToDec (builtins.substring 0 2 c));
|
||||||
|
@ -87,25 +86,8 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
# Create a KDE konsole color scheme from base16 colors
|
# Create a KDE konsole color scheme from base16 colors
|
||||||
mkKonsoleColorScheme = pkgs: scheme:
|
mkKonsoleColorScheme = scheme:
|
||||||
pkgs.writeText "${scheme.name}.colorscheme" (schemeToKonsole scheme);
|
pkgs.writeText "${scheme.name}.colorscheme" (schemeToKonsole scheme);
|
||||||
|
|
||||||
# https://github.com/diniamo/niqs/blob/caf396bb470619fa06936a379eec6e283c3c3d95/lib/default.nix#L13-L35C7
|
|
||||||
mkSystem = {system, ...} @ args:
|
|
||||||
lib.nixosSystem {
|
|
||||||
system = null;
|
|
||||||
specialArgs = {inherit inputs;};
|
|
||||||
modules =
|
|
||||||
[
|
|
||||||
{
|
|
||||||
_module.args = {
|
|
||||||
inherit system lib';
|
|
||||||
};
|
|
||||||
nixpkgs = {inherit system;};
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ args.modules or [];
|
|
||||||
};
|
|
||||||
in {
|
in {
|
||||||
inherit mkKonsoleColorScheme rgba mkSystem;
|
inherit mkKonsoleColorScheme rgba;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
{
|
{
|
||||||
theme = import ./theme;
|
flake.nixosModules = {
|
||||||
|
style = import ./style;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
inherit (lib.types) string path package;
|
inherit (lib.types) string path package;
|
||||||
in {
|
in {
|
||||||
imports = [./gtk.nix];
|
imports = [./gtk.nix];
|
||||||
options.theme = {
|
options.style = {
|
||||||
scheme = mkOption {
|
scheme = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
Name of the tinted-scheming color scheme to use.
|
Name of the tinted-scheming color scheme to use.
|
||||||
|
@ -22,10 +22,6 @@ in {
|
||||||
'';
|
'';
|
||||||
type = path;
|
type = path;
|
||||||
example = lib.literalExpression "./wallpaper.png";
|
example = lib.literalExpression "./wallpaper.png";
|
||||||
default = pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/e0cf0eb237dc5baba86661a3572b20a6183c1876/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.png?raw=true";
|
|
||||||
hash = "sha256-/HAtpGwLxjNfJvX5/4YZfM8jPNStaM3gisK8+ImRmQ4=";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
cursorTheme = {
|
cursorTheme = {
|
|
@ -8,9 +8,9 @@
|
||||||
inherit (lib) mkOption mkEnableOption;
|
inherit (lib) mkOption mkEnableOption;
|
||||||
inherit (lib.types) package str;
|
inherit (lib.types) package str;
|
||||||
|
|
||||||
cfg = config.theme.gtk;
|
cfg = config.style.gtk;
|
||||||
in {
|
in {
|
||||||
options.theme.gtk = {
|
options.style.gtk = {
|
||||||
enable = mkEnableOption "enable GTK theming options";
|
enable = mkEnableOption "enable GTK theming options";
|
||||||
theme = {
|
theme = {
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
|
@ -57,7 +57,7 @@ in {
|
||||||
${toString themePath} set by the GTK module does not exist!
|
${toString themePath} set by the GTK module does not exist!
|
||||||
|
|
||||||
To suppress this message, make sure that
|
To suppress this message, make sure that
|
||||||
`config.modules.theme.gtk.theme.package` contains
|
`config.modules.style.gtk.theme.package` contains
|
||||||
the path `${cfg.theme.name}`
|
the path `${cfg.theme.name}`
|
||||||
'';
|
'';
|
||||||
})
|
})
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
self,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
anastacia = {
|
|
||||||
hostname = "2a01:4f8:1c1c:8495::1";
|
|
||||||
profiles.system = {
|
|
||||||
sshUser = "root";
|
|
||||||
user = "root";
|
|
||||||
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.anastacia;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,208 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
makeWrapper,
|
|
||||||
cmake,
|
|
||||||
ninja,
|
|
||||||
libarchive,
|
|
||||||
libz,
|
|
||||||
jdk17,
|
|
||||||
libcef,
|
|
||||||
luajit,
|
|
||||||
xorg,
|
|
||||||
mesa,
|
|
||||||
glib,
|
|
||||||
nss,
|
|
||||||
nspr,
|
|
||||||
atk,
|
|
||||||
at-spi2-atk,
|
|
||||||
libdrm,
|
|
||||||
expat,
|
|
||||||
libxkbcommon,
|
|
||||||
gtk3,
|
|
||||||
pango,
|
|
||||||
cairo,
|
|
||||||
alsa-lib,
|
|
||||||
dbus,
|
|
||||||
at-spi2-core,
|
|
||||||
cups,
|
|
||||||
systemd,
|
|
||||||
buildFHSEnv,
|
|
||||||
copyDesktopItems,
|
|
||||||
makeDesktopItem,
|
|
||||||
}: let
|
|
||||||
cef = libcef.overrideAttrs (_: {
|
|
||||||
installPhase = let
|
|
||||||
gl_rpath = lib.makeLibraryPath [
|
|
||||||
stdenv.cc.cc.lib
|
|
||||||
];
|
|
||||||
rpath = lib.makeLibraryPath [
|
|
||||||
glib
|
|
||||||
nss
|
|
||||||
nspr
|
|
||||||
atk
|
|
||||||
at-spi2-atk
|
|
||||||
libdrm
|
|
||||||
expat
|
|
||||||
xorg.libxcb
|
|
||||||
libxkbcommon
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXdamage
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXrandr
|
|
||||||
mesa
|
|
||||||
gtk3
|
|
||||||
pango
|
|
||||||
cairo
|
|
||||||
alsa-lib
|
|
||||||
dbus
|
|
||||||
at-spi2-core
|
|
||||||
cups
|
|
||||||
xorg.libxshmfence
|
|
||||||
systemd
|
|
||||||
];
|
|
||||||
in ''
|
|
||||||
mkdir -p $out/lib/ $out/share/cef/
|
|
||||||
cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
|
|
||||||
cp -r ../Resources/* $out/lib/
|
|
||||||
cp -r ../Release/* $out/lib/
|
|
||||||
patchelf --set-rpath "${rpath}" $out/lib/libcef.so
|
|
||||||
patchelf --set-rpath "${gl_rpath}" $out/lib/libEGL.so
|
|
||||||
patchelf --set-rpath "${gl_rpath}" $out/lib/libGLESv2.so
|
|
||||||
cp ../Release/*.bin $out/share/cef/
|
|
||||||
cp -r ../Resources/* $out/share/cef/
|
|
||||||
cp -r ../include $out
|
|
||||||
cp -r ../libcef_dll $out
|
|
||||||
cp -r ../cmake $out
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
bolt = stdenv.mkDerivation (finalAttrs: {
|
|
||||||
pname = "bolt-launcher";
|
|
||||||
version = "0.10.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "AdamCake";
|
|
||||||
repo = "bolt";
|
|
||||||
rev = finalAttrs.version;
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-2IoFzD+yhQv1Y7D+abeNUT23BC4P1xZTALF8Y+Zsg44=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
cmake
|
|
||||||
ninja
|
|
||||||
luajit
|
|
||||||
makeWrapper
|
|
||||||
copyDesktopItems
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
mesa
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libxcb
|
|
||||||
libarchive
|
|
||||||
libz
|
|
||||||
cef
|
|
||||||
jdk17
|
|
||||||
];
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
inherit (bolt) name;
|
|
||||||
desktopName = "Bolt Launcher";
|
|
||||||
keywords = [
|
|
||||||
"Game"
|
|
||||||
];
|
|
||||||
exec = "${bolt.name}";
|
|
||||||
terminal = false;
|
|
||||||
categories = ["Game"];
|
|
||||||
icon = "bolt-launcher";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-D CMAKE_BUILD_TYPE=Release"
|
|
||||||
"-D BOLT_LUAJIT_INCLUDE_DIR=${luajit}/include"
|
|
||||||
"-G Ninja"
|
|
||||||
];
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
ls -al
|
|
||||||
mkdir -p cef/dist/Release cef/dist/Resources cef/dist/include
|
|
||||||
|
|
||||||
ln -s ${cef}/lib/* cef/dist/Release
|
|
||||||
|
|
||||||
ln -s ${cef}/share/cef/*.pak cef/dist/Resources
|
|
||||||
ln -s ${cef}/share/cef/icudtl.dat cef/dist/Resources
|
|
||||||
ln -s ${cef}/share/cef/locales cef/dist/Resources
|
|
||||||
|
|
||||||
ln -s ${cef}/include/* cef/dist/include
|
|
||||||
ln -s ${cef}/libcef_dll cef/dist/libcef_dll
|
|
||||||
|
|
||||||
ln -s ${cef}/cmake cef/dist/cmake
|
|
||||||
ln -s ${cef}/CMakeLists.txt cef/dist
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
for size in 16 32 64 128 256; do
|
|
||||||
size_dir="''${size}x''${size}"
|
|
||||||
ls -al $src/icon
|
|
||||||
mkdir -p $out/share/icons/hicolor/''${size_dir}/apps
|
|
||||||
cp $src/icon/$size.png $out/share/icons/hicolor/''${size_dir}/apps/bolt-launcher.png
|
|
||||||
done
|
|
||||||
mkdir -p $out/share/icons/hicolor/scalable/apps/
|
|
||||||
cp $src/icon/bolt.svg $out/share/icons/hicolor/scalable/apps/bolt-launcher.svg
|
|
||||||
'';
|
|
||||||
postFixup = ''
|
|
||||||
makeWrapper "$out/opt/bolt-launcher/bolt" "$out/bin/${finalAttrs.pname}-${finalAttrs.version}" \
|
|
||||||
--set JAVA_HOME "${jdk17}"
|
|
||||||
ls -al $out/bin
|
|
||||||
mkdir -p $out/lib
|
|
||||||
cp $out/usr/local/lib/libbolt-plugin.so $out/lib
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
in
|
|
||||||
buildFHSEnv {
|
|
||||||
inherit (bolt) name version;
|
|
||||||
|
|
||||||
targetPkgs = pkgs:
|
|
||||||
[bolt]
|
|
||||||
++ (with pkgs; [
|
|
||||||
xorg.libSM
|
|
||||||
xorg.libXxf86vm
|
|
||||||
xorg.libX11
|
|
||||||
glib
|
|
||||||
pango
|
|
||||||
cairo
|
|
||||||
gdk-pixbuf
|
|
||||||
gtk2-x11
|
|
||||||
libz
|
|
||||||
libcap
|
|
||||||
libsecret
|
|
||||||
openssl_1_1
|
|
||||||
SDL2
|
|
||||||
libGL
|
|
||||||
]);
|
|
||||||
|
|
||||||
extraInstallCommands = ''
|
|
||||||
mkdir -p $out/share/applications $out/share/icons
|
|
||||||
ln -s ${bolt}/share/applications/*.desktop \
|
|
||||||
$out/share/applications/
|
|
||||||
ln -s ${bolt}/share/icons/hicolor \
|
|
||||||
$out/share/icons/hicolor
|
|
||||||
'';
|
|
||||||
|
|
||||||
runScript = "${bolt.name}";
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/Adamcake/Bolt";
|
|
||||||
description = "An alternative launcher for RuneScape";
|
|
||||||
license = lib.licenses.agpl3Plus;
|
|
||||||
maintainers = with lib.maintainers; [nezia];
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
mainProgram = "${bolt.name}";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
mcuxpresso = import ./mcuxpresso pkgs;
|
|
||||||
# this is unfortunately needed since bolt-launcher makes use of openssl-1.1.1w, and since it is not part of hosts, we have to add it this way
|
|
||||||
bolt-launcher =
|
|
||||||
(import inputs.nixpkgs {
|
|
||||||
inherit (pkgs) system;
|
|
||||||
config.permittedInsecurePackages = ["openssl-1.1.1w"];
|
|
||||||
})
|
|
||||||
.callPackage
|
|
||||||
./bolt-launcher.nix {};
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
{
|
|
||||||
eclipses,
|
|
||||||
stdenv,
|
|
||||||
requireFile,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
name = "mcuxpressotools";
|
|
||||||
version = "v16-1";
|
|
||||||
description = "MCUXpresso Config Tools";
|
|
||||||
filename = "mcuxpresso-config-tools-${version}_amd64.deb";
|
|
||||||
|
|
||||||
src = stdenv.mkDerivation {
|
|
||||||
inherit version description;
|
|
||||||
name = "${name}-src";
|
|
||||||
src = requireFile {
|
|
||||||
url = "https://www.nxp.com/design/software/development-software/mcuxpresso-config-tools-pins-clocks-and-peripherals:MCUXpresso-Config-Tools";
|
|
||||||
name = "${filename}.bin";
|
|
||||||
sha256 = "sha256-BbEwxm1urV2IrgUiTiMBEAPvonQGwdL4fpqFftGgRxI=";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
# Unpack tarball.
|
|
||||||
mkdir -p deb
|
|
||||||
sh $src --target deb || true
|
|
||||||
ar -xv deb/${filename}
|
|
||||||
tar xfvz data.tar.gz -C .
|
|
||||||
|
|
||||||
mkdir -p ./final/eclipse
|
|
||||||
mv ./opt/nxp/MCUX_CFG_v13/bin/.* final/eclipse
|
|
||||||
mv ./usr final/
|
|
||||||
mv final/eclipse/tools final/eclipse/eclipse
|
|
||||||
mv final/eclipse/tools.ini final/eclipse/eclipse.ini
|
|
||||||
|
|
||||||
# Create custom .eclipseproduct file
|
|
||||||
echo "name=${name}
|
|
||||||
id=com.nxp.${name}
|
|
||||||
version=${version}
|
|
||||||
" > final/eclipse/.eclipseproduct
|
|
||||||
|
|
||||||
# Additional files
|
|
||||||
mkdir -p final/usr/share/mime
|
|
||||||
mv ./opt/nxp/MCUX_CFG_v13/mcu_data final/mcu_data
|
|
||||||
|
|
||||||
cd ./final
|
|
||||||
tar -czf $out ./
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
eclipses.buildEclipse {inherit description name src;}
|
|
|
@ -1,3 +0,0 @@
|
||||||
pkgs: {
|
|
||||||
ide = pkgs.callPackage ./ide.nix {};
|
|
||||||
}
|
|
|
@ -1,100 +0,0 @@
|
||||||
# https://github.com/KoviRobi/nixos-config/blob/3ab3f8372d1fd021a235de4d314ef7147846513e/overlays/mcuxpresso.nix
|
|
||||||
{pkgs, ...}: let
|
|
||||||
name = "mcuxpressoide";
|
|
||||||
version = "24.9.25";
|
|
||||||
description = "MCUXpresso IDE";
|
|
||||||
filename = "${name}-${version}.x86_64.deb";
|
|
||||||
mcuxpressoideSrc = pkgs.stdenv.mkDerivation {
|
|
||||||
inherit version description;
|
|
||||||
name = "${name}-src";
|
|
||||||
src = pkgs.requireFile {
|
|
||||||
url = "https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE";
|
|
||||||
name = "${filename}.bin";
|
|
||||||
hash = "sha256-e3g7rzZQ1WFLcUakkjaufpHMtw3qkw5lwxJuCKs6L+k=";
|
|
||||||
};
|
|
||||||
buildCommand = ''
|
|
||||||
# Unpack tarball.
|
|
||||||
mkdir -p deb
|
|
||||||
sh $src --target deb || true
|
|
||||||
ar -xv deb/${filename}
|
|
||||||
tar xfvz data.tar.gz -C .
|
|
||||||
mkdir -p ./final/eclipse
|
|
||||||
mv ./usr/local/${name}-${version}/ide/* ./usr/local/${name}-${version}/ide/.* final/eclipse
|
|
||||||
mv final/eclipse/mcuxpressoide final/eclipse/eclipse
|
|
||||||
mv final/eclipse/mcuxpressoide.ini final/eclipse/eclipse.ini
|
|
||||||
# Create custom .eclipseproduct file
|
|
||||||
rm final/eclipse/.eclipseproduct
|
|
||||||
echo "name=${name}
|
|
||||||
id=com.nxp.${name}
|
|
||||||
version=${version}
|
|
||||||
" > final/eclipse/.eclipseproduct
|
|
||||||
# Install udev rules
|
|
||||||
mkdir -p final/lib/udev/rules.d
|
|
||||||
mv ./lib/udev/rules.d/56-pemicro.rules ./lib/udev/rules.d/85-mcuxpresso.rules final/lib/udev/rules.d/
|
|
||||||
# Additional files
|
|
||||||
mv ./usr/local/${name}-${version}/mcu_data final/mcu_data
|
|
||||||
cd ./final
|
|
||||||
tar -czf $out ./
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
mcuxpressoide = pkgs.eclipses.buildEclipse {
|
|
||||||
name = "mcuxpresso-eclipse";
|
|
||||||
inherit description;
|
|
||||||
src = mcuxpressoideSrc;
|
|
||||||
};
|
|
||||||
|
|
||||||
# needed because of the integrated toolchain
|
|
||||||
mcuxpressoFhsEnv = pkgs.buildFHSEnv {
|
|
||||||
name = "mcuxpresso-env";
|
|
||||||
targetPkgs = pkgs: [
|
|
||||||
pkgs.stdenv.cc.cc.lib
|
|
||||||
pkgs.gcc
|
|
||||||
pkgs.libgcc
|
|
||||||
pkgs.libstdcxx5
|
|
||||||
pkgs.xorg.libXext
|
|
||||||
pkgs.xorg.libX11
|
|
||||||
pkgs.xorg.libXrender
|
|
||||||
pkgs.xorg.libXtst
|
|
||||||
pkgs.xorg.libXi
|
|
||||||
pkgs.freetype
|
|
||||||
pkgs.alsa-lib
|
|
||||||
pkgs.ncurses
|
|
||||||
pkgs.ncurses5
|
|
||||||
pkgs.libusb1
|
|
||||||
pkgs.readline
|
|
||||||
pkgs.libffi
|
|
||||||
pkgs.zlib
|
|
||||||
pkgs.tcl
|
|
||||||
pkgs.libxcrypt
|
|
||||||
pkgs.libxcrypt-legacy
|
|
||||||
pkgs.libusb-compat-0_1
|
|
||||||
];
|
|
||||||
|
|
||||||
runScript = "${mcuxpressoide}/bin/eclipse";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
# wrapper with desktop entry and udev rules
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
inherit name version description;
|
|
||||||
dontUnpack = true;
|
|
||||||
dontConfigure = true;
|
|
||||||
dontBuild = true;
|
|
||||||
nativeBuildInputs = [pkgs.copyDesktopItems];
|
|
||||||
desktopItems = [
|
|
||||||
(pkgs.makeDesktopItem {
|
|
||||||
inherit name;
|
|
||||||
type = "Application";
|
|
||||||
desktopName = "MCUXpresso IDE";
|
|
||||||
exec = "mcuxpresso";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
mkdir -p $out/bin $out/lib/udev/rules.d $out/eclipse $out/mcu_data
|
|
||||||
|
|
||||||
cp ${mcuxpressoide}/lib/udev/rules.d/85-mcuxpresso.rules ${mcuxpressoide}/lib/udev/rules.d/56-pemicro.rules $out/lib/udev/rules.d/
|
|
||||||
|
|
||||||
ln -s ${mcuxpressoFhsEnv}/bin/mcuxpresso-env $out/bin/mcuxpresso
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
}
|
|
Binary file not shown.
|
@ -1,5 +0,0 @@
|
||||||
let
|
|
||||||
anastacia = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEplguGeXCbdz++Ry5pwJylmtAMnwtf1+9JoJnCGfw3A root@anastacia";
|
|
||||||
in {
|
|
||||||
"searx-env-file.age".publicKeys = [anastacia];
|
|
||||||
}
|
|
|
@ -4,6 +4,7 @@
|
||||||
./users.nix
|
./users.nix
|
||||||
./security.nix
|
./security.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
|
../nix
|
||||||
];
|
];
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
"audio"
|
"audio"
|
||||||
"video"
|
"video"
|
||||||
"wheel"
|
"wheel"
|
||||||
"plugdev"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./core
|
./core
|
||||||
./nix
|
|
||||||
|
|
||||||
./hardware/printing.nix
|
./hardware/printing.nix
|
||||||
./hardware/fwupd.nix
|
./hardware/fwupd.nix
|
||||||
|
|
|
@ -1,11 +1,33 @@
|
||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
|
# Modesetting is required.
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
powerManagement.finegrained = false;
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||||
open = false;
|
open = false;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
# accessible via `nvidia-settings`.
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config.allowUnfree = true;
|
||||||
allowUnfree = true;
|
overlays = [
|
||||||
permittedInsecurePackages = [
|
(_: prev: {
|
||||||
"cinny-4.2.2"
|
lib =
|
||||||
"cinny-unwrapped-4.2.2"
|
prev.lib
|
||||||
"segger-jlink-qt4-796s"
|
// import ../../lib {
|
||||||
];
|
inherit (prev) lib pkgs;
|
||||||
segger-jlink.acceptLicense = true;
|
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
config.permittedInsecurePackages = ["cinny-4.2.2" "cinny-unwrapped-4.2.2"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
noto-fonts-extra
|
noto-fonts-extra
|
||||||
(nerdfonts.override {fonts = ["IntelOneMono"];})
|
(nerdfonts.override {fonts = ["IntelOneMono"];})
|
||||||
|
|
|
@ -1,9 +1,21 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
programs = {
|
programs = {
|
||||||
steam.enable = true;
|
steam = {
|
||||||
gamemode.enable = true;
|
enable = true;
|
||||||
gamescope.enable = true;
|
gamescopeSession.enable = true;
|
||||||
|
extraCompatPackages = [
|
||||||
|
pkgs.proton-ge-bin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
gamemode = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
softrealtime = "auto";
|
||||||
|
renice = 15;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
coolercontrol = {
|
coolercontrol = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nvidiaSupport = true;
|
nvidiaSupport = true;
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
imports = [
|
imports = [./docker.nix ./gnupg.nix ./pipewire.nix ./kmscon.nix];
|
||||||
./docker.nix
|
|
||||||
./gnupg.nix
|
|
||||||
./pipewire.nix
|
|
||||||
./kmscon.nix
|
|
||||||
];
|
|
||||||
services.udev.packages = [pkgs.segger-jlink];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{pkgs, ...}: {
|
_: {
|
||||||
virtualisation.podman = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dockerCompat = true;
|
rootless = {
|
||||||
|
enable = true;
|
||||||
|
setSocketVariable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [pkgs.distrobox];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
srv = config.services.forgejo.settings.server;
|
|
||||||
in {
|
|
||||||
services = {
|
|
||||||
forgejo = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.forgejo;
|
|
||||||
lfs.enable = true;
|
|
||||||
database.type = "postgres";
|
|
||||||
dump = {
|
|
||||||
enable = true;
|
|
||||||
type = "tar.xz";
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
server = {
|
|
||||||
DOMAIN = "git.nezia.dev";
|
|
||||||
HTTP_PORT = 1849;
|
|
||||||
ROOT_URL = "https://${srv.DOMAIN}/";
|
|
||||||
HTTP_ADDR = "localhost";
|
|
||||||
};
|
|
||||||
service = {
|
|
||||||
DISABLE_REGISTRATION = true;
|
|
||||||
};
|
|
||||||
federation = {
|
|
||||||
ENABLED = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
caddy = {
|
|
||||||
enable = true;
|
|
||||||
virtualHosts."git.nezia.dev".extraConfig = ''
|
|
||||||
reverse_proxy * localhost:${toString srv.HTTP_PORT}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [80 443];
|
|
||||||
|
|
||||||
# If you're using nftables (default in newer NixOS)
|
|
||||||
extraForwardRules = ''
|
|
||||||
ip6 saddr { ::/0 } accept
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Ensure IPv6 is enabled
|
|
||||||
networking.enableIPv6 = true;
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
services.kanata = {
|
|
||||||
enable = true;
|
|
||||||
keyboards.default = {
|
|
||||||
extraDefCfg = "process-unmapped-keys yes";
|
|
||||||
config = ''
|
|
||||||
(defsrc
|
|
||||||
caps a s d f j k l ;
|
|
||||||
)
|
|
||||||
(defvar
|
|
||||||
tap-time 150
|
|
||||||
hold-time 200
|
|
||||||
)
|
|
||||||
|
|
||||||
(defalias
|
|
||||||
escctrl (tap-hold 100 100 esc lctl)
|
|
||||||
a (tap-hold $tap-time $hold-time a lmet)
|
|
||||||
s (tap-hold $tap-time $hold-time s lalt)
|
|
||||||
d (tap-hold $tap-time $hold-time d lsft)
|
|
||||||
f (tap-hold $tap-time $hold-time f lctl)
|
|
||||||
j (tap-hold $tap-time $hold-time j rctl)
|
|
||||||
k (tap-hold $tap-time $hold-time k rsft)
|
|
||||||
l (tap-hold $tap-time $hold-time l ralt)
|
|
||||||
; (tap-hold $tap-time $hold-time ; rmet)
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflayer base
|
|
||||||
@escctrl @a @s @d @f @j @k @l @;
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
hardware.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
# rtkit is optional but recommended
|
# rtkit is optional but recommended
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.caddy.enable = true;
|
|
||||||
services.caddy.virtualHosts = {
|
|
||||||
"www.nezia.dev" = {
|
|
||||||
extraConfig = ''
|
|
||||||
redir https://nezia.dev{uri}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"nezia.dev" = {
|
|
||||||
extraConfig = ''
|
|
||||||
root * ${inputs.portfolio.packages.${pkgs.system}.default}
|
|
||||||
file_server
|
|
||||||
encode gzip
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
age.secrets.searx-env-file.file = ../../secrets/searx-env-file.age;
|
|
||||||
services = {
|
|
||||||
searx = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.searxng;
|
|
||||||
environmentFile = config.age.secrets.searx-env-file.path;
|
|
||||||
settings = {
|
|
||||||
search = {
|
|
||||||
safe_search = 1; # 0 = None, 1 = Moderate, 2 = Strict
|
|
||||||
autocomplete = "google"; # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off by default
|
|
||||||
default_lang = "en";
|
|
||||||
};
|
|
||||||
server = {
|
|
||||||
secret_key = "@SEARX_SECRET_KEY@";
|
|
||||||
port = 8888; # Internal port
|
|
||||||
bind_address = "localhost"; # Only listen locally
|
|
||||||
base_url = "https://search.nezia.dev/";
|
|
||||||
image_proxy = true;
|
|
||||||
default_http_headers = {
|
|
||||||
X-Content-Type-Options = "nosniff";
|
|
||||||
X-XSS-Protection = "1; mode=block";
|
|
||||||
X-Download-Options = "noopen";
|
|
||||||
X-Robots-Tag = "noindex, nofollow";
|
|
||||||
Referrer-Policy = "no-referrer";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
engines = [
|
|
||||||
{
|
|
||||||
name = "qwant";
|
|
||||||
disabled = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
caddy = {
|
|
||||||
enable = true;
|
|
||||||
virtualHosts."search.nezia.dev" = {
|
|
||||||
extraConfig = ''
|
|
||||||
encode gzip
|
|
||||||
reverse_proxy localhost:8888 {
|
|
||||||
header_up Host {host}
|
|
||||||
header_up X-Real-IP {remote_addr}
|
|
||||||
header_up X-Forwarded-For {remote_addr}
|
|
||||||
header_up X-Forwarded-Proto {scheme}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Open required ports
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPorts = [80 443]; # For Caddy
|
|
||||||
};
|
|
||||||
}
|
|
12
treefmt.nix
12
treefmt.nix
|
@ -1,10 +1,6 @@
|
||||||
{pkgs, ...}: {
|
# TODO: maybe use flake-parts
|
||||||
|
{...}: {
|
||||||
|
# Used to find the project root
|
||||||
projectRootFile = "flake.nix";
|
projectRootFile = "flake.nix";
|
||||||
programs = {
|
programs.alejandra.enable = true;
|
||||||
alejandra.enable = true;
|
|
||||||
prettier = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.prettierd;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue