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": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736899990,
|
||||
"narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
|
||||
"lastModified": 1739223196,
|
||||
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
|
||||
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -84,7 +84,6 @@
|
|||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
|
|
@ -103,6 +102,24 @@
|
|||
"inputs": {
|
||||
"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": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
|
|
@ -117,9 +134,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
|
|
@ -203,11 +224,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735882644,
|
||||
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
|
||||
"lastModified": 1737465171,
|
||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
|
||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -262,11 +283,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739470101,
|
||||
"narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=",
|
||||
"lastModified": 1741526102,
|
||||
"narHash": "sha256-w1VBhX21NgK82Dbafd35AjSfOXgLAxZDotWlwO5PS+c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "5031c6d2978109336637977c165f82aa49fa16a7",
|
||||
"rev": "07f505f91e0c7112550845425222f41865c4260a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -284,11 +305,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737630279,
|
||||
"narHash": "sha256-wJQCxyMRc4P26zDrHmZiRD5bbfcJpqPG3e2djdGG3pk=",
|
||||
"lastModified": 1740347597,
|
||||
"narHash": "sha256-st5q9egkPGz8TUcVVlIQX7y6G3AzHob+6M963bwVq74=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "0db5c8bfcce78583ebbde0b2abbc95ad93445f7c",
|
||||
"rev": "12e26a74e5eb1a31e13daaa08858689e25ebd449",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -299,11 +320,11 @@
|
|||
},
|
||||
"mnw": {
|
||||
"locked": {
|
||||
"lastModified": 1735150973,
|
||||
"narHash": "sha256-OJhcCAoaMMXeD6o4qI/hxBCNELJp4dN8D5LJZc8w8XA=",
|
||||
"lastModified": 1738852285,
|
||||
"narHash": "sha256-8Y1uyE6gGHxdU0Vcx2CMg/dAmDSxJw19aAl3TKbbo54=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "mnw",
|
||||
"rev": "40cd0b006cc48dffd0f8698ad7f54cf1d56779a6",
|
||||
"rev": "6ae73dc9cb72cea17bcc2e3d4670825f483e80e8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -340,11 +361,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1739478914,
|
||||
"narHash": "sha256-qljqSeAWOFbd6HNg8Ey28RdZYdVN8bMb6HJK7uqCKZ0=",
|
||||
"lastModified": 1741516043,
|
||||
"narHash": "sha256-Hv0S630U4GVZBM1Q+NCEwyN5ct7cic+8r6qLIaUaVqI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6f9b8ea84c04411c48ab5aab4620ab204936d9fc",
|
||||
"rev": "8adda98a4e637d0d8a867f19ace5ed6680ecc94a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -355,6 +376,21 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1738452942,
|
||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||
|
|
@ -366,25 +402,13 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1736798957,
|
||||
"narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=",
|
||||
"lastModified": 1740367490,
|
||||
"narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3",
|
||||
"rev": "0196c0175e9191c474c26ab5548db27ef5d34b05",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -410,6 +434,29 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
|
|
@ -423,11 +470,11 @@
|
|||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740070226,
|
||||
"narHash": "sha256-+NtuaiNf3YNTDeMTHW6MVK86Bdkgh1vveWojDC/dRaM=",
|
||||
"lastModified": 1741477095,
|
||||
"narHash": "sha256-aiaCmDReL34ViSB7ArVq8vB2VdTDVft1+vKfWkWeyUo=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "54476b5a8bea713eb0480b4f3a66478cc15ef813",
|
||||
"rev": "6576509cd559aec3da271d12fa911d04d44708ec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -480,6 +527,7 @@
|
|||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nur": "nur",
|
||||
"systems": "systems_3",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
|
|
@ -488,11 +536,11 @@
|
|||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739375014,
|
||||
"narHash": "sha256-0fNbvZ1Dod4rDIfwGnC7CzJ3wRFSF1v5AvNCmNkVgXo=",
|
||||
"lastModified": 1741392477,
|
||||
"narHash": "sha256-6ySHuduGhlZBv1uxEOlOeHWDEkKuLQ/O63DI+ZRfAmg=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "e86de61bb8f5f2b6459d0be3e3291ad16db4b777",
|
||||
"rev": "6eea250b10386be0fc23496d1039d76b3147680e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -583,11 +631,11 @@
|
|||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1737565458,
|
||||
"narHash": "sha256-y+9cvOA6BLKT0WfebDsyUpUa/YxKow9hTjBp6HpQv68=",
|
||||
"lastModified": 1740351358,
|
||||
"narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "ae31625ba47aeaa4bf6a98cf11a8d4886f9463d9",
|
||||
"rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -599,11 +647,11 @@
|
|||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1735737224,
|
||||
"narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=",
|
||||
"lastModified": 1740272597,
|
||||
"narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64",
|
||||
"rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -627,6 +675,28 @@
|
|||
"repo": "base16-zed",
|
||||
"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",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
./firefox.nix
|
||||
./games.nix
|
||||
./mpv.nix
|
||||
./neovim.nix
|
||||
./other.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
osConfig,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
enable = osConfig.niksos.desktop;
|
||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||
extraPolicies = {
|
||||
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
|
||||
# "{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.
|
||||
"ff2mpv@yossarian.net".install_url = "https://addons.mozilla.org/firefox/downloads/latest/ff2mpv/latest.xpi";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -73,8 +79,16 @@
|
|||
"gfx.webrender.all" = 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];
|
||||
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
enable = osConfig.niksos.neovim;
|
||||
settings.vim = {
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
|
@ -69,6 +73,7 @@
|
|||
autocomplete.nvim-cmp.enable = true;
|
||||
snippets.luasnip.enable = true;
|
||||
mini.surround.enable = true;
|
||||
# This can also be themed with stylix. Remove `targets.nvf.enable = false` in `../style/default.nix`
|
||||
theme = {
|
||||
enable = true;
|
||||
name = "catppuccin";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
osConfig,
|
||||
...
|
||||
}: {
|
||||
home.packages = lib.mkIf osConfig.niksos.desktop [
|
||||
pkgs.spotify
|
||||
pkgs.signal-desktop
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
{
|
||||
imports = [
|
||||
./fish.nix
|
||||
./other.nix
|
||||
./repl
|
||||
./starship.nix
|
||||
./yazi.nix
|
||||
./zoxide.nix
|
||||
./other.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,5 +5,7 @@
|
|||
|
||||
pkgs.ear2ctl # FIXME: only when bluetooth enabled
|
||||
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,
|
||||
inputs,
|
||||
pkgs,
|
||||
|
|
@ -9,7 +10,7 @@
|
|||
];
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
enable = osConfig.niksos.desktop;
|
||||
|
||||
image = ./background.png;
|
||||
polarity = "dark";
|
||||
|
|
@ -25,9 +26,14 @@
|
|||
};
|
||||
iconTheme = {
|
||||
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.
|
||||
dark = "Tela-circle-dark";
|
||||
light = "Tela-circle-dark";
|
||||
package = pkgs.tela-icon-theme;
|
||||
dark = "Tela-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";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
inherit (osConfig.niksos) desktop;
|
||||
in {
|
||||
imports = [
|
||||
./fuzzel.nix
|
||||
./hyprland
|
||||
|
|
@ -6,11 +14,11 @@
|
|||
./mako.nix
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
home.packages = mkIf desktop [
|
||||
pkgs.wl-clipboard
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
home.sessionVariables = mkIf desktop {
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
config,
|
||||
osConfig,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
enable = osConfig.niksos.desktop;
|
||||
settings.main = {
|
||||
launch-prefix = "${lib.getExe pkgs.uwsm} app --";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
|
|
@ -49,6 +50,11 @@
|
|||
)
|
||||
10);
|
||||
in {
|
||||
config = lib.mkIf osConfig.niksos.desktop {
|
||||
home.file.".XCompose".text = ''
|
||||
<Multi_key> <s> <h> <r> <u> <g> : "¯\\_(ツ)_/¯" # Shrug.
|
||||
'';
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mod" = "ALT";
|
||||
|
||||
|
|
@ -113,4 +119,5 @@ in {
|
|||
",XF86MonBrightnessDown, exec, ${brightnessctl} s 10%-"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
|
|
@ -14,10 +15,11 @@ in {
|
|||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
enable = osConfig.niksos.desktop;
|
||||
settings = {
|
||||
env = [
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||
"NIXOS_OZONE_WL,1"
|
||||
];
|
||||
exec-once = [
|
||||
"${uwsm} finalize"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
{config, ...}: let
|
||||
{
|
||||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (config.lib.stylix.colors) base05;
|
||||
in {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
enable = osConfig.niksos.desktop;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
{
|
||||
services.mako.enable = true;
|
||||
{osConfig, ...}: {
|
||||
services.mako = {
|
||||
enable = osConfig.niksos.desktop;
|
||||
defaultTimeout = 5000;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,15 @@
|
|||
./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"];
|
||||
services = {
|
||||
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 = {
|
||||
enable = true;
|
||||
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 @@
|
|||
{
|
||||
services.fwupd.enable = true;
|
||||
{lib, ...}: {
|
||||
services.fwupd.enable = lib.mkDefault true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,26 @@
|
|||
# networking configuration
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./avahi.nix
|
||||
./tailscale.nix
|
||||
];
|
||||
|
||||
networking = {
|
||||
# use quad9 with DNS over TLS
|
||||
nameservers = ["9.9.9.9#dns.quad9.net"];
|
||||
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
dns = "systemd-resolved";
|
||||
wifi.powersave = true;
|
||||
};
|
||||
};
|
||||
users.groups.NetworkManager = {};
|
||||
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings.UseDns = true;
|
||||
};
|
||||
|
||||
# DNS resolver
|
||||
resolved = {
|
||||
services.resolved = {
|
||||
# DNS resolver that tries to encrypt dns traffic
|
||||
enable = true;
|
||||
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 = [
|
||||
./fish.nix
|
||||
./fonts.nix
|
||||
./games.nix
|
||||
./home-manager.nix
|
||||
./hyprland.nix
|
||||
./neovim.nix
|
||||
./polkit.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 = {
|
||||
gamescope = {
|
||||
enable = true;
|
||||
|
|
@ -19,4 +60,5 @@
|
|||
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 = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
environment.systemPackages = [
|
||||
#FIXME: migrated to home-manager
|
||||
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.
|
||||
};
|
||||
}
|
||||
|
|
|
|||
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 = {
|
||||
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";
|
||||
wantedBy = ["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;
|
||||
xdgOpenUsePortal = true;
|
||||
config = {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@
|
|||
./kanata.nix
|
||||
./pipewire.nix
|
||||
./power.nix
|
||||
./tailscale.nix
|
||||
./ssh.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.niksos.desktop {
|
||||
# greetd display manager
|
||||
services.greetd = let
|
||||
session = {
|
||||
|
|
@ -20,4 +21,5 @@
|
|||
};
|
||||
|
||||
programs.uwsm.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
{lib, ...}: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.niksos.desktop {
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
|
|
@ -7,5 +13,7 @@
|
|||
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 = {
|
||||
powerKey = "suspend-then-hibernate";
|
||||
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