Created options; Moved tailscale to network folder; Disabled networkmanager wait online; Added repl command; updated firefox interface; other smaller stuff
This commit is contained in:
parent
20891b3e14
commit
5de86bcfe3
37 changed files with 542 additions and 255 deletions
166
flake.lock
generated
166
flake.lock
generated
|
|
@ -70,11 +70,11 @@
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736899990,
|
"lastModified": 1739223196,
|
||||||
"narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
|
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
|
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -84,7 +84,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
|
|
@ -103,6 +102,24 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741352980,
|
||||||
|
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738453229,
|
"lastModified": 1738453229,
|
||||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||||
|
|
@ -117,9 +134,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
"nixpkgs-lib": [
|
||||||
|
"stylix",
|
||||||
|
"nur",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733312601,
|
"lastModified": 1733312601,
|
||||||
|
|
@ -203,11 +224,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735882644,
|
"lastModified": 1737465171,
|
||||||
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
|
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
|
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -262,11 +283,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739470101,
|
"lastModified": 1741526102,
|
||||||
"narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=",
|
"narHash": "sha256-w1VBhX21NgK82Dbafd35AjSfOXgLAxZDotWlwO5PS+c=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5031c6d2978109336637977c165f82aa49fa16a7",
|
"rev": "07f505f91e0c7112550845425222f41865c4260a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -284,11 +305,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737630279,
|
"lastModified": 1740347597,
|
||||||
"narHash": "sha256-wJQCxyMRc4P26zDrHmZiRD5bbfcJpqPG3e2djdGG3pk=",
|
"narHash": "sha256-st5q9egkPGz8TUcVVlIQX7y6G3AzHob+6M963bwVq74=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "0db5c8bfcce78583ebbde0b2abbc95ad93445f7c",
|
"rev": "12e26a74e5eb1a31e13daaa08858689e25ebd449",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -299,11 +320,11 @@
|
||||||
},
|
},
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735150973,
|
"lastModified": 1738852285,
|
||||||
"narHash": "sha256-OJhcCAoaMMXeD6o4qI/hxBCNELJp4dN8D5LJZc8w8XA=",
|
"narHash": "sha256-8Y1uyE6gGHxdU0Vcx2CMg/dAmDSxJw19aAl3TKbbo54=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "mnw",
|
"repo": "mnw",
|
||||||
"rev": "40cd0b006cc48dffd0f8698ad7f54cf1d56779a6",
|
"rev": "6ae73dc9cb72cea17bcc2e3d4670825f483e80e8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -340,11 +361,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739478914,
|
"lastModified": 1741516043,
|
||||||
"narHash": "sha256-qljqSeAWOFbd6HNg8Ey28RdZYdVN8bMb6HJK7uqCKZ0=",
|
"narHash": "sha256-Hv0S630U4GVZBM1Q+NCEwyN5ct7cic+8r6qLIaUaVqI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6f9b8ea84c04411c48ab5aab4620ab204936d9fc",
|
"rev": "8adda98a4e637d0d8a867f19ace5ed6680ecc94a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -355,6 +376,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740877520,
|
||||||
|
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738452942,
|
"lastModified": 1738452942,
|
||||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||||
|
|
@ -366,25 +402,13 @@
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733096140,
|
|
||||||
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736798957,
|
"lastModified": 1740367490,
|
||||||
"narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=",
|
"narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3",
|
"rev": "0196c0175e9191c474c26ab5548db27ef5d34b05",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -410,6 +434,29 @@
|
||||||
"type": "sourcehut"
|
"type": "sourcehut"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nur": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_3",
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740408283,
|
||||||
|
"narHash": "sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "496a4a11162bdffb9a7b258942de138873f019f7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nvf": {
|
"nvf": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
|
|
@ -423,11 +470,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740070226,
|
"lastModified": 1741477095,
|
||||||
"narHash": "sha256-+NtuaiNf3YNTDeMTHW6MVK86Bdkgh1vveWojDC/dRaM=",
|
"narHash": "sha256-aiaCmDReL34ViSB7ArVq8vB2VdTDVft1+vKfWkWeyUo=",
|
||||||
"owner": "notashelf",
|
"owner": "notashelf",
|
||||||
"repo": "nvf",
|
"repo": "nvf",
|
||||||
"rev": "54476b5a8bea713eb0480b4f3a66478cc15ef813",
|
"rev": "6576509cd559aec3da271d12fa911d04d44708ec",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -480,6 +527,7 @@
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nur": "nur",
|
||||||
"systems": "systems_3",
|
"systems": "systems_3",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
|
|
@ -488,11 +536,11 @@
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739375014,
|
"lastModified": 1741392477,
|
||||||
"narHash": "sha256-0fNbvZ1Dod4rDIfwGnC7CzJ3wRFSF1v5AvNCmNkVgXo=",
|
"narHash": "sha256-6ySHuduGhlZBv1uxEOlOeHWDEkKuLQ/O63DI+ZRfAmg=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "e86de61bb8f5f2b6459d0be3e3291ad16db4b777",
|
"rev": "6eea250b10386be0fc23496d1039d76b3147680e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -583,11 +631,11 @@
|
||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737565458,
|
"lastModified": 1740351358,
|
||||||
"narHash": "sha256-y+9cvOA6BLKT0WfebDsyUpUa/YxKow9hTjBp6HpQv68=",
|
"narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "ae31625ba47aeaa4bf6a98cf11a8d4886f9463d9",
|
"rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -599,11 +647,11 @@
|
||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735737224,
|
"lastModified": 1740272597,
|
||||||
"narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=",
|
"narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64",
|
"rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -627,6 +675,28 @@
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nur",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733222881,
|
||||||
|
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
|
./games.nix
|
||||||
|
./mpv.nix
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
./other.nix
|
./other.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
osConfig,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = osConfig.niksos.desktop;
|
||||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
extraPolicies = {
|
extraPolicies = {
|
||||||
DisableFirefoxStudies = true;
|
DisableFirefoxStudies = true;
|
||||||
|
|
@ -49,6 +54,7 @@
|
||||||
"jid1-QoFqdK4qzUfGWQ@jetpack".install_url = "https://addons.mozilla.org/firefox/downloads/latest/dark-background-light-text/latest.xpi"; # Dark reader alternative
|
"jid1-QoFqdK4qzUfGWQ@jetpack".install_url = "https://addons.mozilla.org/firefox/downloads/latest/dark-background-light-text/latest.xpi"; # Dark reader alternative
|
||||||
# "{34daeb50-c2d2-4f14-886a-7160b24d66a4}".install_url = "https://addons.mozilla.org/firefox/downloads/latest/youtube-shorts-block/latest.xpi"; # Youtube short blocker
|
# "{34daeb50-c2d2-4f14-886a-7160b24d66a4}".install_url = "https://addons.mozilla.org/firefox/downloads/latest/youtube-shorts-block/latest.xpi"; # Youtube short blocker
|
||||||
"vimium-c@gdh1995.cn".install_url = "https://addons.mozilla.org/firefox/downloads/latest/vimium-c/latest.xpi"; # Extension info here.
|
"vimium-c@gdh1995.cn".install_url = "https://addons.mozilla.org/firefox/downloads/latest/vimium-c/latest.xpi"; # Extension info here.
|
||||||
|
"ff2mpv@yossarian.net".install_url = "https://addons.mozilla.org/firefox/downloads/latest/ff2mpv/latest.xpi";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -73,8 +79,16 @@
|
||||||
"gfx.webrender.all" = true;
|
"gfx.webrender.all" = true;
|
||||||
"media.ffmpeg.vaapi.enabled" = true;
|
"media.ffmpeg.vaapi.enabled" = true;
|
||||||
|
|
||||||
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["ublock0_raymondhill_net-browser-action","queryamoid_kaply_com-browser-action","_34daeb50-c2d2-4f14-886a-7160b24d66a4_-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","vertical-spacer","urlbar-container","customizableui-special-spring2","save-to-pocket-button","downloads-button","fxa-toolbar-menu-button","unified-extensions-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","jid1-qofqdk4qzufgwq_jetpack-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"vertical-tabs":[],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","jid1-qofqdk4qzufgwq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","queryamoid_kaply_com-browser-action","_34daeb50-c2d2-4f14-886a-7160b24d66a4_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"],"dirtyAreaCache":["nav-bar","vertical-tabs","PersonalToolbar","toolbar-menubar","TabsToolbar","unified-extensions-area"],"currentVersion":21,"newElementCount":2}'';
|
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["ublock0_raymondhill_net-browser-action","queryamoid_kaply_com-browser-action","_34daeb50-c2d2-4f14-886a-7160b24d66a4_-browser-action","firefox_tampermonkey_net-browser-action","vimium-c_gdh1995_cn-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","vertical-spacer","urlbar-container","customizableui-special-spring2","save-to-pocket-button","downloads-button","fxa-toolbar-menu-button","unified-extensions-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","jid1-qofqdk4qzufgwq_jetpack-browser-action","ff2mpv_yossarian_net-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"vertical-tabs":[],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","jid1-qofqdk4qzufgwq_jetpack-browser-action","ublock0_raymondhill_net-browser-action","queryamoid_kaply_com-browser-action","_34daeb50-c2d2-4f14-886a-7160b24d66a4_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","ff2mpv_yossarian_net-browser-action","firefox_tampermonkey_net-browser-action","vimium-c_gdh1995_cn-browser-action"],"dirtyAreaCache":["nav-bar","vertical-tabs","PersonalToolbar","toolbar-menubar","TabsToolbar","unified-extensions-area"],"currentVersion":21,"newElementCount":2}'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file.".mozilla/native-messaging-hosts/ff2mpv.json".text = builtins.toJSON {
|
||||||
|
name = "ff2mpv";
|
||||||
|
description = "ff2mpv's external manifest";
|
||||||
|
path = lib.getExe pkgs.ff2mpv-rust;
|
||||||
|
type = "stdio";
|
||||||
|
allowed_extensions = ["ff2mpv@yossarian.net"];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
home/programs/games.nix
Normal file
3
home/programs/games.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
# Also look at system/programs/games.nix
|
||||||
|
}
|
||||||
27
home/programs/mpv.nix
Normal file
27
home/programs/mpv.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.mpv = {
|
||||||
|
enable = osConfig.niksos.desktop;
|
||||||
|
config = {
|
||||||
|
vo = "gpu";
|
||||||
|
profile = "gpu-hq";
|
||||||
|
hwdec = "auto-safe";
|
||||||
|
gpu-context = "wayland";
|
||||||
|
ytdl-format = "bestvideo+bestaudio";
|
||||||
|
volume-max = 200;
|
||||||
|
fs = true;
|
||||||
|
save-position-on-quit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
scripts = with pkgs.mpvScripts; [
|
||||||
|
uosc
|
||||||
|
youtube-upnext
|
||||||
|
thumbfast
|
||||||
|
sponsorblock
|
||||||
|
mpv-cheatsheet
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{inputs, ...}: {
|
{
|
||||||
|
inputs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [inputs.nvf.homeManagerModules.default];
|
imports = [inputs.nvf.homeManagerModules.default];
|
||||||
|
|
||||||
programs.nvf = {
|
programs.nvf = {
|
||||||
enable = true;
|
enable = osConfig.niksos.neovim;
|
||||||
settings.vim = {
|
settings.vim = {
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
|
@ -69,6 +73,7 @@
|
||||||
autocomplete.nvim-cmp.enable = true;
|
autocomplete.nvim-cmp.enable = true;
|
||||||
snippets.luasnip.enable = true;
|
snippets.luasnip.enable = true;
|
||||||
mini.surround.enable = true;
|
mini.surround.enable = true;
|
||||||
|
# This can also be themed with stylix. Remove `targets.nvf.enable = false` in `../style/default.nix`
|
||||||
theme = {
|
theme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "catppuccin";
|
name = "catppuccin";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
home.packages = [
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = lib.mkIf osConfig.niksos.desktop [
|
||||||
pkgs.spotify
|
pkgs.spotify
|
||||||
pkgs.signal-desktop
|
pkgs.signal-desktop
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./fish.nix
|
./fish.nix
|
||||||
|
./other.nix
|
||||||
|
./repl
|
||||||
./starship.nix
|
./starship.nix
|
||||||
./yazi.nix
|
./yazi.nix
|
||||||
./zoxide.nix
|
./zoxide.nix
|
||||||
./other.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,7 @@
|
||||||
|
|
||||||
pkgs.ear2ctl # FIXME: only when bluetooth enabled
|
pkgs.ear2ctl # FIXME: only when bluetooth enabled
|
||||||
pkgs.bluetui
|
pkgs.bluetui
|
||||||
|
|
||||||
|
pkgs.typst #FIXME: move to flake shell
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
26
home/shell/repl/default.nix
Normal file
26
home/shell/repl/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
# copied from https://github.com/fufexan/dotfiles/blob/main/pkgs/repl/default.nix
|
||||||
|
{pkgs, ...}: let
|
||||||
|
repl = ./lib.nix;
|
||||||
|
example = command: desc: ''\n\u001b[33m ${command}\u001b[0m - ${desc}'';
|
||||||
|
in {
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.writeShellScriptBin
|
||||||
|
"repl"
|
||||||
|
''
|
||||||
|
case "$1" in
|
||||||
|
"-h"|"--help"|"help")
|
||||||
|
printf "%b\n\e[4mUsage\e[0m: \
|
||||||
|
${example "repl" "Loads system flake if available."} \
|
||||||
|
${example "repl /path/to/flake.nix" "Loads specified flake."}\n"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
nix repl ${repl}
|
||||||
|
else
|
||||||
|
nix repl --arg flakePath $(${pkgs.coreutils}/bin/readlink -f $1 | ${pkgs.gnused}/bin/sed 's|/flake.nix||') ${repl}
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
50
home/shell/repl/lib.nix
Normal file
50
home/shell/repl/lib.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
# Copied from https://github.com/fufexan/dotfiles/blob/main/lib/repl.nix
|
||||||
|
{
|
||||||
|
flakePath ? null,
|
||||||
|
hostnamePath ? "/etc/hostname",
|
||||||
|
registryPath ? /etc/nix/registry.json,
|
||||||
|
}: let
|
||||||
|
inherit (builtins) getFlake head match currentSystem readFile pathExists filter fromJSON;
|
||||||
|
|
||||||
|
selfFlake =
|
||||||
|
if pathExists registryPath
|
||||||
|
then filter (it: it.from.id == "self") (fromJSON (readFile registryPath)).flakes
|
||||||
|
else [];
|
||||||
|
|
||||||
|
flakePath' =
|
||||||
|
toString
|
||||||
|
(
|
||||||
|
if flakePath != null
|
||||||
|
then flakePath
|
||||||
|
else if selfFlake != []
|
||||||
|
then (head selfFlake).to.path
|
||||||
|
else "/etc/nixos"
|
||||||
|
);
|
||||||
|
|
||||||
|
flake =
|
||||||
|
if pathExists flakePath'
|
||||||
|
then getFlake flakePath'
|
||||||
|
else {};
|
||||||
|
hostname =
|
||||||
|
if pathExists hostnamePath
|
||||||
|
then head (match "([a-zA-Z0-9\\-]+)\n" (readFile hostnamePath))
|
||||||
|
else "";
|
||||||
|
|
||||||
|
nixpkgsFromInputsPath = flake.inputs.nixpkgs.outPath or "";
|
||||||
|
nixpkgs =
|
||||||
|
flake.pkgs.${currentSystem}.nixpkgs
|
||||||
|
or (
|
||||||
|
if nixpkgsFromInputsPath != ""
|
||||||
|
then import nixpkgsFromInputsPath {}
|
||||||
|
else {}
|
||||||
|
);
|
||||||
|
|
||||||
|
nixpkgsOutput = removeAttrs (nixpkgs // nixpkgs.lib or {}) ["options" "config"];
|
||||||
|
in
|
||||||
|
{inherit flake;}
|
||||||
|
// flake
|
||||||
|
// builtins
|
||||||
|
// (flake.nixosConfigurations or {})
|
||||||
|
// flake.nixosConfigurations.${hostname} or {}
|
||||||
|
// nixpkgsOutput
|
||||||
|
// {getFlake = path: getFlake (toString path);}
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
osConfig,
|
||||||
config,
|
config,
|
||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
|
@ -9,7 +10,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = osConfig.niksos.desktop;
|
||||||
|
|
||||||
image = ./background.png;
|
image = ./background.png;
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
|
|
@ -25,9 +26,14 @@
|
||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.tela-circle-icon-theme; #FIXME: Swap out for normal tela icons once https://github.com/NixOS/nixpkgs/issues/381521 is upstream.
|
package = pkgs.tela-icon-theme;
|
||||||
dark = "Tela-circle-dark";
|
dark = "Tela-dark";
|
||||||
light = "Tela-circle-dark";
|
light = "Tela-dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
targets = {
|
||||||
|
gnome-text-editor.enable = false; # Creates an overlay in home-manager land which isn't allowed with globalPkgs.
|
||||||
|
nvf.enable = false; # I'd like to be able to read my code, thank you.
|
||||||
};
|
};
|
||||||
|
|
||||||
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-frappe.yaml";
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-frappe.yaml";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,12 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
inherit (osConfig.niksos) desktop;
|
||||||
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./fuzzel.nix
|
./fuzzel.nix
|
||||||
./hyprland
|
./hyprland
|
||||||
|
|
@ -6,11 +14,11 @@
|
||||||
./mako.nix
|
./mako.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [
|
home.packages = mkIf desktop [
|
||||||
pkgs.wl-clipboard
|
pkgs.wl-clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = mkIf desktop {
|
||||||
QT_QPA_PLATFORM = "wayland";
|
QT_QPA_PLATFORM = "wayland";
|
||||||
SDL_VIDEODRIVER = "wayland";
|
SDL_VIDEODRIVER = "wayland";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
config,
|
osConfig,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
enable = osConfig.niksos.desktop;
|
||||||
settings.main = {
|
settings.main = {
|
||||||
launch-prefix = "${lib.getExe pkgs.uwsm} app --";
|
launch-prefix = "${lib.getExe pkgs.uwsm} app --";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
osConfig,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
|
|
@ -49,6 +50,11 @@
|
||||||
)
|
)
|
||||||
10);
|
10);
|
||||||
in {
|
in {
|
||||||
|
config = lib.mkIf osConfig.niksos.desktop {
|
||||||
|
home.file.".XCompose".text = ''
|
||||||
|
<Multi_key> <s> <h> <r> <u> <g> : "¯\\_(ツ)_/¯" # Shrug.
|
||||||
|
'';
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
"$mod" = "ALT";
|
"$mod" = "ALT";
|
||||||
|
|
||||||
|
|
@ -113,4 +119,5 @@ in {
|
||||||
",XF86MonBrightnessDown, exec, ${brightnessctl} s 10%-"
|
",XF86MonBrightnessDown, exec, ${brightnessctl} s 10%-"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
osConfig,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
|
|
@ -14,10 +15,11 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = osConfig.niksos.desktop;
|
||||||
settings = {
|
settings = {
|
||||||
env = [
|
env = [
|
||||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||||
|
"NIXOS_OZONE_WL,1"
|
||||||
];
|
];
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"${uwsm} finalize"
|
"${uwsm} finalize"
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
{config, ...}: let
|
{
|
||||||
|
config,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (config.lib.stylix.colors) base05;
|
inherit (config.lib.stylix.colors) base05;
|
||||||
in {
|
in {
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
enable = true;
|
enable = osConfig.niksos.desktop;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
{
|
{osConfig, ...}: {
|
||||||
services.mako.enable = true;
|
services.mako = {
|
||||||
|
enable = osConfig.niksos.desktop;
|
||||||
|
defaultTimeout = 5000;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,15 @@
|
||||||
./virt.nix
|
./virt.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
niksos = {
|
||||||
|
bluetooth = true;
|
||||||
|
fingerprint = true;
|
||||||
|
games = true;
|
||||||
|
desktop = true;
|
||||||
|
portable = true;
|
||||||
|
neovim = true;
|
||||||
|
};
|
||||||
|
|
||||||
home-manager.users.jsw.wayland.windowManager.hyprland.settings.monitor = ["eDP-1,2880x1920@120,0x0,1.5,vrr,1"];
|
home-manager.users.jsw.wayland.windowManager.hyprland.settings.monitor = ["eDP-1,2880x1920@120,0x0,1.5,vrr,1"];
|
||||||
services = {
|
services = {
|
||||||
fprintd.enable = true;
|
fprintd.enable = true;
|
||||||
|
|
|
||||||
3
system/core/defaultPackages.nix
Normal file
3
system/core/defaultPackages.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
environment.defaultPackages = [];
|
||||||
|
}
|
||||||
|
|
@ -1,20 +1,16 @@
|
||||||
# {
|
|
||||||
# lib,
|
|
||||||
# config,
|
|
||||||
# ...
|
|
||||||
# }: {
|
|
||||||
# options.niksos.bluetooth = lib.mkEnableOption;
|
|
||||||
#
|
|
||||||
# config = lib.mkIf config.niksos.bluetooth {
|
|
||||||
# hardware.bluetooth = {
|
|
||||||
# enable = true;
|
|
||||||
# input.General.ClassicBondedOnly = false;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.niksos.bluetooth = lib.mkEnableOption "bluetooth related stuff.";
|
||||||
|
|
||||||
|
config = lib.mkIf config.niksos.bluetooth {
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
input.General.ClassicBondedOnly = false;
|
input.General.ClassicBondedOnly = false;
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = [pkgs.bluetui];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
{
|
{
|
||||||
services.fprintd.enable = true;
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.niksos.fingerprint = lib.mkEnableOption "fingerprint support.";
|
||||||
|
config.services.fprintd.enable = config.niksos.fingerprint;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{lib, ...}: {
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = lib.mkDefault true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,26 @@
|
||||||
# networking configuration
|
# networking configuration
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
imports = [
|
||||||
|
./avahi.nix
|
||||||
|
./tailscale.nix
|
||||||
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
# use quad9 with DNS over TLS
|
# use quad9 with DNS over TLS
|
||||||
nameservers = ["9.9.9.9#dns.quad9.net"];
|
nameservers = ["9.9.9.9#dns.quad9.net"];
|
||||||
|
|
||||||
networkmanager = {
|
networkmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dns = "systemd-resolved";
|
dns = "systemd-resolved";
|
||||||
wifi.powersave = true;
|
wifi.powersave = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
users.groups.NetworkManager = {};
|
||||||
|
|
||||||
services = {
|
services.resolved = {
|
||||||
openssh = {
|
# DNS resolver that tries to encrypt dns traffic
|
||||||
enable = true;
|
|
||||||
settings.UseDns = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# DNS resolver
|
|
||||||
resolved = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
dnsovertls = "opportunistic";
|
dnsovertls = "opportunistic";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.NetworkManager-wait-online.serviceConfig.ExecStart = ["" "${pkgs.networkmanager}/bin/nm-online -q"];
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./fish.nix
|
./fish.nix
|
||||||
./fonts.nix
|
|
||||||
./games.nix
|
./games.nix
|
||||||
./home-manager.nix
|
./home-manager.nix
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
|
./neovim.nix
|
||||||
./polkit.nix
|
./polkit.nix
|
||||||
./xdg.nix
|
./xdg.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{}
|
|
||||||
# Migrated to home-manager stylix.
|
|
||||||
# {pkgs, ...}: {
|
|
||||||
# fonts = {
|
|
||||||
# packages = with pkgs; [
|
|
||||||
# # icon fonts
|
|
||||||
# material-symbols
|
|
||||||
#
|
|
||||||
# # Sans(Serif) fonts
|
|
||||||
# libertinus
|
|
||||||
# noto-fonts
|
|
||||||
# noto-fonts-cjk-sans
|
|
||||||
# noto-fonts-emoji
|
|
||||||
# roboto
|
|
||||||
# (google-fonts.override {fonts = ["Inter"];})
|
|
||||||
#
|
|
||||||
# # monospace fonts
|
|
||||||
# jetbrains-mono
|
|
||||||
#
|
|
||||||
# # nerdfonts
|
|
||||||
# nerd-fonts.jetbrains-mono
|
|
||||||
# nerd-fonts.symbols-only
|
|
||||||
# ];
|
|
||||||
#
|
|
||||||
# # causes more issues than it solves
|
|
||||||
# enableDefaultPackages = false;
|
|
||||||
#
|
|
||||||
# # user defined fonts
|
|
||||||
# # the reason there's Noto Color Emoji everywhere is to override DejaVu's
|
|
||||||
# # B&W emojis that would sometimes show instead of some Color emojis
|
|
||||||
# fontconfig.defaultFonts = let
|
|
||||||
# addAll = builtins.mapAttrs (_: v: v ++ ["Noto Color Emoji"]);
|
|
||||||
# in
|
|
||||||
# addAll {
|
|
||||||
# serif = ["Libertinus Serif"];
|
|
||||||
# sansSerif = ["Inter"];
|
|
||||||
# monospace = ["JetBrains Mono Nerd Font"];
|
|
||||||
# emoji = [];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
@ -1,4 +1,45 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.niksos.games = lib.mkEnableOption "gaming related stuff.";
|
||||||
|
config = lib.mkIf config.niksos.games {
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: let
|
||||||
|
version = "1.4.2";
|
||||||
|
hash = "sha256-xe0qlbtt06CUK8bXyaGDtCcHOXpSnkbuvcxaDJjeS/c=";
|
||||||
|
npmHash = "sha256-/+NhlQydGS6+2jEjpbwycwKplVo/++wcdPiBNY3R3FI=";
|
||||||
|
cargoHash = "sha256-VwzGbm34t7mg9ndmTkht6Ho32NQ+6uxuPTKi3+VrhYo=";
|
||||||
|
in {
|
||||||
|
gale = prev.gale.overrideAttrs (new: old: {
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
inherit version hash;
|
||||||
|
owner = "Kesomannen";
|
||||||
|
repo = "gale";
|
||||||
|
rev = "1.4.2";
|
||||||
|
};
|
||||||
|
npmDeps = prev.fetchNpmDeps {
|
||||||
|
hash = npmHash;
|
||||||
|
name = "${new.pname}-${new.version}-npm-deps";
|
||||||
|
inherit (new) src;
|
||||||
|
};
|
||||||
|
cargoDeps = prev.rustPlatform.fetchCargoVendor {
|
||||||
|
inherit
|
||||||
|
(new)
|
||||||
|
pname
|
||||||
|
version
|
||||||
|
src
|
||||||
|
cargoRoot
|
||||||
|
;
|
||||||
|
hash = cargoHash;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
users.users.jsw.packages = [pkgs.gale];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
gamescope = {
|
gamescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -19,4 +60,5 @@
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.niksos.desktop = lib.mkEnableOption "desktop related stuff.";
|
||||||
|
config = lib.mkIf config.niksos.desktop {
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
withUWSM = true;
|
withUWSM = true;
|
||||||
};
|
};
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
|
#FIXME: migrated to home-manager
|
||||||
pkgs.kitty # This is the default config's terminal and also my main one.
|
pkgs.kitty # This is the default config's terminal and also my main one.
|
||||||
];
|
];
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Makes electron apps use wayland.
|
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Makes electron apps use wayland.
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
system/programs/neovim.nix
Normal file
4
system/programs/neovim.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
options.niksos.neovim = lib.mkEnableOption "the neovim editor";
|
||||||
|
# The actual config resides in NixOS/home/programs/neovim.
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
systemd = {
|
systemd = {
|
||||||
user.services.polkit-gnome-authentication-agent-1 = {
|
user.services.polkit-gnome-authentication-agent-1 = lib.mkIf config.niksos.desktop {
|
||||||
description = "polkit-gnome-authentication-agent-1";
|
description = "polkit-gnome-authentication-agent-1";
|
||||||
wantedBy = ["graphical-session.target"];
|
wantedBy = ["graphical-session.target"];
|
||||||
wants = ["graphical-session.target"];
|
wants = ["graphical-session.target"];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
xdg.portal = {
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
xdg.portal = lib.mkIf config.niksos.desktop {
|
||||||
enable = true;
|
enable = true;
|
||||||
xdgOpenUsePortal = true;
|
xdgOpenUsePortal = true;
|
||||||
config = {
|
config = {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,6 @@
|
||||||
./kanata.nix
|
./kanata.nix
|
||||||
./pipewire.nix
|
./pipewire.nix
|
||||||
./power.nix
|
./power.nix
|
||||||
./tailscale.nix
|
./ssh.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
config = lib.mkIf config.niksos.desktop {
|
||||||
# greetd display manager
|
# greetd display manager
|
||||||
services.greetd = let
|
services.greetd = let
|
||||||
session = {
|
session = {
|
||||||
|
|
@ -20,4 +21,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.uwsm.enable = true;
|
programs.uwsm.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
{lib, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
config = lib.mkIf config.niksos.desktop {
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
|
|
@ -7,5 +13,7 @@
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.pulseaudio.enable = lib.mkForce false;
|
environment.systemPackages = [pkgs.pulsemixer];
|
||||||
|
services.pulseaudio.enable = lib.mkForce false; # gnome enables it
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
{
|
{
|
||||||
services = {
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.niksos.portable = lib.mkEnableOption "battery optimisers";
|
||||||
|
config.services = lib.mkIf config.niksos.portable {
|
||||||
logind = {
|
logind = {
|
||||||
powerKey = "suspend-then-hibernate";
|
powerKey = "suspend-then-hibernate";
|
||||||
powerKeyLongPress = "poweroff";
|
powerKeyLongPress = "poweroff";
|
||||||
|
|
|
||||||
6
system/services/ssh.nix
Normal file
6
system/services/ssh.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings.UseDns = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
services.tailscale.enable = true;
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue