move flake to own repository
104
.github/README.md
vendored
Normal file
|
|
@ -0,0 +1,104 @@
|
||||||
|
###### Disclaimer
|
||||||
|
|
||||||
|
You probably do not want to use this setup verbatim. This is made to fit my specific use cases, with some strings hardcoded and some niche settings that are not needed on most hosts. Also, nothing is ever stable here and changes are made on a daily basis.
|
||||||
|
|
||||||
|
That being said, there is a lot of general configuration that you *probably* can use without changes; if you only want to use this repository as a starting point for your own configuration, you should be fine. See below for more information. Also, if you see something that can be done more efficiently or better in general, please let me know! :)
|
||||||
|
|
||||||
|
# \~SwarselSystems\~
|
||||||
|
|
||||||
|
<img src="swarselsystems_preview.png"/>
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---------------|----------------------|
|
||||||
|
| **Shell:** | zsh |
|
||||||
|
| **DM:** | greetd |
|
||||||
|
| **WM:** | SwayFX |
|
||||||
|
| **Bar:** | Waybar |
|
||||||
|
| **Editor:** | Emacs |
|
||||||
|
| **Terminal:** | kitty |
|
||||||
|
| **Launcher:** | fuzzel |
|
||||||
|
| **Alerts:** | mako |
|
||||||
|
| **Browser:** | firefox |
|
||||||
|
| **Theme:** | city-lights |
|
||||||
|
|
||||||
|
The files that are possibly of biggest interest are found here:
|
||||||
|
|
||||||
|
- [flake.nix](../.dotfiles/flake.nix)
|
||||||
|
- [Nix.org](../.dotfiles/Nix.org)
|
||||||
|
- [early-init.el](../.dotfiles/programs/emacs/early-init.el)
|
||||||
|
- [Emacs.org](../.dotfiles/Emacs.org)
|
||||||
|
|
||||||
|
This is a nix flakes based setup that manages multiple hosts, including mixed (NixOS with home-manager as a submodule) as well as standalone home-manager machines, also using some overlays etc. It is all wrapped in literal configuration .org files, because that allows me to have easy access without actually having to remember where the specific configuration files are all located. flake.nix and early-init.el are not tangled at the moment, flake.nix mostly for the reason that I rarely need to update it; early-init.el for the reason that adding it would break the emacs-overlay parsing.
|
||||||
|
|
||||||
|
Have fun!
|
||||||
|
|
||||||
|
### General Nix tips
|
||||||
|
Sadly all things nix feel a bit underdocumented. Below is a small list of tips that I thought could be helpful if you are new to the nix ecosystem:
|
||||||
|
|
||||||
|
- Once you have the experimental feature `nix-command` enabled, you can temporarily install any package using `nix shell nixpkgs#<PACKAGE_NAME>` - this can be e.g. useful if you accidentally removed home-manager from your packages on a non-NixOS machine.
|
||||||
|
- The `nix [...]` commands are generally very useful, more info can be found here: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix
|
||||||
|
- These links are your best friends:
|
||||||
|
- https://search.nixos.org/packages
|
||||||
|
- https://search.nixos.org/options
|
||||||
|
- https://nix-community.github.io/home-manager/options.html / https://mipmip.github.io/home-manager-option-search/
|
||||||
|
- Also useful is the [NixOS wiki](https://nixos.wiki/wiki/Main_Page), but some pages are outdated, so use with some care
|
||||||
|
- When you are trying to setup a new configuration part, GitHub code search can really help you to find a working configuration.
|
||||||
|
- getting packages not maintained in a standard repository can be done in most cases easily with fetchFromGithub (https://ryantm.github.io/nixpkgs/builders/fetchers/)
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
Below is a rough general guide to setup this system on a new NixOS host. **Again**, this is not recommended as this is a personal configuration. This also might not be the most efficient way to deploy a new Nix system, but it should work in the general case.
|
||||||
|
|
||||||
|
For a pure Home-Manager configuration, you need a few different steps. The biggest change is that you then want to call `home-manager --flake .#<your-username>@<your-hostname> switch` as the last step instead of `nixos-rebuild [...]`. A complete general guide for that case cannot really be given since you are most likely setting up the flake on a existing machine that already has a lot of configuration. If you are setting up a new system, I would recommend to use NixOS unless circumstances force you to use something else.
|
||||||
|
|
||||||
|
|
||||||
|
###### To do that:
|
||||||
|
1) adapt [flake.nix](../.dotfiles/flake.nix):
|
||||||
|
- Copy either one of the nixosSystem or homeManagerConfiguration blocks depending on what configuration you are going to be using.
|
||||||
|
- Adapt all lines referencing the host- and username to the names chosen for your system.
|
||||||
|
- Also adapt the file paths to reference the files where you want your specific configuration to be stored.
|
||||||
|
- If using home-manager on the host, consider the settings for `home-manager.useGlobalPkgs` and `home-manager.useUserPackages` - in this repo they are moved to the general NixOS section to reduce code duplication.
|
||||||
|
2) adapt [Nix.org](../.dotfiles/Nix.org)
|
||||||
|
- Make a copy of "System Specific Configurations/TEMPLATE".
|
||||||
|
- Adapt all references to TEMPLATE to your host- and usernames etc (make sure to also create that directory where it is to be tangled to).
|
||||||
|
- Add the settings needed for your specific machine.
|
||||||
|
- Make sure Nix.org was actually tangled.
|
||||||
|
- **Beware:** This assumes you have access to a way of tangling an .org file (for most people this will mean having a working Emacs). If you do not have that, see below.
|
||||||
|
3) Add your changes to your fork of the repository.
|
||||||
|
###### If you have no way of tangling .org files
|
||||||
|
In that case make a copy of the /.dotfiles/profiles/TEMPLATE folder and adapt each file manually according to the above.
|
||||||
|
##### Actual system setup
|
||||||
|
0) Make sure you have an internet connection (ethernet or for Wi-Fi e.g. call `nmtui`)
|
||||||
|
1) `sudo nano /etc/nixos/configuration.nix`
|
||||||
|
- add the following packages to `environment.systemPackages`:
|
||||||
|
- `git `
|
||||||
|
- `gnupg`
|
||||||
|
- `ssh-to-age`
|
||||||
|
- add
|
||||||
|
```nix
|
||||||
|
nix = {
|
||||||
|
package = pkgs.nixFlakes;
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
```
|
||||||
|
2) `sudo nixos-rebuild switch`
|
||||||
|
###### Setup of the bare repository (these steps are not mandatory but make managing the repository easier)
|
||||||
|
3) `echo ".cfg" >> .gitignore`
|
||||||
|
4) `git clone --bare https://github.com/Swarsel/dotfiles.git $HOME/.cfg`
|
||||||
|
5) `alias config='git --git-dir=$HOME/.cfg --work-tree=$HOME'`
|
||||||
|
6) `config config --local status.showUntrackedFiles no`
|
||||||
|
7) `config checkout`
|
||||||
|
###### Host SSH key setup for use with sops-nix
|
||||||
|
8) `ssh-keygen -t ed25519 -C "<YOUR_HOSTNAME> sops"`, use e.g. "sops" as name for `<SOPS_KEY>`
|
||||||
|
9) `cd ~/.dotfiles`
|
||||||
|
10) `cat ~/<SOPS_KEY>.pub | ssh-to-age >> ~/.dotfiles/.sops.yaml`
|
||||||
|
11) `nano .sops.yaml` - add last line to keys and make a new &system_<xxx> entry, make sure to remove that last line
|
||||||
|
12) `cp ~/<SOPS_KEY>.pub ~/.dotfiles/secrets/keys/<YOUR_HOSTNAME>.pub`
|
||||||
|
13) move `<SOPS_KEY>` to where you want to store your host private key
|
||||||
|
14) update entry for `sops.age.sshKeyPaths` in Nix.org to the location that you have just moved the private key to (or manually edit `.dotfiles/profiles/<YOUR_HOSTNAME>/home.nix`)
|
||||||
|
###### Switching to the configuration
|
||||||
|
15) `cp /etc/nixos/hardware-configuration.nix ~/.dotfiles/profiles/<YOUR_HOSTNAME>`
|
||||||
|
16) `sudo nixos-rebuild --flake .#<YOUR_HOSTNAME> switch`
|
||||||
|
- This build will take a while (mostly because it fully builds Emacs), so do not worry too much :)
|
||||||
|
- In case you get a dependency error for some of the `firefox-addons`, just comment out those specific extensions and try to uncomment them again a few days later. Sometimes when these packages are updated, the old .xpi file is deleted by the addon developer and the download link breaks. It is usually updated swiftly. If you do not want to wait, you can also package the addon yourself - there is one example in the files how this is generally done.
|
||||||
BIN
.github/swarselsystems_preview.png
vendored
Normal file
|
After Width: | Height: | Size: 7.9 MiB |
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
secrets/keys/pubring.kbx
|
||||||
|
secrets/keys/private-keys-v1.d/
|
||||||
24
.sops.yaml
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
# This example uses YAML anchors which allows reuse of multiple keys
|
||||||
|
# without having to repeat yourself.
|
||||||
|
# Also see https://github.com/Mic92/dotfiles/blob/master/nixos/.sops.yaml
|
||||||
|
# for a more complex example.
|
||||||
|
keys:
|
||||||
|
- &admin_swarsel 4BE7925262289B476DBBC17B76FD3810215AE097
|
||||||
|
- &server_nixos age1zdjm8qa5t25mca0xxhhkpuh85mgg4l267mqjj2pdttksq7zg4unqdmqyp4
|
||||||
|
- &server_surface age1zlnxraee6tddr07xn59mx5rdexw8qxryd53eqlsajasfhfy78fkq705dfg
|
||||||
|
- &server_stand age1hkajkcje5xvg8jd4zj2e0s9tndpv36hwhn7p38x9lyq2z8g7v45q2nhlej
|
||||||
|
creation_rules:
|
||||||
|
- path_regex: secrets/general/[^/]+\.(yaml|json|env|ini)$
|
||||||
|
key_groups:
|
||||||
|
- pgp:
|
||||||
|
- *admin_swarsel
|
||||||
|
age:
|
||||||
|
- *server_nixos
|
||||||
|
- *server_surface
|
||||||
|
- *server_stand
|
||||||
|
- path_regex: secrets/surface/[^/]+\.(yaml|json|env|ini)$
|
||||||
|
key_groups:
|
||||||
|
- pgp:
|
||||||
|
- *admin_swarsel
|
||||||
|
age:
|
||||||
|
- *server_surface
|
||||||
692
flake.lock
generated
Normal file
|
|
@ -0,0 +1,692 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"base16": {
|
||||||
|
"inputs": {
|
||||||
|
"fromYaml": "fromYaml"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689633990,
|
||||||
|
"narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=",
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "base16.nix",
|
||||||
|
"rev": "dddf2e1c04845d43c89a8e9e37d574519649a404",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "base16.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-alacritty": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1674275109,
|
||||||
|
"narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=",
|
||||||
|
"owner": "aarowill",
|
||||||
|
"repo": "base16-alacritty",
|
||||||
|
"rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aarowill",
|
||||||
|
"repo": "base16-alacritty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-fish": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1622559957,
|
||||||
|
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
||||||
|
"owner": "tomyun",
|
||||||
|
"repo": "base16-fish",
|
||||||
|
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tomyun",
|
||||||
|
"repo": "base16-fish",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-foot": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696725948,
|
||||||
|
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-foot",
|
||||||
|
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-foot",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-helix": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696727917,
|
||||||
|
"narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-kitty": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1665001328,
|
||||||
|
"narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
|
||||||
|
"owner": "kdrag0n",
|
||||||
|
"repo": "base16-kitty",
|
||||||
|
"rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kdrag0n",
|
||||||
|
"repo": "base16-kitty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-tmux": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696725902,
|
||||||
|
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-tmux",
|
||||||
|
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-tmux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1663659192,
|
||||||
|
"narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=",
|
||||||
|
"owner": "chriskempson",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "chriskempson",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"crane": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699218802,
|
||||||
|
"narHash": "sha256-5l0W4Q7z7A4BCstaF5JuBqXOVrZ3Vqst5+hUnP7EdUc=",
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"rev": "2d6c2aaff5a05e443eb15efddc21f9c73720340c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emacs-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702175135,
|
||||||
|
"narHash": "sha256-oiXRVftJwABfQ85KucnUp35RN8F4jxGDg3kXMURspXo=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"rev": "956b70d64d5ff36c53242cd335fe8274c0cfa2e7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1673956053,
|
||||||
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1698882062,
|
||||||
|
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701680307,
|
||||||
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694529238,
|
||||||
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1659877975,
|
||||||
|
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fromYaml": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689549921,
|
||||||
|
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "fromYaml",
|
||||||
|
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "SenchoPens",
|
||||||
|
"repo": "fromYaml",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"pre-commit-hooks-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1660459072,
|
||||||
|
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702159252,
|
||||||
|
"narHash": "sha256-4mYOL1EhOmt92OtYsHXRViWrSHvR5obLfCllMmQsUzY=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "e6b7303bd149723c57ca23f5a9428482d6b07306",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1700847865,
|
||||||
|
"narHash": "sha256-uWaOIemGl9LF813MW0AEgCBpKwFo2t1Wv3BZc6e5Frw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "8cedd63eede4c22deb192f1721dd67e7460e1ebe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lanzaboote": {
|
||||||
|
"inputs": {
|
||||||
|
"crane": "crane",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701686621,
|
||||||
|
"narHash": "sha256-OAR4jhfldEGuXH8DB9w8YrFLcEsZsApWdYPsmJHwM/E=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "lanzaboote",
|
||||||
|
"rev": "5655251a38f2a31f26aebae3e0d7fe0f5bd74683",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "lanzaboote",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixgl": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_3",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1685908677,
|
||||||
|
"narHash": "sha256-E4zUPEUFyVWjVm45zICaHRpfGepfkE9Z2OECV9HXfA4=",
|
||||||
|
"owner": "guibou",
|
||||||
|
"repo": "nixGL",
|
||||||
|
"rev": "489d6b095ab9d289fe11af0219a9ff00fe87c7c5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "guibou",
|
||||||
|
"repo": "nixGL",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699354722,
|
||||||
|
"narHash": "sha256-abmqUReg4PsyQSwv4d0zjcWpMHrd3IFJiTb2tZpfF04=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "cfbb29d76949ae53c457f152c52c173ea4bdd862",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable-small",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701805708,
|
||||||
|
"narHash": "sha256-hh0S14E816Img0tPaNQSEKFvSscSIrvu1ypubtfh6M4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "0561103cedb11e7554cf34cea81e5f5d578a4753",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1685801374,
|
||||||
|
"narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702148972,
|
||||||
|
"narHash": "sha256-h2jODFP6n+ABrUWcGRSVPRFfLOkM9TJ2pO+h+9JcaL0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b8f33c044e51de6dde3ad80a9676945e0e4e3227",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "release-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1660551188,
|
||||||
|
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701718080,
|
||||||
|
"narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702029940,
|
||||||
|
"narHash": "sha256-qM3Du0perpLesh5hr87mVPZ79McMUKIWUH7EQMh2kWo=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e9ef8a102c555da4f8f417fe5cf5bd539d8a38b7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1700856099,
|
||||||
|
"narHash": "sha256-RnEA7iJ36Ay9jI0WwP+/y4zjEhmeN6Cjs9VOFBH7eVQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702190088,
|
||||||
|
"narHash": "sha256-TpNx/FtOHakBT29LOaG9Cd73lF+4PLzEadPGnkExHrM=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "d4924c10dd9ea639e32cee3761adfa0461c5130a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pre-commit-hooks-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"lanzaboote",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"flake-utils": [
|
||||||
|
"lanzaboote",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699271226,
|
||||||
|
"narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"rev": "ea758da1a6dcde6dc36db348ed690d09b9864128",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"emacs-overlay": "emacs-overlay",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"lanzaboote": "lanzaboote",
|
||||||
|
"nixgl": "nixgl",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"nur": "nur",
|
||||||
|
"sops-nix": "sops-nix",
|
||||||
|
"stylix": "stylix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"lanzaboote",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"lanzaboote",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699409596,
|
||||||
|
"narHash": "sha256-L3g1smIol3dGTxkUQOlNShJtZLvjLzvtbaeTRizwZBU=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "58240e1ac627cef3ea30c7732fedfb4f51afd8e7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sops-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1702177193,
|
||||||
|
"narHash": "sha256-J2409SyXROoUHYXVy9h4Pj0VU8ReLuy/mzBc9iK4DBg=",
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"rev": "d806e546f96c88cd9f7d91c1c19ebc99ba6277d9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stylix": {
|
||||||
|
"inputs": {
|
||||||
|
"base16": "base16",
|
||||||
|
"base16-alacritty": "base16-alacritty",
|
||||||
|
"base16-fish": "base16-fish",
|
||||||
|
"base16-foot": "base16-foot",
|
||||||
|
"base16-helix": "base16-helix",
|
||||||
|
"base16-kitty": "base16-kitty",
|
||||||
|
"base16-tmux": "base16-tmux",
|
||||||
|
"base16-vim": "base16-vim",
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
|
"nixpkgs": "nixpkgs_5"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701532764,
|
||||||
|
"narHash": "sha256-Jrizp/nITbul2HBIraQRDw5lyJnzTsj0K9wZUFYX2gg=",
|
||||||
|
"owner": "danth",
|
||||||
|
"repo": "stylix",
|
||||||
|
"rev": "17a452c5d58bb90057d49c7e3e613b5e6dc1c0f4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "danth",
|
||||||
|
"repo": "stylix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
127
flake.nix
Normal file
|
|
@ -0,0 +1,127 @@
|
||||||
|
{
|
||||||
|
description = "SwarseFlake - Nix Flake for all SwarselSystems";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
||||||
|
|
||||||
|
# user-level configuration
|
||||||
|
home-manager = {
|
||||||
|
url = github:nix-community/home-manager;
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# overlay to access bleeding edge emacs
|
||||||
|
emacs-overlay = {
|
||||||
|
url = github:nix-community/emacs-overlay;
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# nix user repository
|
||||||
|
# i use this mainly to not have to build all firefox extensions
|
||||||
|
# myself as well as for the emacs-init package (tbd)
|
||||||
|
nur.url = github:nix-community/NUR;
|
||||||
|
|
||||||
|
# provides GL to non-NixOS hosts
|
||||||
|
nixgl.url = github:guibou/nixGL;
|
||||||
|
|
||||||
|
# manages all themeing using Home-Manager
|
||||||
|
stylix.url = github:danth/stylix;
|
||||||
|
|
||||||
|
# nix secrets management
|
||||||
|
sops-nix.url = github:Mic92/sops-nix;
|
||||||
|
|
||||||
|
# enable secure boot on NixOS
|
||||||
|
lanzaboote.url = github:nix-community/lanzaboote;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{ self, nixpkgs, home-manager, emacs-overlay, nur, nixgl, stylix, sops-nix, lanzaboote, ... }: let
|
||||||
|
system = "x86_64-linux"; # not very portable, but I do not use other architectures at the moment
|
||||||
|
pkgs = import nixpkgs { inherit system;
|
||||||
|
overlays = [ emacs-overlay.overlay
|
||||||
|
nur.overlay
|
||||||
|
nixgl.overlay
|
||||||
|
];
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
# NixOS modules that can only be used on NixOS systems
|
||||||
|
nixModules = [ stylix.nixosModules.stylix
|
||||||
|
./profiles/common/nixos.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Home-Manager modules wanted on non-NixOS systems
|
||||||
|
homeModules = [ stylix.homeManagerModules.stylix
|
||||||
|
];
|
||||||
|
# Home-Manager modules wanted on both NixOS and non-NixOS systems
|
||||||
|
mixedModules = [ sops-nix.homeManagerModules.sops
|
||||||
|
./profiles/common/home.nix
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
|
||||||
|
# NixOS setups - run home-manager as a NixOS module for better compatibility
|
||||||
|
# another benefit - full rebuild on nixos-rebuild switch
|
||||||
|
# run rebuild using `nswitch`
|
||||||
|
|
||||||
|
# NEW HOSTS: For a new host, decide whether a NixOS (nixosConfigurations) or non-NixOS (homeConfigurations) is used.
|
||||||
|
# Make sure to move hardware-configuration to the appropriate location, by default it is found in /etc/nixos/.
|
||||||
|
|
||||||
|
nixosConfigurations = {
|
||||||
|
|
||||||
|
onett = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs pkgs; };
|
||||||
|
modules = nixModules ++ [
|
||||||
|
./profiles/onett/nixos.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.users.swarsel.imports = mixedModules ++ [
|
||||||
|
./profiles/onett/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
stand = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs pkgs; };
|
||||||
|
modules = nixModules ++ [
|
||||||
|
./profiles/stand/nixos.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.users.homelen.imports = mixedModules ++ [
|
||||||
|
./profiles/stand/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
threed = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs pkgs; };
|
||||||
|
modules = nixModules ++ [
|
||||||
|
lanzaboote.nixosModules.lanzaboote
|
||||||
|
./profiles/threed/nixos.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.users.swarsel.imports = mixedModules ++ [
|
||||||
|
./profiles/threed/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
# pure Home Manager setups - for non-NixOS machines
|
||||||
|
# run rebuild using `hmswitch`
|
||||||
|
|
||||||
|
homeConfigurations = {
|
||||||
|
|
||||||
|
"leons@PCisLee" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
modules = homeModules ++ mixedModules ++ [
|
||||||
|
./profiles/surface/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
130
profiles/TEMPLATE/home.nix
Normal file
|
|
@ -0,0 +1,130 @@
|
||||||
|
{ config, pkgs, lib, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "TEMPLATE";
|
||||||
|
homeDirectory = "/home/TEMPLATE";
|
||||||
|
stateVersion = "23.05"; # TEMPLATE -- Please read the comment before changing.
|
||||||
|
keyboard.layout = "us"; # TEMPLATE
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# xdg-utils
|
||||||
|
# nodejs_20
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# if schildichat works on this machine, use it, otherwise go for element
|
||||||
|
# element-desktop
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# update path if the sops private key is stored somewhere else
|
||||||
|
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
||||||
|
|
||||||
|
# waybar config - TEMPLATE - update for cores and temp
|
||||||
|
programs.waybar.settings.mainBar = {
|
||||||
|
#cpu.format = "{icon0} {icon1} {icon2} {icon3}";
|
||||||
|
cpu.format = "{icon0} {icon1} {icon2} {icon3} {icon4} {icon5} {icon6} {icon7}";
|
||||||
|
temperature.hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input";
|
||||||
|
};
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
# is this machine always connected to power? If yes, use this block:
|
||||||
|
#
|
||||||
|
# programs.waybar.settings.mainBar."custom/pseudobat"= {
|
||||||
|
# format= "";
|
||||||
|
# on-click-right= "wlogout -p layer-shell";
|
||||||
|
# };
|
||||||
|
# programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark"
|
||||||
|
# "mpris"
|
||||||
|
# "custom/left-arrow-light"
|
||||||
|
# "network"
|
||||||
|
# "custom/left-arrow-dark"
|
||||||
|
# "pulseaudio"
|
||||||
|
# "custom/left-arrow-light"
|
||||||
|
# "custom/pseudobat"
|
||||||
|
# "battery"
|
||||||
|
# "custom/left-arrow-dark"
|
||||||
|
# "group/hardware"
|
||||||
|
# "custom/left-arrow-light"
|
||||||
|
# "clock#2"
|
||||||
|
# "custom/left-arrow-dark"
|
||||||
|
# "clock#1"
|
||||||
|
# ];
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
# if not always connected to power (laptop), use this (default):
|
||||||
|
|
||||||
|
programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
|
wayland.windowManager.sway= {
|
||||||
|
config = rec {
|
||||||
|
# update for actual inputs here,
|
||||||
|
input = {
|
||||||
|
"36125:53060:splitkb.com_Kyria_rev3" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"1:1:AT_Translated_Set_2_keyboard" = { # TEMPLATE
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "grp:win_space_toggle";
|
||||||
|
# xkb_options = "ctrl:nocaps,grp:win_space_toggle";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"type:touchpad" = {
|
||||||
|
dwt = "enabled";
|
||||||
|
tap = "enabled";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
middle_emulation = "enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
output = {
|
||||||
|
DP-1 = {
|
||||||
|
mode = "2560x1440"; # TEMPLATE
|
||||||
|
scale = "1";
|
||||||
|
bg = "~/.dotfiles/wallpaper/TEMPLATE.png fill";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in {
|
||||||
|
# TEMPLATE
|
||||||
|
"${modifier}+w" = "exec \"bash ~/.dotfiles/scripts/checkschildi.sh\"";
|
||||||
|
# "${modifier}+w" = "exec \"bash ~/.dotfiles/scripts/checkelement.sh\"";
|
||||||
|
};
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
|
||||||
|
{ command = "nextcloud --background";}
|
||||||
|
{ command = "spotify";}
|
||||||
|
{ command = "discord --start-minimized";}
|
||||||
|
{ command = "schildichat-desktop --disable-gpu-driver-bug-workarounds --hidden";}
|
||||||
|
{ command = "ANKI_WAYLAND=1 anki";}
|
||||||
|
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian";}
|
||||||
|
{ command = "nm-applet";}
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
103
profiles/TEMPLATE/nixos.nix
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services = {
|
||||||
|
getty.autologinUser = "TEMPLATE";
|
||||||
|
greetd.settings.initial_session.user="TEMPLATE";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bootloader
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.device = "/dev/sda"; # TEMPLATE - if only one disk, this will work
|
||||||
|
boot.loader.grub.useOSProber = true;
|
||||||
|
|
||||||
|
# --------------------------------------
|
||||||
|
# you might need a configuration like this instead:
|
||||||
|
# Bootloader
|
||||||
|
# boot.loader.grub.enable = true;
|
||||||
|
# boot.loader.grub.devices = ["nodev" ];
|
||||||
|
# boot.loader.grub.useOSProber = true;
|
||||||
|
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
# --------------------------------------
|
||||||
|
|
||||||
|
networking.hostName = "TEMPLATE"; # Define your hostname.
|
||||||
|
|
||||||
|
stylix.image = ../../wallpaper/TEMPLATEwp.png;
|
||||||
|
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
base16Scheme = ../../wallpaper/swarsel.yaml;
|
||||||
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
|
||||||
|
polarity = "dark";
|
||||||
|
opacity.popups = 0.5;
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.capitaine-cursors;
|
||||||
|
name = "capitaine-cursors";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
sizes = {
|
||||||
|
terminal = 10;
|
||||||
|
applications = 11;
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = (pkgs.nerdfonts.override { fonts = [ "FiraCode"]; });
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Configure keymap in X11 (only used for login)
|
||||||
|
services.xserver = {
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "altgr-intl";
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.TEMPLATE = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "TEMPLATE";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "lp" "audio" "video" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.05"; # TEMPLATE - but probably no need to change
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
1650
profiles/common/home.nix
Normal file
211
profiles/common/nixos.nix
Normal file
|
|
@ -0,0 +1,211 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
|
||||||
|
# login keymap
|
||||||
|
services.xserver = {
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "altgr-intl";
|
||||||
|
};
|
||||||
|
|
||||||
|
# mount NAS drive
|
||||||
|
# works only at home, but w/e
|
||||||
|
fileSystems."/mnt/smb" = {
|
||||||
|
device = "//192.168.1.3/Eternor";
|
||||||
|
fsType = "cifs";
|
||||||
|
options = let
|
||||||
|
# this line prevents hanging on network split
|
||||||
|
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s";
|
||||||
|
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
|
||||||
|
};
|
||||||
|
|
||||||
|
# enable flakes - urgent line!!
|
||||||
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
# correct time between linux and windows
|
||||||
|
time.hardwareClockInLocalTime = true;
|
||||||
|
|
||||||
|
# dont style GRUB with stylix
|
||||||
|
stylix.targets.grub.enable = false; # the styling makes grub more ugly
|
||||||
|
|
||||||
|
# cura fix
|
||||||
|
# xdg.portal = {
|
||||||
|
# enable = true;
|
||||||
|
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
# wlr.enable = true;
|
||||||
|
# config = {
|
||||||
|
# common = {
|
||||||
|
# default = [
|
||||||
|
# "*"
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# wayland-related
|
||||||
|
security.polkit.enable = true;
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# audio
|
||||||
|
sound.enable = true;
|
||||||
|
# nixpkgs.config.pulseaudio = true;
|
||||||
|
hardware.pulseaudio= {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.pulseaudioFull;
|
||||||
|
};
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
hardware.bluetooth.settings = {
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Vienna";
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "de_AT.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "de_AT.UTF-8";
|
||||||
|
LC_MEASUREMENT = "de_AT.UTF-8";
|
||||||
|
LC_MONETARY = "de_AT.UTF-8";
|
||||||
|
LC_NAME = "de_AT.UTF-8";
|
||||||
|
LC_NUMERIC = "de_AT.UTF-8";
|
||||||
|
LC_PAPER = "de_AT.UTF-8";
|
||||||
|
LC_TELEPHONE = "de_AT.UTF-8";
|
||||||
|
LC_TIME = "de_AT.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# yubikey packages
|
||||||
|
gnupg
|
||||||
|
yubikey-personalization
|
||||||
|
yubikey-personalization-gui
|
||||||
|
yubico-pam
|
||||||
|
yubioath-flutter
|
||||||
|
yubikey-manager
|
||||||
|
yubikey-manager-qt
|
||||||
|
yubico-piv-tool
|
||||||
|
pinentry
|
||||||
|
|
||||||
|
# theme related
|
||||||
|
gnome.adwaita-icon-theme
|
||||||
|
|
||||||
|
# kde-connect
|
||||||
|
xdg-desktop-portal
|
||||||
|
|
||||||
|
# bluetooth
|
||||||
|
bluez
|
||||||
|
|
||||||
|
# lsp-related -------------------------------
|
||||||
|
# nix
|
||||||
|
rnix-lsp
|
||||||
|
# latex
|
||||||
|
texlab
|
||||||
|
ghostscript_headless
|
||||||
|
# rust
|
||||||
|
rust-analyzer
|
||||||
|
clippy
|
||||||
|
rustfmt
|
||||||
|
# cpp
|
||||||
|
clang-tools
|
||||||
|
# + cuda
|
||||||
|
cudatoolkit
|
||||||
|
#lsp-bridge / python
|
||||||
|
gcc
|
||||||
|
gdb
|
||||||
|
(python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 epc orjson sexpdata six setuptools paramiko numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||||
|
# (python3.withPackages(ps: with ps; [ jupyter ipython pyqt5 numpy pandas scipy matplotlib requests debugpy flake8 gnureadline python-lsp-server]))
|
||||||
|
# --------------------------------------------
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
programs.evince.enable = true;
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# zsh section, do not delete ------
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
environment.shells = with pkgs; [ zsh ];
|
||||||
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
# ---------------------------------
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
|
||||||
|
# enable discovery and usage of network devices (esp. printers)
|
||||||
|
services.printing.enable = true;
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# nautilus file manager
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
|
# Make CAPS work as a dual function ESC/CTRL key
|
||||||
|
services.interception-tools = {
|
||||||
|
enable = true;
|
||||||
|
udevmonConfig = let
|
||||||
|
dualFunctionKeysConfig = builtins.toFile "dual-function-keys.yaml" ''
|
||||||
|
TIMING:
|
||||||
|
TAP_MILLISEC: 200
|
||||||
|
DOUBLE_TAP_MILLISEC: 0
|
||||||
|
|
||||||
|
MAPPINGS:
|
||||||
|
- KEY: KEY_CAPSLOCK
|
||||||
|
TAP: KEY_ESC
|
||||||
|
HOLD: KEY_LEFTCTRL
|
||||||
|
'';
|
||||||
|
in ''
|
||||||
|
- JOB: |
|
||||||
|
${pkgs.interception-tools}/bin/intercept -g $DEVNODE \
|
||||||
|
| ${pkgs.interception-tools-plugins.dual-function-keys}/bin/dual-function-keys -c ${dualFunctionKeysConfig} \
|
||||||
|
| ${pkgs.interception-tools}/bin/uinput -d $DEVNODE
|
||||||
|
DEVICE:
|
||||||
|
EVENTS:
|
||||||
|
EV_KEY: [KEY_CAPSLOCK]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ssh.startAgent = false;
|
||||||
|
|
||||||
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
|
# environment.systemPackages = with pkgs; [
|
||||||
|
# --- IN SYSTEM PACKAGES SECTION ---
|
||||||
|
# ];
|
||||||
|
|
||||||
|
services.udev.packages = with pkgs; [
|
||||||
|
yubikey-personalization
|
||||||
|
];
|
||||||
|
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
initial_session.command = "sway";
|
||||||
|
# initial_session.user ="swarsel";
|
||||||
|
default_session.command = ''
|
||||||
|
${pkgs.greetd.tuigreet}/bin/tuigreet \
|
||||||
|
--time \
|
||||||
|
--asterisks \
|
||||||
|
--user-menu \
|
||||||
|
--cmd sway
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc."greetd/environments".text = ''
|
||||||
|
sway
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
33
profiles/onett/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ata_piix" "usb_storage" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/147e3682-eb15-4e96-9cac-4f2fb5888a69";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp8s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
127
profiles/onett/home.nix
Normal file
|
|
@ -0,0 +1,127 @@
|
||||||
|
{ config, pkgs, lib, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "swarsel";
|
||||||
|
homeDirectory = "/home/swarsel";
|
||||||
|
stateVersion = "23.05"; # Please read the comment before changing.
|
||||||
|
keyboard.layout = "de";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# xdg-utils
|
||||||
|
# nodejs_20
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
||||||
|
|
||||||
|
# # waybar config
|
||||||
|
programs.waybar.settings.mainBar = {
|
||||||
|
cpu.format = "{icon0} {icon1} {icon2} {icon3} {icon4} {icon5} {icon6} {icon7}";
|
||||||
|
temperature.hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon3/temp3_input";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
|
||||||
|
wayland.windowManager.sway= {
|
||||||
|
config = rec {
|
||||||
|
input = {
|
||||||
|
"1:1:AT_Translated_Set_2_keyboard" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "grp:win_space_toggle";
|
||||||
|
# xkb_options = "ctrl:nocaps,grp:win_space_toggle";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"2362:33538:ipad_keyboard_Keyboard" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "altwin:swap_lalt_lwin,ctrl:nocaps,grp:win_space_toggle";
|
||||||
|
xkb_variant = "colemak_dh";
|
||||||
|
};
|
||||||
|
"36125:53060:splitkb.com_Kyria_rev3" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
|
||||||
|
"type:touchpad" = {
|
||||||
|
dwt = "enabled";
|
||||||
|
tap = "enabled";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
middle_emulation = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output = {
|
||||||
|
eDP-1 = {
|
||||||
|
mode = "1920x1080";
|
||||||
|
scale = "1";
|
||||||
|
bg = "~/.dotfiles/wallpaper/lenovowp.png fill";
|
||||||
|
position = "1920,0";
|
||||||
|
};
|
||||||
|
VGA-1 = {
|
||||||
|
mode = "1920x1080";
|
||||||
|
scale = "1";
|
||||||
|
bg = "~/.dotfiles/wallpaper/lenovowp.png fill";
|
||||||
|
position = "0,0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in {
|
||||||
|
"${modifier}+F2" = "exec brightnessctl set +5%";
|
||||||
|
"${modifier}+F1"= "exec brightnessctl set 5%-";
|
||||||
|
"XF86MonBrightnessUp" = "exec brightnessctl set +5%";
|
||||||
|
"XF86MonBrightnessDown"= "exec brightnessctl set 5%-";
|
||||||
|
"${modifier}+Ctrl+p" = "exec wl-mirror eDP-1";
|
||||||
|
"XF86HomePage" = "exec wtype -P Escape -p Escape";
|
||||||
|
"${modifier}+w" = "exec \"bash ~/.dotfiles/scripts/checkschildi.sh\"";
|
||||||
|
};
|
||||||
|
keycodebindings = {
|
||||||
|
"94" = "exec wtype c";
|
||||||
|
"Shift+94" = "exec wtype C";
|
||||||
|
"Ctrl+94" = "exec wtype -M ctrl c -m ctrl";
|
||||||
|
"Ctrl+Shift+94" = "exec wtype -M ctrl -M shift c -m ctrl -m shift";
|
||||||
|
};
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
|
||||||
|
{ command = "nextcloud --background";}
|
||||||
|
{ command = "spotify";}
|
||||||
|
{ command = "discord --start-minimized";}
|
||||||
|
{ command = "schildichat-desktop --disable-gpu-driver-bug-workarounds --hidden";}
|
||||||
|
{ command = "ANKI_WAYLAND=1 anki";}
|
||||||
|
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian";}
|
||||||
|
{ command = "nm-applet";}
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = "
|
||||||
|
";
|
||||||
|
};
|
||||||
|
}
|
||||||
102
profiles/onett/nixos.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services = {
|
||||||
|
greetd.settings.initial_session.user ="swarsel";
|
||||||
|
xserver.videoDrivers = ["nvidia"];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
powerManagement.enable = true;
|
||||||
|
prime = {
|
||||||
|
intelBusId = "PCI:0:2:0";
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
sync.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
|
||||||
|
sed 's/module-udev-detect$/module-udev-detect tsched=0/' \
|
||||||
|
${pkgs.pulseaudio}/etc/pulse/default.pa > $out
|
||||||
|
'';
|
||||||
|
bluetooth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix.image = ../../wallpaper/lenovowp.png;
|
||||||
|
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
base16Scheme = ../../wallpaper/swarsel.yaml;
|
||||||
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
|
||||||
|
polarity = "dark";
|
||||||
|
opacity.popups = 0.5;
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.capitaine-cursors;
|
||||||
|
name = "capitaine-cursors";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
sizes = {
|
||||||
|
terminal = 10;
|
||||||
|
applications = 11;
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = (pkgs.nerdfonts.override { fonts = [ "FiraCode"]; });
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
boot.loader.grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "/dev/sda";
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = "onett"; # Define your hostname.
|
||||||
|
|
||||||
|
users.users.swarsel = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Leon S";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "lp"];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
92
profiles/stand/home.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
{ config, pkgs, lib, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "homelen";
|
||||||
|
homeDirectory = "/home/homelen";
|
||||||
|
stateVersion = "23.05"; # Please read the comment before changing.
|
||||||
|
keyboard.layout = "us";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# xdg-utils
|
||||||
|
# nodejs_20
|
||||||
|
# element-desktop
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
||||||
|
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
|
||||||
|
# waybar config
|
||||||
|
programs.waybar.settings.mainBar = {
|
||||||
|
cpu.format = "{icon0} {icon1} {icon2} {icon3} {icon4} {icon5} {icon6} {icon7}";
|
||||||
|
temperature.hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar.settings.mainBar."custom/pseudobat"= {
|
||||||
|
format= "";
|
||||||
|
on-click-right= "wlogout -p layer-shell";
|
||||||
|
};
|
||||||
|
programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
wayland.windowManager.sway= {
|
||||||
|
config = rec {
|
||||||
|
input = {
|
||||||
|
"36125:53060:splitkb.com_Kyria_rev3" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output = {
|
||||||
|
DP-1 = {
|
||||||
|
mode = "2560x1440";
|
||||||
|
scale = "1";
|
||||||
|
bg = "~/.dotfiles/wallpaper/standwp.png fill";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in {
|
||||||
|
"${modifier}+w" = "exec \"bash ~/.dotfiles/scripts/checkschildi.sh\"";
|
||||||
|
};
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
|
||||||
|
{ command = "nextcloud --background";}
|
||||||
|
{ command = "spotify";}
|
||||||
|
{ command = "discord --start-minimized";}
|
||||||
|
{ command = "schildichat-desktop --disable-gpu-driver-bug-workarounds --hidden";}
|
||||||
|
{ command = "ANKI_WAYLAND=1 anki";}
|
||||||
|
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian";}
|
||||||
|
{ command = "nm-applet";}
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
99
profiles/stand/nixos.nix
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services = {
|
||||||
|
getty.autologinUser = "homelen";
|
||||||
|
greetd.settings.initial_session.user="homelen";
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix.image = ../../wallpaper/standwp.png;
|
||||||
|
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
base16Scheme = ../../wallpaper/swarsel.yaml;
|
||||||
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
|
||||||
|
polarity = "dark";
|
||||||
|
opacity.popups = 0.5;
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.capitaine-cursors;
|
||||||
|
name = "capitaine-cursors";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
sizes = {
|
||||||
|
terminal = 10;
|
||||||
|
applications = 11;
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = (pkgs.nerdfonts.override { fonts = [ "FiraCode"]; });
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.grub = {
|
||||||
|
enable = true;
|
||||||
|
devices = ["nodev" ];
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
networking = {
|
||||||
|
hostName = "stand"; # Define your hostname.
|
||||||
|
enableIPv6 = false;
|
||||||
|
firewall.enable = false;
|
||||||
|
# networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
bluetooth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.homelen = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Leon S";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "lp" "audio" "video" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment? Dont change this basically
|
||||||
|
|
||||||
|
}
|
||||||
177
profiles/surface/home.nix
Normal file
|
|
@ -0,0 +1,177 @@
|
||||||
|
{ config, pkgs, lib, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
home.username = "leons";
|
||||||
|
home.homeDirectory = "/home/leons";
|
||||||
|
|
||||||
|
home.stateVersion = "23.05"; # Please read the comment before changing.
|
||||||
|
|
||||||
|
stylix.image = ../../wallpaper/surfacewp.png;
|
||||||
|
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
base16Scheme = ../../wallpaper/swarsel.yaml;
|
||||||
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
|
||||||
|
polarity = "dark";
|
||||||
|
opacity.popups = 0.5;
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.capitaine-cursors;
|
||||||
|
name = "capitaine-cursors";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
sizes = {
|
||||||
|
terminal = 10;
|
||||||
|
applications = 11;
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = (pkgs.nerdfonts.override { fonts = [ "FiraCode"]; });
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = (_: true);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.xcape = {
|
||||||
|
enable = true;
|
||||||
|
mapExpression = {
|
||||||
|
Control_L = "Escape";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#keyboard config
|
||||||
|
home.keyboard.layout = "us";
|
||||||
|
|
||||||
|
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
||||||
|
|
||||||
|
# waybar config
|
||||||
|
programs.waybar.settings.mainBar.cpu.format = "{icon0} {icon1} {icon2} {icon3}";
|
||||||
|
|
||||||
|
programs.waybar.settings.mainBar.temperature.hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon3/temp3_input";
|
||||||
|
programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark" "mpris" "custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"temperature"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"disk"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"memory"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"cpu"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"tray"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1" ];
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# nixgl.auto.nixGLDefault
|
||||||
|
evince
|
||||||
|
# nodejs_20
|
||||||
|
|
||||||
|
# messaging
|
||||||
|
# we use gomuks for RAM preservation, but keep schildi around for files and images
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.zsh.initExtra = "
|
||||||
|
export GPG_TTY=\"$(tty)\"
|
||||||
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||||
|
gpgconf --launch gpg-agent
|
||||||
|
";
|
||||||
|
|
||||||
|
# sway config
|
||||||
|
wayland.windowManager.sway= {
|
||||||
|
config = rec {
|
||||||
|
input = {
|
||||||
|
"*" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "ctrl:nocaps,grp:win_space_toggle";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"type:touchpad" = {
|
||||||
|
dwt = "enabled";
|
||||||
|
tap = "enabled";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
middle_emulation = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output = {
|
||||||
|
eDP-1 = {
|
||||||
|
mode = "2160x1440@59.955Hz";
|
||||||
|
scale = "1";
|
||||||
|
bg = "~/.dotfiles/wallpaper/surfacewp.png fill";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in {
|
||||||
|
"${modifier}+F2" = "exec brightnessctl set +5%";
|
||||||
|
"${modifier}+F1"= "exec brightnessctl set 5%-";
|
||||||
|
"${modifier}+n" = "exec sway output eDP-1 transform normal, splith";
|
||||||
|
"${modifier}+Ctrl+p" = "exec nixGL wl-mirror eDP-1";
|
||||||
|
"${modifier}+t" = "exec sway output eDP-1 transform 90, splitv";
|
||||||
|
"${modifier}+XF86AudioLowerVolume" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png";
|
||||||
|
"${modifier}+XF86AudioRaiseVolume" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png";
|
||||||
|
"${modifier}+w" = "exec \"bash ~/.dotfiles/scripts/checkgomuks.sh\"";
|
||||||
|
};
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
{ command = "sleep 60 && nixGL nextcloud --background";}
|
||||||
|
# { command = "sleep 60 && nixGL spotify";}
|
||||||
|
{ command = "sleep 60 && nixGL discord --start-minimized -enable-features=UseOzonePlatform -ozone-platform=wayland";}
|
||||||
|
# { command = "sleep 60 && nixGL schildichat-desktop --hidden";}
|
||||||
|
{ command = "sleep 60 && nixGL syncthingtray --wait"; }
|
||||||
|
{ command = "sleep 60 && ANKI_WAYLAND=1 nixGL anki";}
|
||||||
|
{ command = "nm-applet --indicator";}
|
||||||
|
{ command = "sleep 60 && OBSIDIAN_USE_WAYLAND=1 nixGL obsidian -enable-features=UseOzonePlatform -ozone-platform=wayland";}
|
||||||
|
];
|
||||||
|
|
||||||
|
keycodebindings = {
|
||||||
|
"124" = "exec systemctl suspend";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = "
|
||||||
|
exec swaymsg input 7062:6917:NTRG0001:01_1B96:1B05 map_to_output eDP-1
|
||||||
|
exec swaymsg input 7062:6917:NTRG0001:01_1B96:1B05_Stylus map_to_output eDP-1
|
||||||
|
";
|
||||||
|
};
|
||||||
|
}
|
||||||
102
profiles/threed/home.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
{ config, pkgs, lib, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "swarsel";
|
||||||
|
homeDirectory = "/home/swarsel";
|
||||||
|
stateVersion = "23.05"; # Please read the comment before changing.
|
||||||
|
keyboard.layout = "us";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# xdg-utils
|
||||||
|
# nodejs_20
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
||||||
|
|
||||||
|
programs.waybar.settings.mainBar = {
|
||||||
|
cpu.format = "{icon0} {icon1} {icon2} {icon3}";
|
||||||
|
temperature.hwmon-path = "/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar.settings.mainBar.modules-right = ["custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
wayland.windowManager.sway= {
|
||||||
|
config = rec {
|
||||||
|
input = {
|
||||||
|
"*" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "grp:win_space_toggle";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"type:touchpad" = {
|
||||||
|
dwt = "enabled";
|
||||||
|
tap = "enabled";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
middle_emulation = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output = {
|
||||||
|
eDP-1 = {
|
||||||
|
mode = "2160x1440@59.955Hz";
|
||||||
|
scale = "1";
|
||||||
|
bg = "~/.dotfiles/wallpaper/surfacewp.png fill";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = let
|
||||||
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
in {
|
||||||
|
"${modifier}+F2" = "exec brightnessctl set +5%";
|
||||||
|
"${modifier}+F1"= "exec brightnessctl set 5%-";
|
||||||
|
"${modifier}+n" = "exec sway output eDP-1 transform normal, splith";
|
||||||
|
"${modifier}+Ctrl+p" = "exec wl-mirror eDP-1";
|
||||||
|
"${modifier}+t" = "exec sway output eDP-1 transform 90, splitv";
|
||||||
|
"${modifier}+XF86AudioLowerVolume" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png";
|
||||||
|
"${modifier}+XF86AudioRaiseVolume" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png";
|
||||||
|
"${modifier}+w" = "exec \"bash ~/.dotfiles/scripts/checkschildi.sh\"";
|
||||||
|
};
|
||||||
|
|
||||||
|
startup = [
|
||||||
|
|
||||||
|
{ command = "nextcloud --background";}
|
||||||
|
{ command = "spotify";}
|
||||||
|
{ command = "discord --start-minimized";}
|
||||||
|
{ command = "schildichat-desktop --disable-gpu-driver-bug-workarounds --hidden";}
|
||||||
|
{ command = "ANKI_WAYLAND=1 anki";}
|
||||||
|
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian";}
|
||||||
|
{ command = "nm-applet";}
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
keycodebindings = {
|
||||||
|
"124" = "exec systemctl suspend";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = "
|
||||||
|
exec swaymsg input 7062:6917:NTRG0001:01_1B96:1B05 map_to_output eDP-1
|
||||||
|
exec swaymsg input 7062:6917:NTRG0001:01_1B96:1B05_Stylus map_to_output eDP-1
|
||||||
|
";
|
||||||
|
};
|
||||||
|
}
|
||||||
98
profiles/threed/nixos.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services = {
|
||||||
|
getty.autologinUser = "swarsel";
|
||||||
|
greetd.settings.initial_session.user="swarsel";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bootloader
|
||||||
|
boot = {
|
||||||
|
loader.systemd-boot.enable = lib.mkForce false;
|
||||||
|
lanzaboote = {
|
||||||
|
enable = true;
|
||||||
|
pkiBundle = "/etc/secureboot";
|
||||||
|
};
|
||||||
|
loader.efi.canTouchEfiVariables = true;
|
||||||
|
# use bootspec instead of lzbt for secure boot. This is not a generally needed setting
|
||||||
|
bootspec.enable = true;
|
||||||
|
# kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "threed";
|
||||||
|
enableIPv6 = false;
|
||||||
|
firewall.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix.image = ../../wallpaper/surfacewp.png;
|
||||||
|
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
base16Scheme = ../../wallpaper/swarsel.yaml;
|
||||||
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
|
||||||
|
polarity = "dark";
|
||||||
|
opacity.popups = 0.5;
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.capitaine-cursors;
|
||||||
|
name = "capitaine-cursors";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
sizes = {
|
||||||
|
terminal = 10;
|
||||||
|
applications = 11;
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||||
|
package = pkgs.cantarell-fonts;
|
||||||
|
# package = pkgs.montserrat;
|
||||||
|
name = "Cantarell";
|
||||||
|
# name = "FiraCode Nerd Font Propo";
|
||||||
|
# name = "Montserrat";
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = (pkgs.nerdfonts.override { fonts = [ "FiraCode"]; });
|
||||||
|
name = "FiraCode Nerd Font Mono";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
users.users.swarsel = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Leon S";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "lp" "audio" "video" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
|
||||||
|
}
|
||||||
45
programs/emacs/custom.el
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
(custom-set-variables
|
||||||
|
;; custom-set-variables was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
'(browse-url-browser-function 'browse-url-firefox)
|
||||||
|
'(custom-safe-themes
|
||||||
|
'("7ec8fd456c0c117c99e3a3b16aaf09ed3fb91879f6601b1ea0eeaee9c6def5d9"
|
||||||
|
"badd1a5e20bd0c29f4fe863f3b480992c65ef1fa63951f59aa5d6b129a3f9c4c"
|
||||||
|
"2e05569868dc11a52b08926b4c1a27da77580daa9321773d92822f7a639956ce"
|
||||||
|
default))
|
||||||
|
'(org-agenda-files '("/home/swarsel/Calendars/leon_cal.org"))
|
||||||
|
'(send-mail-function 'sendmail-send-it)
|
||||||
|
'(warning-suppress-log-types
|
||||||
|
'(((python python-shell-completion-native-turn-on-maybe)) (comp)
|
||||||
|
((defvaralias losing-value org-tab-first-hook))))
|
||||||
|
'(warning-suppress-types '(((defvaralias losing-value org-tab-first-hook)))))
|
||||||
|
;; (custom-set-faces
|
||||||
|
;; ;; custom-set-faces was added by Custom.
|
||||||
|
;; ;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; ;; Your init file should contain only one such instance.
|
||||||
|
;; ;; If there is more than one, they won't work right.
|
||||||
|
;; '(evil-goggles-change-face ((t (:inherit diff-removed))))
|
||||||
|
;; '(evil-goggles-delete-face ((t (:inherit diff-removed))))
|
||||||
|
;; '(evil-goggles-paste-face ((t (:inherit diff-added))))
|
||||||
|
;; '(evil-goggles-undo-redo-add-face ((t (:inherit diff-added))))
|
||||||
|
;; '(evil-goggles-undo-redo-change-face ((t (:inherit diff-changed))))
|
||||||
|
;; '(evil-goggles-undo-redo-remove-face ((t (:inherit diff-removed))))
|
||||||
|
;; '(evil-goggles-yank-face ((t (:inherit diff-changed))))
|
||||||
|
;; '(flycheck-posframe-border-face ((t (:foreground "darkgrey"))))
|
||||||
|
;; '(ivy-current-match ((t (:extend t :background "dark cyan" :foreground "black"))))
|
||||||
|
;; '(org-block ((t (:inherit fixed-pitch :extend t :background "#20282F"))))
|
||||||
|
;; '(org-block-begin-line ((t (:inherit org-block :extend t :background "#20282F" :foreground "DeepSkyBlue4" :weight bold)))))
|
||||||
|
(custom-set-faces
|
||||||
|
;; custom-set-faces was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
'(evil-goggles-change-face ((t (:inherit diff-removed))))
|
||||||
|
'(evil-goggles-delete-face ((t (:inherit diff-removed))))
|
||||||
|
'(evil-goggles-paste-face ((t (:inherit diff-added))))
|
||||||
|
'(evil-goggles-undo-redo-add-face ((t (:inherit diff-added))))
|
||||||
|
'(evil-goggles-undo-redo-change-face ((t (:inherit diff-changed))))
|
||||||
|
'(evil-goggles-undo-redo-remove-face ((t (:inherit diff-removed))))
|
||||||
|
'(evil-goggles-yank-face ((t (:inherit diff-changed)))))
|
||||||
39
programs/emacs/early-init.el
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
(setq gc-cons-threshold most-positive-fixnum
|
||||||
|
gc-cons-percentage 0.6)
|
||||||
|
|
||||||
|
(tool-bar-mode 0)
|
||||||
|
(menu-bar-mode 0)
|
||||||
|
(scroll-bar-mode 0)
|
||||||
|
|
||||||
|
(setq frame-inhibit-implied-resize t)
|
||||||
|
|
||||||
|
(setq default-frame-alist
|
||||||
|
(append
|
||||||
|
(list
|
||||||
|
'(undecorated . t)
|
||||||
|
'(min-height . 1)
|
||||||
|
'(height . 42)
|
||||||
|
'(min-width . 1)
|
||||||
|
'(width . 100)
|
||||||
|
'(vertical-scroll-bars . nil)
|
||||||
|
'(internal-border-width . 10)
|
||||||
|
'(tool-bar-lines . 0)
|
||||||
|
'(menu-bar-lines . 0))))
|
||||||
|
|
||||||
|
(setq-default left-margin-width 1
|
||||||
|
right-margin-width 1)
|
||||||
|
|
||||||
|
(add-hook
|
||||||
|
'after-make-frame-functions
|
||||||
|
(defun setup-blah-keys (frame)
|
||||||
|
(with-selected-frame frame
|
||||||
|
(when (display-graphic-p)
|
||||||
|
(define-key input-decode-map (kbd "C-i") [C-i])
|
||||||
|
(define-key input-decode-map (kbd "C-[") [C-lsb])
|
||||||
|
(define-key input-decode-map (kbd "C-m") [C-m])
|
||||||
|
))))
|
||||||
|
|
||||||
|
(defun swarsel/last-buffer () (interactive) (switch-to-buffer nil))
|
||||||
|
(global-set-key (kbd "<C-m>") #'swarsel/last-buffer)
|
||||||
|
|
||||||
|
(setq comp-deferred-compilation nil)
|
||||||
1848
programs/emacs/init.el
Normal file
1824
programs/emacs/init.el~
Normal file
27
scripts/checkconfigstatus.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# CFG=$(git --git-dir=$HOME/.cfg/ --work-tree=$HOME diff --numstat | wc -l)
|
||||||
|
CFG=$(git --git-dir=$HOME/.cfg/ --work-tree=$HOME status -s | wc -l)
|
||||||
|
CSE=$(git --git-dir=$HOME/Documents/GitHub/CSE_TUWIEN/.git --work-tree=$HOME/Documents/GitHub/CSE_TUWIEN/ status -s | wc -l)
|
||||||
|
PASS=$(git --git-dir=$HOME/.local/share/password-store/.git --work-tree=$HOME/.local/share/password-store/ status -s | wc -l)
|
||||||
|
|
||||||
|
if [ $CFG != 0 ]; then
|
||||||
|
CFG_STR='CONFIG'
|
||||||
|
else
|
||||||
|
CFG_STR=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CSE != 0 ]; then
|
||||||
|
CSE_STR=' CSE'
|
||||||
|
else
|
||||||
|
CSE_STR=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $PASS != 0 ]; then
|
||||||
|
PASS_STR=' PASS'
|
||||||
|
else
|
||||||
|
PASS_STR=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
OUT="$CFG_STR""$CSE_STR""$PASS_STR"
|
||||||
|
echo "$OUT"
|
||||||
10
scripts/checkdiscord.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
STR=$(swaymsg -t get_tree | grep discord)
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
exec discord
|
||||||
|
#exec swaymsg '[class=discord]' move container to scratchpad; scratchpad show
|
||||||
|
else
|
||||||
|
exec swaymsg '[app_id=discord]' kill
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
12
scripts/checkgomuks.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
STR=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]) | select(.name == "__i3_scratch")' | grep gomuksterm)
|
||||||
|
CHECK=$(swaymsg -t get_tree | grep gomuksterm)
|
||||||
|
if [ "$CHECK" == "" ]; then
|
||||||
|
exec kitty -T gomuksterm -o confirm_os_window_close=0 gomuks & sleep 1
|
||||||
|
fi
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
exec swaymsg '[title="gomuksterm"]' scratchpad show
|
||||||
|
else
|
||||||
|
exec swaymsg '[title="gomuksterm"]' scratchpad show
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
13
scripts/checkkitty.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
STR=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]) | select(.name == "__i3_scratch")' | grep kittyterm)
|
||||||
|
CHECK=$(swaymsg -t get_tree | grep kittyterm)
|
||||||
|
if [ "$CHECK" == "" ]; then
|
||||||
|
exec kitty -T kittyterm & sleep 1
|
||||||
|
fi
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
exec swaymsg '[title="kittyterm"]' scratchpad show
|
||||||
|
else
|
||||||
|
exec swaymsg '[title="kittyterm"]' scratchpad show
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
10
scripts/checkschildi.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
STR=$(swaymsg -t get_tree | grep SchildiChat)
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
exec schildichat-desktop
|
||||||
|
#exec swaymsg '[app_id=SchildiChat]' move container to scratchpad; scratchpad show
|
||||||
|
else
|
||||||
|
exec swaymsg '[app_id=SchildiChat]' kill
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
7
scripts/checkspotify.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
# this is a crutch script that is to be used until spotify
|
||||||
|
# properly sets an app_id upon launch
|
||||||
|
swaymsg '[app_id="^$"]' scratchpad show
|
||||||
|
# exec spotify
|
||||||
10
scripts/checkspotify_actual.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
STR=$(swaymsg -t get_tree | grep spotify)
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
exec spotify & sleep 2
|
||||||
|
exec swaymsg '[class="Spotify"]' scratchpad show
|
||||||
|
else
|
||||||
|
exec swaymsg '[class="Spotify"]' scratchpad show
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
12
scripts/checkspotifytui.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
STR=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]) | select(.name == "__i3_scratch")' | grep spotifytui)
|
||||||
|
CHECK=$(swaymsg -t get_tree | grep spotifytui)
|
||||||
|
if [ "$CHECK" == "" ]; then
|
||||||
|
exec kitty -T spotifytui -o confirm_os_window_close=0 spt & sleep 1
|
||||||
|
fi
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
exec swaymsg '[title="spotifytui"]' scratchpad show
|
||||||
|
else
|
||||||
|
exec swaymsg '[title="spotifytui"]' scratchpad show
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
5
scripts/devShell/benchmark
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
rm -rf build
|
||||||
|
cmake -S . -B build -D CMAKE_BUILD_TYPE=Release
|
||||||
|
cmake --build build --target benchmark
|
||||||
|
./build/benchmark/benchmark
|
||||||
5
scripts/devShell/compile
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
rm -rf build
|
||||||
|
cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug
|
||||||
|
cmake --build build --target all
|
||||||
|
ctest --test-dir build
|
||||||
15
scripts/editor.sh
Executable file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
STR=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]) | select(.name == "__i3_scratch")' | grep kittyterm)
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
VAR="1"
|
||||||
|
swaymsg '[title="kittyterm"]' scratchpad show
|
||||||
|
else
|
||||||
|
VAR="0"
|
||||||
|
fi
|
||||||
|
emacsclient -c -a "" "$@"
|
||||||
|
if [ "$VAR" == "1" ]
|
||||||
|
then
|
||||||
|
swaymsg '[title="kittyterm"]' scratchpad show
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
16
scripts/editor_nowait.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
STR=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]) | select(.name == "__i3_scratch")' | grep kittyterm)
|
||||||
|
if [ "$STR" == "" ]; then
|
||||||
|
VAR="1"
|
||||||
|
swaymsg '[title="kittyterm"]' scratchpad show
|
||||||
|
emacsclient -c -a "" "$@"
|
||||||
|
else
|
||||||
|
VAR="0"
|
||||||
|
emacsclient -n -c -a "" "$@"
|
||||||
|
fi
|
||||||
|
if [ "$VAR" == "1" ]
|
||||||
|
then
|
||||||
|
swaymsg '[title="kittyterm"]' scratchpad show
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
55
secrets/general/secrets.yaml
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
mrswarsel: ENC[AES256_GCM,data:d87RitiYFsLpuxdOaI1xLVW6dA==,iv:MX+IDLr6H5lOmbq0RZc7cFPLfuSDoQKxDljKjeZRppA=,tag:QvuoRtS5EbZV9bKr/URnhw==,type:str]
|
||||||
|
nautilus: ENC[AES256_GCM,data:p0qGJuaNBKbZGRqGzV33SDh4jA==,iv:+EGI9GWsBPIwFz1RK3Hth2PV9OKiWzba9VsRUjUs1Cs=,tag:W+fCUPnFqoR0ggv9j2qafg==,type:str]
|
||||||
|
leon: ENC[AES256_GCM,data:NdHUj00/cdq1+hKes3irtMEGcA==,iv:jfMyTOznA+bTVBXvrN6Prq0Z0jvLNcm/7x0iauaSvw0=,tag:74c7l5sRjYphQGG8ky+3CQ==,type:str]
|
||||||
|
caldav: ENC[AES256_GCM,data:cmgO/btKdGG4I6B4MMDMrwFvZuSpAYJZZkw6XJ5qd/qxYaMnvKYzQ1VQUaoxYsxCgunm2/d/76NK3/ZojAaIqFVeN3gnd5wRmFty1g==,iv:nBXUBtfabaAeK5bs9wmEwkeGOK7UUL+kALd3W4qRvc0=,tag:oQaNH8Kdn62T+EVVOgfR8Q==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1zdjm8qa5t25mca0xxhhkpuh85mgg4l267mqjj2pdttksq7zg4unqdmqyp4
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZQU5MS2FxTEg3SGwxNDZq
|
||||||
|
SmJvbi9tZWtCL3kxVTYydk1YeURWVTBJWkZFCjQyUHRuU2U4ZWVGekpDOUFqTlQ1
|
||||||
|
SlNxZTVXZWZ6dVJZQ0QvcG5yNTNPazAKLS0tIG1RTjcvRk5KN3FuakhkdUdYM2Qv
|
||||||
|
MnJpRGdkZ0dIZ1dEOFF1ZVVXbmdPT3MKBQSQiVjvTvBOdSciHkWoLRaHetw5m200
|
||||||
|
SG7+K345GT4pWnQSzSGN26eKDvWNES0tZFIpUB9mpCslgIjpCpvl5Q==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2023-12-08T21:04:26Z"
|
||||||
|
mac: ENC[AES256_GCM,data:NDRcclJRrK7RjRCfP8jLJ2aXa5LtttIE20i1Her70AqOca9pcb7UV+DD3/lIb/NRM8wbIQMuOw4T7CnAnPTrokzqDTiPkafh3zM+qjV5FFSucktkMtJCKwYePGdS7RZOkydISTWPFVoo7FPX0i51+mGRtzMPhm9lufluITeZ46w=,iv:rxGIUaeEaOGYL5Vp9aB8UXBxX2U+H/Dtm+PEPLMaYis=,tag:0pI11GBOVtiRzcsmQtYRHg==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2023-12-08T07:40:01Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMAwDh3VI7VctTARAAq7uFn44YEG6/af/V1OyoMrgZ1KGGOmRITE7j1+PHJWmq
|
||||||
|
wBUwAKXyuSTo5bzRUdynEWdKwYD/7YY+jqO57orcWVql6MJUoxYXNEK3ZF7lDXdL
|
||||||
|
q1SOnb0FjdNPhPCR2pUByyi/KmvnFBX/OQ8tc16nQ6nZ7KkRdUFPtOFNqX6cGARV
|
||||||
|
jIu3BoYJn1Aitax2c6Gt8K/OH31o24wp38F7O9tQTImezOjArsfzgTR+aL9UOv1B
|
||||||
|
uYgDtnKXqSaY20h8nSnBgE3+pxWM75rp8a1JFkbQCWn1dDRWhmfCcdS4GHXfHeKP
|
||||||
|
jezlNQvi7DfIgN0QxyrMd97MW4bOAMQ7HNT7bH28L3pXRU2OfJdgUFmVG6Iakubh
|
||||||
|
2PXyO8vh+KIiZNGhGPCLVOtHiL6UhjZuULCE65Kh4AAm5PsUcbV1vTGi+Vnoq1Ed
|
||||||
|
3DAYNjIkXx0pv1RB+d1T4Ym+I6xnm7HKtnY4CZCDeszyi9fluok/a8FbaaNK5qpd
|
||||||
|
YfS4S+eNymUtz9nEKKFvF5dYM7cqTkVRo0rsBB5gxvaWVxt4iveWHNelYWgfbfAe
|
||||||
|
bc2gWdZ3vpHjdjxVAISeClqwPKF+ZpZLuwSMoSQxWSMSMC7V6kUl3CF32zdsJT6E
|
||||||
|
ob0uJ2DILcQj91rd1EDH6RW4eZfvfglV+WlpEH7GkYa413TNem3vsGKYLIe95rSF
|
||||||
|
AgwDC9FRLmchgYQBD/9UlyxDh7ehiGxf7iX2d//TJLNtDb8yAk4nNb49VEJRq1D2
|
||||||
|
+/qaST4dtwIfFR9uqiQVKo6lIk4q3vk9QXUJQsGPIj7GpXiHb+2gxBOqdz7GFihD
|
||||||
|
3bXDcVGFRwynz2FWmydwS+NFFaqOe/HBIF9TYE64sxXu8RXDOyLI6cv8zFIv1DqQ
|
||||||
|
ogZfSJNAqEFjUehWUcW7KA3fFs5/FEPEK07rJu6PVkyi4lWl7AtvZpTNFX7wKY1t
|
||||||
|
EKzhtpPiPjKR8iMGcEG/S1jf9r7MKzpFlu7QAmONdxQLjWgKV71clHIXt39PVOdP
|
||||||
|
6rz/QtWu2nZUBwNZSxiPPssTpONG0iiX4N5u6Pb9hrgw1WLyObwRK9cOeCqEuLMt
|
||||||
|
LCpVeIt2PV4ozMMfQC6v9PlR3aQcaWLOH9E7ogbXU642kVAIcCv/nsFJtU8QkxwN
|
||||||
|
JFAU9UBLNa4FssBjeBJx7HyUN8V3jDzmXYZnjcEalH1hzXw4Nl0rkUpiZTPUeCBP
|
||||||
|
qt2QJQFT4Hn6bUOnM0yzNcwJzXwTMxrjYSs1Kj6Lm6CdelBBnccXqDV/Hc9JR1kc
|
||||||
|
BM+u8BtUNvTRKSE5sfl93FwYqFgSKJWfmBB6YsgVN6up2lEzUez4kgh9KXlal0Mv
|
||||||
|
8ENUKEdIENfU8IPAn8Kyc7SIiW9yugp6g+PoEBc5/aEWiguS+CReCwiM6t6XktJe
|
||||||
|
Abf3/jzpDVs/X0Y9M70+OxAe//dUoVj0jd52l8uTA4v7s++sfB2vv6DVvW6y3Vrw
|
||||||
|
l8+JPgcfDXVe4it7pYxCY+EzU1y+g2d3t6XolGqyHJ88d23XRXDQ5Uz/IJhbpw==
|
||||||
|
=zTtX
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: 4BE7925262289B476DBBC17B76FD3810215AE097
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.8.1
|
||||||
3
secrets/keys/gpg-owner-trust.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# List of assigned trustvalues, created So 17 Sep 2023 03:37:14 CEST
|
||||||
|
# (Use "gpg --import-ownertrust" to restore them)
|
||||||
|
4BE7925262289B476DBBC17B76FD3810215AE097:6:
|
||||||
109
secrets/keys/gpg-public-key-0x76FD3810215AE097.asc
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
dF/fBNFmNC2yUJ6dc2F1iU9S7jY4TiCv
|
||||||
|
=KpA6
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
1
secrets/keys/nixos.pub
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGPg63pYhrS2UAzFvcmqGrCkp/DG/NihDO/JS3kBs/J+ swarsel@nixos
|
||||||
1
secrets/keys/stand.pub
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMr0iwKZtJDYfs4WJ1PfgDHcP1/9KqQOoqTSKWrZerUu stand sops
|
||||||
1
secrets/keys/surface.pub
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA0GIpY0NvYTKS9BWwl3G9qZtq65LqsrcVDMJzctzB2G surface sops
|
||||||
38
templates/cpp_flake.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
# flake.nix
|
||||||
|
{
|
||||||
|
description = "C/C++ environment";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {nixpkgs, ...}: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
llvm = pkgs.llvmPackages_latest;
|
||||||
|
in {
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
gcc
|
||||||
|
#builder
|
||||||
|
cmake
|
||||||
|
gnumake
|
||||||
|
#headers
|
||||||
|
clang-tools
|
||||||
|
#lsp
|
||||||
|
llvm.libstdcxxClang
|
||||||
|
#tools
|
||||||
|
cppcheck
|
||||||
|
valgrind
|
||||||
|
doxygen
|
||||||
|
];
|
||||||
|
hardeningDisable = ["all"];
|
||||||
|
# direnv does not allow aliases, use scripts as a workaround
|
||||||
|
shellHook = ''
|
||||||
|
PATH_add ~/.dotfiles/scripts/devShell
|
||||||
|
'';
|
||||||
|
# ...
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
46
templates/cu_flake.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
# flake.nix
|
||||||
|
{
|
||||||
|
description = "CUDA environment";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {nixpkgs, ...}: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; };
|
||||||
|
llvm = pkgs.llvmPackages_latest;
|
||||||
|
in {
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
# gcc
|
||||||
|
#builder
|
||||||
|
# cmake
|
||||||
|
# gnumake
|
||||||
|
#headers
|
||||||
|
clang-tools
|
||||||
|
#lsp
|
||||||
|
# llvm.libstdcxxClang
|
||||||
|
# cudaPackages.cuda_nvcc
|
||||||
|
#tools
|
||||||
|
cppcheck
|
||||||
|
valgrind
|
||||||
|
doxygen
|
||||||
|
cudatoolkit
|
||||||
|
|
||||||
|
(pkgs.python3.withPackages (python-pkgs: [
|
||||||
|
python-pkgs.numpy
|
||||||
|
python-pkgs.pandas
|
||||||
|
python-pkgs.scipy
|
||||||
|
python-pkgs.matplotlib
|
||||||
|
python-pkgs.requests
|
||||||
|
python-pkgs.debugpy
|
||||||
|
python-pkgs.python-lsp-server
|
||||||
|
]))
|
||||||
|
];
|
||||||
|
hardeningDisable = ["all"];
|
||||||
|
# ...
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
28
templates/py_flake.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
description = "Python Flake";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {nixpkgs, ...}: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in {
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
|
||||||
|
packages = [
|
||||||
|
(pkgs.python3.withPackages (python-pkgs: [
|
||||||
|
python-pkgs.numpy
|
||||||
|
python-pkgs.pandas
|
||||||
|
python-pkgs.scipy
|
||||||
|
python-pkgs.matplotlib
|
||||||
|
python-pkgs.requests
|
||||||
|
python-pkgs.debugpy
|
||||||
|
python-pkgs.flake8
|
||||||
|
python-pkgs.gnureadline
|
||||||
|
python-pkgs.python-lsp-server
|
||||||
|
]))
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
36
templates/rust_flake.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
# flake.nix
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {self, nixpkgs, rust-overlay, ...}: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [rust-overlay.overlays.default];
|
||||||
|
};
|
||||||
|
toolchain = pkgs.rust-bin.fromRustupToolchainFile ./toolchain.toml;
|
||||||
|
in {
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
cargo
|
||||||
|
clippy
|
||||||
|
rustc
|
||||||
|
rustfmt
|
||||||
|
toolchain
|
||||||
|
rust-analyzer-unwrapped
|
||||||
|
rust-analyzer
|
||||||
|
];
|
||||||
|
env = {
|
||||||
|
RUST_BACKTRACE = "full";
|
||||||
|
};
|
||||||
|
RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library";
|
||||||
|
|
||||||
|
# ...
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
29
templates/tex_standard.tex
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
\documentclass[11pt]{article}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\usepackage{wrapfig}
|
||||||
|
\usepackage{rotating}
|
||||||
|
\usepackage[normalem]{ulem}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{capt-of}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{verbatim}
|
||||||
|
\usepackage{listings}
|
||||||
|
\author{Leon Schwarzäugl}
|
||||||
|
\date{\today}
|
||||||
|
\title{--NAME--}
|
||||||
|
\hypersetup{
|
||||||
|
pdfauthor={Leon Schwarzäugl},
|
||||||
|
pdftitle={--METADATA-NAME--},
|
||||||
|
pdfkeywords={},
|
||||||
|
pdfsubject={},
|
||||||
|
pdfcreator={Emacs 30.0.50 (Org mode 9.6.12)},
|
||||||
|
pdflang={English}}
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
||||||
6
templates/toolchain.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[toolchain]
|
||||||
|
channel = "stable"
|
||||||
|
components = [
|
||||||
|
"rust-src"
|
||||||
|
# ...
|
||||||
|
]
|
||||||
BIN
wallpaper/lenovowp.png
Normal file
|
After Width: | Height: | Size: 7.9 MiB |
BIN
wallpaper/serverwp.png
Normal file
|
After Width: | Height: | Size: 389 KiB |
BIN
wallpaper/standwp.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
wallpaper/surfacewp.png
Normal file
|
After Width: | Height: | Size: 3 MiB |
BIN
wallpaper/swarsel.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
35
wallpaper/swarsel.yaml
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
# scheme: "better-contrast"
|
||||||
|
author: "Swarsel"
|
||||||
|
base00: "1D252C" # #1d252c passt
|
||||||
|
base01: "171D23" # #171d23
|
||||||
|
base02: "5EC4FF" # #5EC4FF
|
||||||
|
base03: "566C7D" # #566C7D passt
|
||||||
|
base04: "5EC4FF" # #5EC4FF passt
|
||||||
|
base05: "A0B3C5" # #A0B3C5 passt
|
||||||
|
base06: "C06ECE" # #C06ECE passt
|
||||||
|
base07: "A0B3C5" # #A0B3C5 passt
|
||||||
|
base08: "D95468" # #D95468 passt
|
||||||
|
base09: "FFA880" # #ffA880 passt
|
||||||
|
base0A: "5EC4FF" # #5EC4FF
|
||||||
|
base0B: "8BD49C" # #8BD49C
|
||||||
|
base0C: "008B94" # #008B94 passt
|
||||||
|
base0D: "5EC4FF" # #5EC4FF passt
|
||||||
|
base0E: "C06ECE" # #C06ECE passt
|
||||||
|
base0F: "5EC4FF" # #5EC4FF passt
|
||||||
|
|
||||||
|
# base00 - Default Background
|
||||||
|
# base01 - Lighter Background (Used for status bars)
|
||||||
|
# base02 - Selection Background
|
||||||
|
# base03 - Comments, Invisibles, Line Highlighting
|
||||||
|
# base04 - Dark Foreground (Used for status bars)
|
||||||
|
# base05 - Default Foreground, Caret, Delimiters, Operators
|
||||||
|
# base06 - Light Foreground (Not often used)
|
||||||
|
# base07 - Light Background (Not often used)
|
||||||
|
# base08 - Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
|
||||||
|
# base09 - Integers, Boolean, Constants, XML Attributes, Markup Link Url
|
||||||
|
# base0A - Classes, Markup Bold, Search Text Background
|
||||||
|
# base0B - Strings, Inherited Class, Markup Code, Diff Inserted
|
||||||
|
# base0C - Support, Regular Expressions, Escape Characters, Markup Quotes
|
||||||
|
# base0D - Functions, Methods, Attribute IDs, Headings
|
||||||
|
# base0E - Keywords, Storage, Selector, Markup Italic, Diff Changed
|
||||||
|
# base0F - Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
|
||||||
BIN
wallpaper/user.png
Normal file
|
After Width: | Height: | Size: 6.9 MiB |