Compare commits
65 Commits
de46bcead1
...
main
Author | SHA1 | Date | |
---|---|---|---|
9ed92a3f91
|
|||
28ba8e57bc
|
|||
ae6da0ecc4
|
|||
ae4462d98f
|
|||
b0c1be575b
|
|||
4f1f1dfa77
|
|||
a7b7f92d94
|
|||
fae38b30e1
|
|||
e1c6428218
|
|||
a2f5757a36
|
|||
8b67965f22
|
|||
71dffa98ad
|
|||
5dfaa1d593
|
|||
9da8bbeb37
|
|||
d7d2a131aa
|
|||
489e53b3ca
|
|||
2b7235f3e6
|
|||
3266df0ae9
|
|||
541a9e9d7b
|
|||
6149734aa3
|
|||
9a2ff5baf8
|
|||
23a3c153f5
|
|||
cb97b5c09c
|
|||
e1f9112222
|
|||
fae62232cc
|
|||
dcf00b71fe
|
|||
409eb0e4d9
|
|||
168460efff
|
|||
85ff8412a7
|
|||
f26f739f29
|
|||
5be09f440a
|
|||
254ae35c72
|
|||
6eff12ec36
|
|||
30c4ee388f
|
|||
bb14d0ed56
|
|||
229804be02
|
|||
625b1d0249
|
|||
9fe61160a8
|
|||
38a7200862
|
|||
eb85c39a96
|
|||
8809d6a5d4
|
|||
71d0c7a202
|
|||
8a352b287f
|
|||
a7bb2b53f9
|
|||
49c0c5fcc3
|
|||
62d2fd6779
|
|||
a463dec994
|
|||
052499525b
|
|||
9945f74cfa
|
|||
659efbcb3e
|
|||
9cc53818e3
|
|||
f7b84c1de6
|
|||
3beca553a2
|
|||
175171a3c1
|
|||
05d4fb2cf1
|
|||
4f064d5451
|
|||
9e10776439
|
|||
6111707cc0
|
|||
23179e6e92
|
|||
5384754f60
|
|||
4ccbc6e5bf
|
|||
ea4d8c172d
|
|||
53832e7687
|
|||
d26d2d5116
|
|||
a2cd8d467f
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/.direnv/
|
||||||
|
/dconf.nix
|
31
README.md
31
README.md
@ -1,5 +1,34 @@
|
|||||||
# Home Manager Config
|
# Home Manager Config
|
||||||
|
|
||||||
|
## Systems
|
||||||
|
|
||||||
|
Current available systems are:
|
||||||
|
|
||||||
|
* `pc`
|
||||||
|
My workstation PC running NixOS.
|
||||||
|
* `laptop`
|
||||||
|
My laptop, a Thinkpad X1 Carbon Gen 7, also running NixOS.
|
||||||
|
|
||||||
|
After
|
||||||
|
|
||||||
|
## dconf
|
||||||
|
|
||||||
|
It is possible to observe live changes to dconf via `dconf watch /`.
|
||||||
|
If you want to convert the current dconf to a nix expression enter the dev shell with `nix develop` and do
|
||||||
|
|
||||||
|
```txt
|
||||||
|
dconf dump / | dconf2nix > dconf.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
Build with
|
||||||
|
|
||||||
|
```txt
|
||||||
|
home-manager switch --flake .#[configuration]
|
||||||
|
```
|
||||||
|
|
||||||
|
After first deployment it suffices to do `hms` for `home-manager switch ...`.
|
||||||
|
This relies on the flake being saved to `$HOME/.config/home-manager`.
|
||||||
|
|
||||||
## Laptop
|
## Laptop
|
||||||
|
|
||||||
Specific instructions for the `Lenovo Thinkpad Yoga C13 (Morphius)`
|
Specific instructions for the `Lenovo Thinkpad Yoga C13 (Morphius)`
|
||||||
@ -46,7 +75,7 @@ home-manager switch --flake .#laptop --extra-experimental-features "nix-command
|
|||||||
|
|
||||||
Configure the following:
|
Configure the following:
|
||||||
|
|
||||||
* synthing
|
* syncthing
|
||||||
* gpg
|
* gpg
|
||||||
|
|
||||||
In case ssh does not work work do
|
In case ssh does not work work do
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfree = false;
|
|
||||||
|
|
||||||
allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [
|
|
||||||
"vscode"
|
|
||||||
"vscode-extension-MS-python-vscode-pylance"
|
|
||||||
"vscode-extension-github-copilot"
|
|
||||||
"osu-lazer"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# Basic utils
|
|
||||||
unzip
|
|
||||||
magic-wormhole
|
|
||||||
|
|
||||||
# Important graphical applications
|
|
||||||
keepassxc
|
|
||||||
logseq
|
|
||||||
xournalpp
|
|
||||||
onlyoffice-bin
|
|
||||||
|
|
||||||
# Games
|
|
||||||
osu-lazer
|
|
||||||
|
|
||||||
# Communication
|
|
||||||
webcord
|
|
||||||
telegram-desktop
|
|
||||||
signal-desktop
|
|
||||||
element-desktop
|
|
||||||
|
|
||||||
# Creative software
|
|
||||||
gimp
|
|
||||||
davinci-resolve
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
gnome-decoder
|
|
||||||
tor-browser-bundle-bin
|
|
||||||
|
|
||||||
hypnotix
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,81 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
programs.vscode = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
enableUpdateCheck = false;
|
|
||||||
enableExtensionUpdateCheck = false;
|
|
||||||
|
|
||||||
keybindings = [
|
|
||||||
{
|
|
||||||
key = "alt+a";
|
|
||||||
command = "editor.action.commentLine";
|
|
||||||
when = "editorTextFocus && !editorReadonly";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
|
||||||
jnoortheen.nix-ide
|
|
||||||
arrterian.nix-env-selector
|
|
||||||
mkhl.direnv
|
|
||||||
ms-python.python
|
|
||||||
ms-python.vscode-pylance
|
|
||||||
james-yu.latex-workshop
|
|
||||||
github.copilot
|
|
||||||
davidanson.vscode-markdownlint
|
|
||||||
tamasfe.even-better-toml
|
|
||||||
asciidoctor.asciidoctor-vscode
|
|
||||||
streetsidesoftware.code-spell-checker
|
|
||||||
];
|
|
||||||
|
|
||||||
userSettings = {
|
|
||||||
"git.enableCommitSigning" = true;
|
|
||||||
|
|
||||||
"window.menuBarVisibility" = "hidden";
|
|
||||||
"editor.fontFamily" = "'FiraCode Nerd Font'";
|
|
||||||
"editor.fontLigatures" = true;
|
|
||||||
"editor.minimap.enabled" = false;
|
|
||||||
|
|
||||||
"[nix]" = {
|
|
||||||
"editor.formatOnSave" = true;
|
|
||||||
"editor.formatOnSaveMode" = "file"; # modificationsIfAvailable does not work
|
|
||||||
};
|
|
||||||
|
|
||||||
"[python]" = {
|
|
||||||
"editor.formatOnSave" = true;
|
|
||||||
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
|
||||||
};
|
|
||||||
|
|
||||||
"[latex]" = {
|
|
||||||
"editor.formatOnSave" = true;
|
|
||||||
"editor.formatOnSaveMode" = "file"; # modificationsIfAvailable does not work
|
|
||||||
};
|
|
||||||
|
|
||||||
"[toml]" = {
|
|
||||||
"editor.formatOnSave" = true;
|
|
||||||
"editor.modificationsIfAvailable" = "file";
|
|
||||||
};
|
|
||||||
|
|
||||||
"python.formatting.autopep8Path" = "${pkgs.python311Packages.autopep8}/bin/autopep8";
|
|
||||||
|
|
||||||
"nix.enableLanguageServer" = true;
|
|
||||||
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
|
||||||
"nix.serverSettings" = {
|
|
||||||
nil = {
|
|
||||||
formatting = {command = ["${pkgs.alejandra}/bin/alejandra"];};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"direnv.path.executable" = "${pkgs.direnv}/bin/direnv";
|
|
||||||
|
|
||||||
"latex-workshop.latex.outDir" = "%DIR%/out";
|
|
||||||
|
|
||||||
"terminal.integrated.profiles.linux" = {
|
|
||||||
"bash" = {
|
|
||||||
"path" = "${pkgs.bashInteractive}/bin/bash";
|
|
||||||
"args" = [];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"terminal.integrated.defaultProfile.linux" = "bash";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
364
flake.lock
generated
364
flake.lock
generated
@ -1,13 +1,29 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"appimage-runtime": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1652289700,
|
||||||
|
"narHash": "sha256-uxQBDy/JA7uEboTOUmGaZ2FAKY/0dQ9c0A0N8+J+a7I=",
|
||||||
|
"owner": "AppImageCrafters",
|
||||||
|
"repo": "appimage-runtime",
|
||||||
|
"rev": "6500a1ef68e039caba2ebab1c7ed74c2ea9e67a5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "AppImageCrafters",
|
||||||
|
"repo": "appimage-runtime",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673956053,
|
"lastModified": 1650374568,
|
||||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -32,13 +48,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_3": {
|
||||||
|
"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-utils": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1667395993,
|
"lastModified": 1656928814,
|
||||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -48,12 +80,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1659877975,
|
"lastModified": 1685518550,
|
||||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681202837,
|
||||||
|
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667395993,
|
||||||
|
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -91,20 +159,42 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694465129,
|
"lastModified": 1706981411,
|
||||||
"narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=",
|
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b",
|
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-23.05",
|
"ref": "release-23.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-appimage": {
|
||||||
|
"inputs": {
|
||||||
|
"appimage-runtime": "appimage-runtime",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"squashfuse": "squashfuse"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695276866,
|
||||||
|
"narHash": "sha256-/BBbYIoDhIPcVwhvau/g4lzrjTnudeRLW5qaTu7LAVs=",
|
||||||
|
"owner": "ralismark",
|
||||||
|
"repo": "nix-appimage",
|
||||||
|
"rev": "17dd6001ec228ea0b8505d6904fc5796d3de5012",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ralismark",
|
||||||
|
"repo": "nix-appimage",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-index-database": {
|
"nix-index-database": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -112,11 +202,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694921880,
|
"lastModified": 1707016097,
|
||||||
"narHash": "sha256-yU36cs5UdzhTwsM9bUWUz43N//ELzQ1ro69C07pU/8E=",
|
"narHash": "sha256-V4lHr6hFQ3rK650dh64Xffxsf4kse9vUYWsM+ldjkco=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "9d2bcc47110b3b6217dfebd6761ba20bc78aedf2",
|
"rev": "3e3dad2808379c522138e2e8b0eb73500721a237",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -127,32 +217,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694937365,
|
"lastModified": 1707091808,
|
||||||
"narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=",
|
"narHash": "sha256-LahKBAfGbY836gtpVNnWwBTIzN7yf/uYM/S0g393r0Y=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5d017a8822e0907fb96f7700a319f9fe2434de02",
|
"rev": "9f2ee8c91ac42da3ae6c6a1d21555f283458247e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-23.05",
|
"ref": "nixos-23.11",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-master": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1694974614,
|
|
||||||
"narHash": "sha256-0mXsTjf6bAtRStahFiRxT1o8SiegvI02tZoIAhczZLE=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "2e2c6b2f027463700b557143cb04d561d8b63f9c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "master",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -173,61 +247,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1694767346,
|
|
||||||
"narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1675309347,
|
"lastModified": 1659526864,
|
||||||
"narHash": "sha256-D3CQ6HRDT2m3XJlrzb5jKq4vNFR5xFTEFKC7iSjlFpM=",
|
"narHash": "sha256-XFzXrc1+6DZb9hBgHfEzfwylPUSqVFJbQPs8eOgYufU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "006c3bd4dd2f5d1d2094047f307cbf9e2b73d9c5",
|
"rev": "478f3cbc8448b5852539d785fbfe9a53304133be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"id": "nixpkgs",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-22.05",
|
||||||
"repo": "nixpkgs",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689088367,
|
|
||||||
"narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "5c9ddb86679c400d6b7360797b8a22167c2053f8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "release-23.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694975080,
|
"lastModified": 1707245063,
|
||||||
"narHash": "sha256-yxk3j1fV+f+BtNXgKgYgHS+hxAOBKCOGKQCZnuGJrjI=",
|
"narHash": "sha256-1E7kPslBZpGTmz7UTR/HnpCy8Rfc4Kv/njBiTTF1G2g=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "851838871ae06d27373ca51878fef8591c1e1260",
|
"rev": "cd11db9649316bcd231a6ab9c677284ee0d8c184",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -238,7 +279,7 @@
|
|||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
"wallpaper",
|
"wallpaper",
|
||||||
"flake-utils"
|
"flake-utils"
|
||||||
@ -269,17 +310,150 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"wallpaper": "wallpaper",
|
"scanned-image-extractor": "scanned-image-extractor",
|
||||||
"zig": "zig"
|
"spicetify": "spicetify",
|
||||||
|
"starc": "starc",
|
||||||
|
"vscode-extensions": "vscode-extensions",
|
||||||
|
"wallpaper": "wallpaper"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scanned-image-extractor": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-appimage": "nix-appimage",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707220285,
|
||||||
|
"narHash": "sha256-JWXtWnw07xLTPeE51eiNS3MeMltP11DiS5cYsT1r1Tc=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "846a94c50f089cafe49903ce6e157fe714520a8a",
|
||||||
|
"revCount": 11,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.krsnik.at/Kristian/scanned-image-extractor.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.krsnik.at/Kristian/scanned-image-extractor.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spicetify": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1704167711,
|
||||||
|
"narHash": "sha256-kFDq+kf/Di/P8bq5sUP8pVwRkrSVrABksBjMPmLic3s=",
|
||||||
|
"owner": "the-argus",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"rev": "1325416f951d6a82cfddb1289864ad782e2b87c4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "the-argus",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"squashfuse": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1655253282,
|
||||||
|
"narHash": "sha256-RIhDXzpmrYUOwj5OYzjWKJw0cwE+L3t/9pIkg/hFXA0=",
|
||||||
|
"owner": "vasi",
|
||||||
|
"repo": "squashfuse",
|
||||||
|
"rev": "d1d7ddafb765098b34239eacaf2f9abee1fbc27c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "vasi",
|
||||||
|
"repo": "squashfuse",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"starc": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707220280,
|
||||||
|
"narHash": "sha256-VBgd9wOebW7RWym52434Mgz5w2k1csgw35JAe28Buvs=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "5586cecb4f76dea16f38b2c0678904edbcfb191b",
|
||||||
|
"revCount": 18,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.krsnik.at/Kristian/starc-flake.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.krsnik.at/Kristian/starc-flake.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vscode-extensions": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"flake-utils": "flake-utils_3",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707182119,
|
||||||
|
"narHash": "sha256-Egt1PmjNAbx2nS0h/iWpaTCcOzLPHpRXzTJBt3waEAs=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-vscode-extensions",
|
||||||
|
"rev": "4e7767c214364217e0a7611dca3f3420555ceb20",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-vscode-extensions",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"wallpaper": {
|
"wallpaper": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils_4",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"pre-commit-hooks": "pre-commit-hooks"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -295,26 +469,6 @@
|
|||||||
"repo": "nix-wallpaper",
|
"repo": "nix-wallpaper",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"zig": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": "nixpkgs_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1694952442,
|
|
||||||
"narHash": "sha256-9CblLz91gHuz5NTrZcW/Q53wT0i1N3Px5xKjpJGmm/k=",
|
|
||||||
"owner": "mitchellh",
|
|
||||||
"repo": "zig-overlay",
|
|
||||||
"rev": "2689ccaadb1737efa23398844efef1fc73ad7fa4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "mitchellh",
|
|
||||||
"repo": "zig-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
118
flake.nix
118
flake.nix
@ -2,54 +2,82 @@
|
|||||||
description = "Home Manager configuration of kristian";
|
description = "Home Manager configuration of kristian";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
# nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
# nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.05";
|
url = "github:nix-community/home-manager/release-23.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Nix User Repository
|
nur = {
|
||||||
nur.url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
|
};
|
||||||
|
|
||||||
# Zig
|
wallpaper = {
|
||||||
zig.url = "github:mitchellh/zig-overlay";
|
url = "github:lunik1/nix-wallpaper";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
# Wallpaper
|
|
||||||
wallpaper.url = "github:lunik1/nix-wallpaper";
|
|
||||||
|
|
||||||
# Nix index
|
|
||||||
nix-index-database = {
|
nix-index-database = {
|
||||||
url = "github:Mic92/nix-index-database";
|
url = "github:Mic92/nix-index-database";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vscode-extensions = {
|
||||||
|
url = "github:nix-community/nix-vscode-extensions";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
spicetify = {
|
||||||
|
url = "github:the-argus/spicetify-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
starc = {
|
||||||
|
url = "git+https://git.krsnik.at/Kristian/starc-flake.git";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
scanned-image-extractor = {
|
||||||
|
url = "git+https://git.krsnik.at/Kristian/scanned-image-extractor.git";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
# nixpkgs-unstable,
|
||||||
nixpkgs-master,
|
# nixpkgs-master,
|
||||||
home-manager,
|
home-manager,
|
||||||
nur,
|
nur,
|
||||||
zig,
|
|
||||||
wallpaper,
|
wallpaper,
|
||||||
nix-index-database,
|
nix-index-database,
|
||||||
|
vscode-extensions,
|
||||||
|
spicetify,
|
||||||
|
starc,
|
||||||
|
scanned-image-extractor,
|
||||||
}: let
|
}: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
in {
|
in {
|
||||||
formatter.${system} = pkgs.alejandra;
|
formatter.${system} = pkgs.alejandra;
|
||||||
|
|
||||||
|
homeConfigurations = let
|
||||||
commonModules = [
|
commonModules = [
|
||||||
./common
|
./systems/common
|
||||||
|
|
||||||
{
|
{
|
||||||
_module.args.wallpaper = wallpaper.packages.${system}.default;
|
_module.args = {
|
||||||
|
inherit spicetify;
|
||||||
|
wallpaper = wallpaper.packages.${system}.default;
|
||||||
|
libs = import ./libs;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spicetify.homeManagerModule
|
||||||
|
|
||||||
nur.nixosModules.nur
|
nur.nixosModules.nur
|
||||||
|
|
||||||
nix-index-database.hmModules.nix-index
|
nix-index-database.hmModules.nix-index
|
||||||
@ -59,35 +87,35 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
zig.overlays.default # Add zig
|
vscode-extensions.overlays.default
|
||||||
( # https://github.com/nix-community/home-manager/issues/1538#issuecomment-706627100
|
|
||||||
final: prev: {
|
|
||||||
unstable = import nixpkgs-unstable {
|
|
||||||
system = final.system;
|
|
||||||
config.allowUnfreePredicate = _: true;
|
|
||||||
};
|
|
||||||
master = import nixpkgs-master {
|
|
||||||
system = final.system;
|
|
||||||
config.allowUnfreePredicate = _: true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
( # Overrides davinci-resolve with the unstable version because of https://github.com/NixOS/nixpkgs/pull/246074
|
|
||||||
final: prev: {davinci-resolve = final.master.davinci-resolve;}
|
|
||||||
)
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
homeConfigurations = {
|
starc.overlays.default
|
||||||
|
scanned-image-extractor.overlays.default
|
||||||
|
|
||||||
|
# ( # https://github.com/nix-community/home-manager/issues/1538#issuecomment-706627100
|
||||||
|
# final: prev: {
|
||||||
|
# unstable = import nixpkgs-unstable {
|
||||||
|
# system = final.system;
|
||||||
|
# config.allowUnfreePredicate = _: true;
|
||||||
|
# };
|
||||||
|
# master = import nixpkgs-master {
|
||||||
|
# system = final.system;
|
||||||
|
# config.allowUnfreePredicate = _: true;
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
in {
|
||||||
pc = home-manager.lib.homeManagerConfiguration {
|
pc = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|
||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
./pc
|
./systems/pc
|
||||||
]
|
]
|
||||||
++ self.commonModules;
|
++ commonModules;
|
||||||
};
|
};
|
||||||
|
|
||||||
laptop = home-manager.lib.homeManagerConfiguration {
|
laptop = home-manager.lib.homeManagerConfiguration {
|
||||||
@ -95,10 +123,16 @@
|
|||||||
|
|
||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
./laptop
|
./systems/laptop
|
||||||
]
|
]
|
||||||
++ self.commonModules;
|
++ commonModules;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
devShells.${system}.default = pkgs.mkShellNoCC {
|
||||||
|
packages = [
|
||||||
|
pkgs.dconf2nix
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
16
libs/default.nix
Normal file
16
libs/default.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
mkAutostart = {
|
||||||
|
pkgs,
|
||||||
|
name,
|
||||||
|
command,
|
||||||
|
}: {
|
||||||
|
source = "${
|
||||||
|
pkgs.makeDesktopItem {
|
||||||
|
name = "${name}-autostart";
|
||||||
|
desktopName = "${name}-autostart";
|
||||||
|
exec = command;
|
||||||
|
noDisplay = true;
|
||||||
|
}
|
||||||
|
}/share/applications/${name}-autostart.desktop";
|
||||||
|
};
|
||||||
|
}
|
@ -7,6 +7,7 @@
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
code = "codium"; # Alias VSCode with VSCodium
|
||||||
ll = "ls -lh";
|
ll = "ls -lh";
|
||||||
la = "ls -lah";
|
la = "ls -lah";
|
||||||
".." = "cd ..";
|
".." = "cd ..";
|
@ -26,7 +26,9 @@
|
|||||||
./gnome.nix
|
./gnome.nix
|
||||||
./gpg.nix
|
./gpg.nix
|
||||||
./nvim
|
./nvim
|
||||||
|
./obs.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
|
./spiceify.nix
|
||||||
./thunderbird.nix
|
./thunderbird.nix
|
||||||
./vscode.nix
|
./vscode.nix
|
||||||
./mpv.nix
|
./mpv.nix
|
||||||
@ -35,18 +37,21 @@
|
|||||||
# Programs
|
# Programs
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true; # Allow home-manager to manage itself
|
home-manager.enable = true; # Allow home-manager to manage itself
|
||||||
obs-studio.enable = true;
|
|
||||||
yt-dlp.enable = true;
|
yt-dlp.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
defaultApplications = {
|
defaultApplications = let
|
||||||
"image/png" = ["org.gnome.eog.desktop"];
|
imageViewer = ["org.gnome.Loupe.desktop"];
|
||||||
"image/jpeg" = ["org.gnome.eog.desktop"];
|
videoViewer = ["mpv.desktop"];
|
||||||
"video/webm" = ["mpv.desktop"];
|
documentViewer = ["org.gnome.Evince.desktop"];
|
||||||
"application/pdf" = ["org.gnome.Evince.desktop"];
|
in {
|
||||||
|
"image/png" = imageViewer;
|
||||||
|
"image/jpeg" = imageViewer;
|
||||||
|
"video/webm" = videoViewer;
|
||||||
|
"application/pdf" = documentViewer;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -13,6 +13,7 @@
|
|||||||
sidebery
|
sidebery
|
||||||
sponsorblock
|
sponsorblock
|
||||||
dearrow
|
dearrow
|
||||||
|
user-agent-string-switcher
|
||||||
];
|
];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
@ -1,9 +1,11 @@
|
|||||||
{...}: {
|
{...}: {
|
||||||
programs.git = rec {
|
programs.git = let
|
||||||
enable = true;
|
|
||||||
|
|
||||||
userName = "Kristian Krsnik";
|
userName = "Kristian Krsnik";
|
||||||
userEmail = "git@krsnik.at";
|
userEmail = "git@krsnik.at";
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
inherit userName userEmail;
|
||||||
|
|
||||||
signing = {
|
signing = {
|
||||||
key = userEmail;
|
key = userEmail;
|
@ -35,14 +35,12 @@
|
|||||||
in {
|
in {
|
||||||
picture-uri = "file://${wallpaper.override {
|
picture-uri = "file://${wallpaper.override {
|
||||||
preset = "nord-snow-aurora";
|
preset = "nord-snow-aurora";
|
||||||
inherit width;
|
inherit width height;
|
||||||
inherit height;
|
|
||||||
}}/share/wallpapers/nixos-wallpaper.png";
|
}}/share/wallpapers/nixos-wallpaper.png";
|
||||||
|
|
||||||
picture-uri-dark = "file://${wallpaper.override {
|
picture-uri-dark = "file://${wallpaper.override {
|
||||||
preset = "nord-night-aurora";
|
preset = "nord-night-aurora";
|
||||||
inherit width;
|
inherit width height;
|
||||||
inherit height;
|
|
||||||
}}/share/wallpapers/nixos-wallpaper.png";
|
}}/share/wallpapers/nixos-wallpaper.png";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -53,6 +51,10 @@
|
|||||||
move-to-workspace-right = ["<Shift><Alt>2"];
|
move-to-workspace-right = ["<Shift><Alt>2"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||||
|
mic-mute = ["<Shift>AudioMute"];
|
||||||
|
};
|
||||||
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||||
binding = "<Shift><Alt>a";
|
binding = "<Shift><Alt>a";
|
||||||
command = "kgx";
|
command = "kgx";
|
||||||
@ -75,6 +77,7 @@
|
|||||||
"org/gnome/mutter" = {
|
"org/gnome/mutter" = {
|
||||||
edge-tiling = true;
|
edge-tiling = true;
|
||||||
dynamic-workspaces = true;
|
dynamic-workspaces = true;
|
||||||
|
workspaces-only-on-primary = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/Console" = {
|
"org/gnome/Console" = {
|
32
systems/common/obs.nix
Normal file
32
systems/common/obs.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.programs.obs;
|
||||||
|
in {
|
||||||
|
options.programs.obs = {
|
||||||
|
autostart = pkgs.lib.mkOption {
|
||||||
|
type = pkgs.lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
obs-source-record
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile = pkgs.lib.mkIf cfg.autostart {
|
||||||
|
"autostart/obs-autostart.desktop" = libs.mkAutostart {
|
||||||
|
inherit pkgs;
|
||||||
|
name = "obs";
|
||||||
|
command = "obs --startreplaybuffer";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
110
systems/common/packages.nix
Normal file
110
systems/common/packages.nix
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowUnfree = false;
|
||||||
|
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-25.9.0"
|
||||||
|
];
|
||||||
|
|
||||||
|
allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [
|
||||||
|
"osu-lazer"
|
||||||
|
"spotify"
|
||||||
|
"linuxsampler"
|
||||||
|
"libsciter"
|
||||||
|
"obsidian"
|
||||||
|
"steam"
|
||||||
|
"steam-original"
|
||||||
|
"davinci-resolve"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Basic utils
|
||||||
|
unzip
|
||||||
|
magic-wormhole
|
||||||
|
|
||||||
|
# Important graphical applications
|
||||||
|
keepassxc
|
||||||
|
logseq
|
||||||
|
xournalpp
|
||||||
|
libreoffice
|
||||||
|
onlyoffice-bin
|
||||||
|
|
||||||
|
# For windows applications
|
||||||
|
bottles
|
||||||
|
|
||||||
|
# Games
|
||||||
|
lutris
|
||||||
|
osu-lazer
|
||||||
|
r2modman
|
||||||
|
prismlauncher
|
||||||
|
|
||||||
|
# Communication
|
||||||
|
webcord
|
||||||
|
telegram-desktop
|
||||||
|
signal-desktop
|
||||||
|
element-desktop
|
||||||
|
|
||||||
|
# Creative software
|
||||||
|
gimp
|
||||||
|
inkscape
|
||||||
|
davinci-resolve
|
||||||
|
|
||||||
|
ardour # DAW
|
||||||
|
# plugins
|
||||||
|
sfizz
|
||||||
|
swh_lv2
|
||||||
|
zynaddsubfx
|
||||||
|
caps
|
||||||
|
cmt
|
||||||
|
distrho
|
||||||
|
surge
|
||||||
|
calf
|
||||||
|
dexed
|
||||||
|
odin2
|
||||||
|
ninjas2
|
||||||
|
linuxsampler
|
||||||
|
|
||||||
|
yabridge
|
||||||
|
yabridgectl
|
||||||
|
|
||||||
|
geonkick # for drums
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
gnome-decoder
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
obsidian
|
||||||
|
easyeffects
|
||||||
|
|
||||||
|
starc
|
||||||
|
scanned-image-extractor
|
||||||
|
|
||||||
|
rustdesk
|
||||||
|
wireshark
|
||||||
|
mullvad-vpn
|
||||||
|
|
||||||
|
# Entertainment
|
||||||
|
hypnotix
|
||||||
|
|
||||||
|
# VPN client for university
|
||||||
|
(
|
||||||
|
pkgs.writeScriptBin "univpn"
|
||||||
|
''
|
||||||
|
read -p "Username: " username
|
||||||
|
read -s -p "Password: " password
|
||||||
|
|
||||||
|
# newline
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
read -p "OTP: " otp
|
||||||
|
|
||||||
|
sudo ${pkgs.gof5}/bin/gof5 --server "vpn.univie.ac.at" --username "$username@$otp" --password "$password"
|
||||||
|
''
|
||||||
|
)
|
||||||
|
];
|
||||||
|
}
|
23
systems/common/spiceify.nix
Normal file
23
systems/common/spiceify.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
spicetify,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
spicePkgs = spicetify.packages.${pkgs.system}.default;
|
||||||
|
in {
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
theme = spicePkgs.themes.text;
|
||||||
|
colorScheme = "CatppuccinLatte";
|
||||||
|
|
||||||
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
|
shuffle # shuffle+ (special characters are sanitized out of ext names)
|
||||||
|
groupSession
|
||||||
|
wikify
|
||||||
|
fullScreen
|
||||||
|
playlistIntersection
|
||||||
|
phraseToPlaylist
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
136
systems/common/vscode.nix
Normal file
136
systems/common/vscode.nix
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
package = pkgs.vscodium; # Replace VSCode with VSCodium
|
||||||
|
|
||||||
|
enableUpdateCheck = false;
|
||||||
|
enableExtensionUpdateCheck = false;
|
||||||
|
|
||||||
|
keybindings = [
|
||||||
|
{
|
||||||
|
key = "alt+a";
|
||||||
|
command = "editor.action.commentLine";
|
||||||
|
when = "editorTextFocus && !editorReadonly";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# This will only yield extensions that are compatible with the installed version of vscode
|
||||||
|
extensions = with pkgs.vscode-marketplace; [
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
mkhl.direnv
|
||||||
|
ms-python.python
|
||||||
|
ms-python.vscode-pylance
|
||||||
|
ms-python.autopep8
|
||||||
|
james-yu.latex-workshop
|
||||||
|
davidanson.vscode-markdownlint
|
||||||
|
tamasfe.even-better-toml
|
||||||
|
asciidoctor.asciidoctor-vscode
|
||||||
|
ziglang.vscode-zig
|
||||||
|
slevesque.shader
|
||||||
|
ms-vscode.cpptools
|
||||||
|
nvarner.typst-lsp
|
||||||
|
redhat.java
|
||||||
|
|
||||||
|
streetsidesoftware.code-spell-checker
|
||||||
|
streetsidesoftware.code-spell-checker-german
|
||||||
|
];
|
||||||
|
|
||||||
|
userSettings = {
|
||||||
|
"git.enableCommitSigning" = true;
|
||||||
|
|
||||||
|
"window.menuBarVisibility" = "toggle";
|
||||||
|
|
||||||
|
"editor.fontFamily" = "'FiraCode Nerd Font'";
|
||||||
|
"editor.fontLigatures" = true;
|
||||||
|
"editor.minimap.enabled" = false;
|
||||||
|
|
||||||
|
"extensions.ignoreRecommendations" = true;
|
||||||
|
|
||||||
|
"[nix]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "file"; # modificationsIfAvailable does not work
|
||||||
|
};
|
||||||
|
|
||||||
|
"[python]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
"editor.defaultFormatter" = "ms-python.autopep8";
|
||||||
|
};
|
||||||
|
|
||||||
|
"[javascript]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
};
|
||||||
|
|
||||||
|
"[typescript]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
};
|
||||||
|
|
||||||
|
"[latex]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "file"; # modificationsIfAvailable does not work
|
||||||
|
};
|
||||||
|
|
||||||
|
"[toml]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
};
|
||||||
|
|
||||||
|
"[c]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
};
|
||||||
|
|
||||||
|
"[cpp]" = {
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
};
|
||||||
|
|
||||||
|
"[typst]" = {
|
||||||
|
"editor.defaultFormatter" = "nvarner.typst-lsp";
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
};
|
||||||
|
|
||||||
|
"nix.enableLanguageServer" = true;
|
||||||
|
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
||||||
|
"nix.serverSettings" = {
|
||||||
|
nil = {
|
||||||
|
formatting = {command = ["${pkgs.alejandra}/bin/alejandra"];};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"direnv.path.executable" = "${pkgs.direnv}/bin/direnv";
|
||||||
|
|
||||||
|
"latex-workshop.latex.outDir" = "%DIR%/out";
|
||||||
|
|
||||||
|
"terminal.integrated.profiles.linux" = {
|
||||||
|
"bash" = {
|
||||||
|
"path" = "${pkgs.bashInteractive}/bin/bash";
|
||||||
|
"args" = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"terminal.integrated.defaultProfile.linux" = "bash";
|
||||||
|
|
||||||
|
"cSpell.language" = "en,de-de";
|
||||||
|
|
||||||
|
"zig.path" = "";
|
||||||
|
"zig.zls.path" = "";
|
||||||
|
"zig.initialSetupDone" = true;
|
||||||
|
|
||||||
|
"typst-lsp.serverPath" = "${pkgs.typst-lsp}/bin/typst-lsp";
|
||||||
|
"typst-lsp.experimentalFormatterMode" = "on";
|
||||||
|
|
||||||
|
"C_Cpp.default.compilerPath" = "${pkgs.gnat}/bin/g++";
|
||||||
|
"C_Cpp.default.includePath" = [
|
||||||
|
"\${workspaceFolder}/**"
|
||||||
|
];
|
||||||
|
"C_Cpp.clang_format_fallbackStyle" = "Microsoft";
|
||||||
|
|
||||||
|
"redhat.telemetry.enabled" = false;
|
||||||
|
"java.jdt.ls.java.home" = "${pkgs.jdk21_headless}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -11,4 +11,6 @@
|
|||||||
power-button-action = "hibernate";
|
power-button-action = "hibernate";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.obs.autostart = false;
|
||||||
}
|
}
|
@ -11,4 +11,6 @@
|
|||||||
power-button-action = "suspend";
|
power-button-action = "suspend";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.obs.autostart = true;
|
||||||
}
|
}
|
Reference in New Issue
Block a user