istg i have to make smaller commits
This commit is contained in:
parent
1ed9ce6864
commit
29473532c7
28 changed files with 483 additions and 361 deletions
147
flake.lock
generated
147
flake.lock
generated
|
@ -9,11 +9,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1718244058,
|
||||
"narHash": "sha256-u32PPPpJl6SlJDbSR6AI8HvW5+68OrX/Q5OMwf1TfFk=",
|
||||
"lastModified": 1719461007,
|
||||
"narHash": "sha256-1Tayi+LGCNB2mPaBdQ4k6TXTBjTDq82aFj0qQtoM8P0=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "3596f5b5f25caa9d0da1ce09bfd94ee65b4bb1eb",
|
||||
"rev": "40d828403e999d99480fe53940a2f376599bde95",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
@ -73,7 +73,9 @@
|
|||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717285511,
|
||||
|
@ -220,11 +222,11 @@
|
|||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1718349360,
|
||||
"narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=",
|
||||
"lastModified": 1719413427,
|
||||
"narHash": "sha256-WS087+fEO804gWvwqEfclbLFw6xdrrtZZULSyQafMdg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6",
|
||||
"rev": "901bc809b5d3e73a609a167385df23311d81b39c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -263,11 +265,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718243258,
|
||||
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
|
||||
"lastModified": 1719438532,
|
||||
"narHash": "sha256-/Vmso2ZMoFE3M7d1MRsQ2K5sR8CVKnrM6t1ys9Xjpz4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
|
||||
"rev": "1a4f12ae0bda877ec4099b429cf439aad897d7e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -283,7 +285,10 @@
|
|||
"git-hooks": "git-hooks",
|
||||
"hercules-ci-effects": "hercules-ci-effects",
|
||||
"neovim-src": "neovim-src",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": [
|
||||
"small-nvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718512978,
|
||||
|
@ -322,11 +327,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718011381,
|
||||
"narHash": "sha256-sFXI+ZANp/OC+MwfJoZgPSf4xMdtzQMe1pS3FGti4C8=",
|
||||
"lastModified": 1719111455,
|
||||
"narHash": "sha256-rnIxHx+fLpydjMQsbpZ21kblUr/lMqSaAtMA4+qMMEE=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "88ad3d7501e22b2401dd72734b032b7baa794434",
|
||||
"rev": "4293f532d0107dfb7e6f8b34a0421dc8111320e6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -339,14 +344,16 @@
|
|||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718242391,
|
||||
"narHash": "sha256-WhxFBlbO63SoapmTuFjby8z+XADbac8IKoLjAO5I2zk=",
|
||||
"lastModified": 1719451583,
|
||||
"narHash": "sha256-2FHGp9cH5q42yVdYAfLjMCYJgr+VYfMW4LYmCOptlpg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "fd5d22a81cd2aa22c59484247e1fefd144e4dc20",
|
||||
"rev": "4157bcc67488e09407f5edc130ebf62c1a1a1433",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -357,55 +364,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1713805509,
|
||||
"narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1717284937,
|
||||
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1717880976,
|
||||
"narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1718160348,
|
||||
"narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=",
|
||||
"lastModified": 1719254875,
|
||||
"narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "57d6973abba7ea108bac64ae7629e7431e0199b6",
|
||||
"rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -415,38 +378,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1718276985,
|
||||
"narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3f84a279f1a6290ce154c5531378acc827836fbb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1717774105,
|
||||
"narHash": "sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d226935fd75012939397c83f6c385e4d6d832288",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"firefox-addons": "firefox-addons",
|
||||
|
@ -455,7 +386,7 @@
|
|||
"home-manager": "home-manager",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"small-nvim": "small-nvim",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
|
@ -469,11 +400,11 @@
|
|||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719105734,
|
||||
"narHash": "sha256-Sa2qKc985UTUA7gJ15eb6CjOYwAqfMmL3f0uVnKNzeQ=",
|
||||
"lastModified": 1719854753,
|
||||
"narHash": "sha256-ms8pMyIK4FGV8UaPrZP7CWNrEGJlcKnQcUPONglz3Zg=",
|
||||
"owner": "xunuwu",
|
||||
"repo": "small-nvim",
|
||||
"rev": "d71d15304a37db9b9ef712f03a4ec7928dfb9783",
|
||||
"rev": "02f87ed2eff21db2ef7b672e4e89638643d0b0cd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -484,15 +415,19 @@
|
|||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718137936,
|
||||
"narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=",
|
||||
"lastModified": 1719268571,
|
||||
"narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "c279dec105dd53df13a5e57525da97905cc0f0d6",
|
||||
"rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
42
flake.nix
42
flake.nix
|
@ -38,31 +38,29 @@
|
|||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
||||
hardware.url = "github:nixos/nixos-hardware";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
small-nvim = {
|
||||
url = "github:xunuwu/small-nvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
firefox-addons = {
|
||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
small-nvim.url = "github:xunuwu/small-nvim";
|
||||
firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
nix-index-database.url = "github:Mic92/nix-index-database";
|
||||
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
||||
|
||||
nix-index-database = {
|
||||
url = "github:Mic92/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
## deduplication
|
||||
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
small-nvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
firefox-addons.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
sops-nix.inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
nixpkgs-stable.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-vscode-extensions = {
|
||||
url = "github:nix-community/nix-vscode-extensions";
|
||||
};
|
||||
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-vscode-extensions.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,21 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraPackages = _:
|
||||
with pkgs; [
|
||||
graphviz # org-roam graph
|
||||
];
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
cmake
|
||||
gnumake
|
||||
gcc
|
||||
gdb
|
||||
libtool
|
||||
];
|
||||
|
||||
services.emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-gtk; # uses xwayland, use pgtk for native wayland or pkgs.emacs if using daemon
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
../../terminal/shell/zsh.nix
|
||||
../../terminal/emulator/wezterm.nix
|
||||
|
||||
../../programs/browsers/firefox.nix
|
||||
../../programs/browsers/firefox
|
||||
|
||||
../../programs/desktop
|
||||
../../programs/desktop/awesome
|
||||
|
|
|
@ -11,9 +11,10 @@
|
|||
../../terminal/programs/lazygit.nix
|
||||
../../terminal/programs/beets.nix
|
||||
../../editors/nvim.nix
|
||||
#../../editors/emacs.nix
|
||||
../../editors/emacs.nix
|
||||
../../editors/vscode.nix
|
||||
../../programs/browsers/firefox.nix
|
||||
../../programs/browsers/firefox
|
||||
../../programs/browsers/tor.nix
|
||||
../../programs/browsers/chromium.nix
|
||||
../../terminal/emulator/wezterm.nix
|
||||
../../terminal/emulator/foot.nix
|
||||
|
@ -31,10 +32,10 @@
|
|||
# programs
|
||||
../../programs/misc/keepassxc.nix
|
||||
../../programs/misc/discord.nix
|
||||
../../programs/misc/ardour.nix
|
||||
#../../programs/misc/ardour.nix
|
||||
../../programs/misc/foliate.nix
|
||||
../../programs/misc/obsidian.nix
|
||||
../../programs/misc/pavucontrol.nix
|
||||
../../programs/misc/pwvucontrol.nix
|
||||
../../programs/misc/thunderbird.nix
|
||||
#../../programs/music
|
||||
#../../programs/music/yams.nix
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles.xun = {
|
||||
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||||
ublock-origin
|
||||
darkreader
|
||||
sponsorblock
|
||||
tridactyl
|
||||
translate-web-pages
|
||||
cookie-quick-manager
|
||||
istilldontcareaboutcookies
|
||||
tree-style-tab
|
||||
(lib.mkIf (builtins.elem pkgs.keepassxc config.home.packages) keepassxc-browser)
|
||||
];
|
||||
bookmarks = {};
|
||||
settings = {
|
||||
"browser.tabs.inTitleBar" = "0"; # use system title bar
|
||||
"browser.newtabpage.enabled" = false;
|
||||
"browser.newtab.url" = "about:blank";
|
||||
"general.autoScroll" = "true"; # mmb scroll mode
|
||||
|
||||
"browser.newtabpage.enhanced" = false;
|
||||
"browser.newtabpage.introShown" = true;
|
||||
"browser.newtab.preload" = false;
|
||||
"browser.newtabpage.directory.ping" = "";
|
||||
"browser.newtabpage.directory.source" = "data:text/plain,{}";
|
||||
# Reduce search engine noise in the urlbar's completion window. The
|
||||
# shortcuts and suggestions will still work, but Firefox won't clutter
|
||||
# its UI with reminders that they exist.
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.shortcuts.bookmarks" = false;
|
||||
"browser.urlbar.shortcuts.history" = false;
|
||||
"browser.urlbar.shortcuts.tabs" = false;
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
# Show whole URL in address bar
|
||||
"browser.urlbar.trimURLs" = false;
|
||||
# Disable some not so useful functionality.
|
||||
"browser.disableResetPrompt" = true; # "Looks like you haven't started Firefox in a while."
|
||||
"browser.onboarding.enabled" = false; # "New to Firefox? Let's get started!" tour
|
||||
"browser.aboutConfig.showWarning" = false; # Warning when opening about:config
|
||||
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"extensions.shield-recipe-client.enabled" = false;
|
||||
#"reader.parse-on-load.enabled" = false; # "reader view"
|
||||
|
||||
# disable telemetry
|
||||
# https://github.com/hlissner/dotfiles/blob/089f1a9da9018df9e5fc200c2d7bef70f4546026/modules/desktop/browsers/firefox.nix
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"experiments.supported" = false;
|
||||
"experiments.enabled" = false;
|
||||
"experiments.manifest.uri" = "";
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.healthreport.service.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
# Disable crash reports
|
||||
"breakpad.reportURL" = "";
|
||||
"browser.tabs.crashReporting.sendReport" = false;
|
||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
||||
|
||||
# Disable Form autofill
|
||||
# https://wiki.mozilla.org/Firefox/Features/Form_Autofill
|
||||
"browser.formfill.enable" = false;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.available" = "off";
|
||||
"extensions.formautofill.creditCards.available" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.formautofill.heuristics.enabled" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
211
home/programs/browsers/firefox/default.nix
Normal file
211
home/programs/browsers/firefox/default.nix
Normal file
|
@ -0,0 +1,211 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
xdg.configFile."tridactyl/tridactylrc" = {
|
||||
text = ''
|
||||
unbind <C-e>
|
||||
unbind <C-b>
|
||||
unbind <C-a> # why would you ever want to increment the current url??
|
||||
bind J tabnext
|
||||
bind K tabprev
|
||||
|
||||
set smoothscroll true
|
||||
set newtab about:blank
|
||||
set modeindicator false
|
||||
'';
|
||||
};
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.override {
|
||||
nativeMessagingHosts = with pkgs; [
|
||||
tridactyl-native
|
||||
keepassxc
|
||||
];
|
||||
};
|
||||
profiles.xun = {
|
||||
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||||
ublock-origin
|
||||
darkreader
|
||||
sponsorblock
|
||||
tridactyl
|
||||
translate-web-pages
|
||||
cookie-quick-manager
|
||||
istilldontcareaboutcookies
|
||||
sidebery
|
||||
(lib.mkIf (builtins.elem pkgs.keepassxc config.home.packages) keepassxc-browser)
|
||||
];
|
||||
bookmarks = {};
|
||||
search = {
|
||||
force = true;
|
||||
default = "Brave";
|
||||
order = [
|
||||
"Brave"
|
||||
"Google"
|
||||
"DuckDuckGo"
|
||||
];
|
||||
engines = let
|
||||
inherit (lib.attrsets) attrsToList;
|
||||
inherit (lib.lists) singleton;
|
||||
in {
|
||||
"Home Manager" = {
|
||||
urls = singleton {
|
||||
template = "https://home-manager-options.extranix.com";
|
||||
params = attrsToList {
|
||||
query = "{searchTerms}";
|
||||
release = "master";
|
||||
};
|
||||
};
|
||||
iconUpdateURL = "https://home-manager-options.extranix.com/images/favicon.png";
|
||||
definedAliases = ["@hm"];
|
||||
};
|
||||
"Nix Packages" = {
|
||||
urls = singleton {
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = attrsToList {
|
||||
query = "{searchTerms}";
|
||||
channel = "unstable";
|
||||
};
|
||||
};
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@np"];
|
||||
};
|
||||
"NixOS Options" = {
|
||||
urls = singleton {
|
||||
template = "https://search.nixos.org/options";
|
||||
params = attrsToList {
|
||||
query = "{searchTerms}";
|
||||
channel = "unstable";
|
||||
};
|
||||
};
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@no"];
|
||||
};
|
||||
"GitHub" = {
|
||||
urls = singleton {
|
||||
template = "https://github.com/search";
|
||||
params = attrsToList {
|
||||
q = "{searchTerms}";
|
||||
type = "code";
|
||||
};
|
||||
};
|
||||
iconUpdateURL = "https://github.githubassets.com/favicons/favicon-dark.svg";
|
||||
definedAliases = ["@gh"];
|
||||
};
|
||||
"GitHub Repos" = {
|
||||
urls = singleton {
|
||||
template = "https://github.com/search";
|
||||
params = attrsToList {
|
||||
q = "{searchTerms}";
|
||||
type = "repositories";
|
||||
};
|
||||
};
|
||||
iconUpdateURL = "https://github.githubassets.com/favicons/favicon-dark.svg";
|
||||
definedAliases = ["@ghr"];
|
||||
};
|
||||
"GitHub Nix" = {
|
||||
urls = singleton {
|
||||
template = "https://github.com/search";
|
||||
params = attrsToList {
|
||||
"q" = "lang:nix {searchTerms}";
|
||||
"type" = "code";
|
||||
};
|
||||
};
|
||||
iconUpdateURL = "https://github.githubassets.com/favicons/favicon-dark.svg";
|
||||
definedAliases = ["@ghn"];
|
||||
};
|
||||
"Brave" = {
|
||||
urls = singleton {
|
||||
template = "https://search.brave.com/search";
|
||||
params = attrsToList {
|
||||
"q" = "{searchTerms}";
|
||||
};
|
||||
};
|
||||
iconUpdateURL = "https://brave.com/static-assets/images/brave-favicon.png";
|
||||
definedAliases = ["@b"];
|
||||
};
|
||||
|
||||
"Google".metaData.alias = "@go";
|
||||
"DuckDuckGo".metaData.alias = "@ddg";
|
||||
"Wikipedia".metaData.alias = "@wiki";
|
||||
"Bind".metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
userChrome = builtins.readFile ./userChrome.css;
|
||||
settings = {
|
||||
"browser.display.use_system_colors" = true; # about:blank colour match colourscheme
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # enable userChrome
|
||||
"browser.tabs.inTitleBar" = "0"; # use system title bar
|
||||
"browser.newtabpage.enabled" = false;
|
||||
"browser.newtab.url" = "about:blank";
|
||||
"general.autoScroll" = true; # mmb scroll mode
|
||||
|
||||
"browser.newtabpage.enhanced" = false;
|
||||
"browser.newtabpage.introShown" = true;
|
||||
"browser.newtab.preload" = false;
|
||||
"browser.newtabpage.directory.ping" = "";
|
||||
"browser.newtabpage.directory.source" = "data:text/plain,{}";
|
||||
# Reduce search engine noise in the urlbar's completion window. The
|
||||
# shortcuts and suggestions will still work, but Firefox won't clutter
|
||||
# its UI with reminders that they exist.
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.shortcuts.bookmarks" = false;
|
||||
"browser.urlbar.shortcuts.history" = false;
|
||||
"browser.urlbar.shortcuts.tabs" = false;
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
# Show whole URL in address bar
|
||||
"browser.urlbar.trimURLs" = false;
|
||||
# Disable some not so useful functionality.
|
||||
"browser.disableResetPrompt" = true; # "Looks like you haven't started Firefox in a while."
|
||||
"browser.onboarding.enabled" = false; # "New to Firefox? Let's get started!" tour
|
||||
"browser.aboutConfig.showWarning" = false; # Warning when opening about:config
|
||||
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
|
||||
"extensions.autoDisableScopes" = "0"; # Automatically enable extensions
|
||||
"extensions.pocket.enabled" = false;
|
||||
"extensions.shield-recipe-client.enabled" = false;
|
||||
#"reader.parse-on-load.enabled" = false; # "reader view"
|
||||
|
||||
# disable telemetry
|
||||
# https://github.com/hlissner/dotfiles/blob/089f1a9da9018df9e5fc200c2d7bef70f4546026/modules/desktop/browsers/firefox.nix
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"experiments.supported" = false;
|
||||
"experiments.enabled" = false;
|
||||
"experiments.manifest.uri" = "";
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.healthreport.service.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
# Disable crash reports
|
||||
"breakpad.reportURL" = "";
|
||||
"browser.tabs.crashReporting.sendReport" = false;
|
||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
||||
|
||||
# Disable Form autofill
|
||||
# https://wiki.mozilla.org/Firefox/Features/Form_Autofill
|
||||
"browser.formfill.enable" = false;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.available" = "off";
|
||||
"extensions.formautofill.creditCards.available" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.formautofill.heuristics.enabled" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
19
home/programs/browsers/firefox/userChrome.css
Normal file
19
home/programs/browsers/firefox/userChrome.css
Normal file
|
@ -0,0 +1,19 @@
|
|||
/* Hide sidebar header */
|
||||
#sidebar-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Hide tab bar */
|
||||
#TabsToolbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* urlbar same color as background */
|
||||
#urlbar-background, #searchbar {
|
||||
background-color: var(--toolbar-bgcolor) !important;
|
||||
}
|
||||
|
||||
/* Hide tiny strip below the main top bar */
|
||||
#navigator-toolbox {
|
||||
border-bottom: none !important;
|
||||
}
|
7
home/programs/browsers/tor.nix
Normal file
7
home/programs/browsers/tor.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
(tor-browser.override {
|
||||
mediaSupport = false;
|
||||
})
|
||||
];
|
||||
}
|
|
@ -42,7 +42,23 @@
|
|||
mod = config.wayland.windowManager.sway.config.modifier;
|
||||
wobVolume = "${pkgs.wireplumber}/bin/wpctl get-volume @DEFAULT_SINK@ | awk '{print $2*100}' > $XDG_RUNTIME_DIR/wob.sock";
|
||||
setVolume = limit: amount: "${pkgs.wireplumber}/bin/wpctl set-volume -l ${limit} @DEFAULT_AUDIO_SINK@ ${amount}";
|
||||
perMonitor = workspace: "\"$(swaymsg -t get_outputs | ${lib.getExe pkgs.jq} -r '.[] | select(.focused == true).name' | ${lib.getExe pkgs.perl} -ne '$s=0;for(split//){$s+=ord}print\"$s\"')${toString workspace}\"";
|
||||
#perMonitor = workspace: "\"$(swaymsg -t get_outputs | ${lib.getExe pkgs.jq} -r '.[] | select(.focused == true).name' | ${lib.getExe pkgs.perl} -ne '$s=0;for(split//){$s+=ord}print\"$s\"')${toString workspace}\"";
|
||||
monitorId = pkgs.writers.writeBash "monitor-id" ''
|
||||
swaymsg -t get_outputs \
|
||||
| ${lib.getExe pkgs.jq} -r '.[] | select (.focused == true).name' \
|
||||
| ${lib.getExe pkgs.perl} -ne '$s=0;for(split//){$s+=ord}print"$s"'
|
||||
'';
|
||||
pauseApp = pkgs.writers.writeBash "pause-app" ''
|
||||
set -e
|
||||
pid=$(swaymsg -t get_tree \
|
||||
| ${lib.getExe pkgs.jq} -re '.. | select (.type? == "con" and .focused? == true).pid')
|
||||
|
||||
if [ $(cat "/proc/$pid/wchan") == "do_signal_stop" ]; then
|
||||
kill -s SIGCONT $pid
|
||||
else
|
||||
kill -s SIGSTOP $pid
|
||||
fi
|
||||
'';
|
||||
dir = with config.wayland.windowManager.sway.config; {
|
||||
inherit up down left right;
|
||||
};
|
||||
|
@ -61,7 +77,10 @@
|
|||
"${mod}+Ctrl+Shift+${dir.down}" = "move output down";
|
||||
|
||||
"${mod}+Shift+Backspace" = "exec systemctl suspend";
|
||||
"${mod}+Shift+s" = "exec ${lib.getExe pkgs.grimblast} copy area";
|
||||
"${mod}+Shift+s" = "exec ${lib.getExe pkgs.sway-contrib.grimshot} copy anything";
|
||||
"${mod}+Ctrl+Shift+s" = "exec XDG_PICTURES_DIR=$XDG_PICTURES_DIR/screenshots ${lib.getExe pkgs.sway-contrib.grimshot} savecopy anything";
|
||||
|
||||
"${mod}+Shift+p" = "exec ${pauseApp}";
|
||||
|
||||
"XF86AudioRaiseVolume" = "exec ${setVolume "1.5" "3%+"} && ${wobVolume}";
|
||||
"XF86AudioLowerVolume" = "exec ${setVolume "1.5" "3%-"} && ${wobVolume}";
|
||||
|
@ -70,19 +89,20 @@
|
|||
"XF86AudioNext" = "exec ${lib.getExe pkgs.playerctl} next";
|
||||
"XF86AudioPrev" = "exec ${lib.getExe pkgs.playerctl} previous";
|
||||
}
|
||||
// builtins.listToAttrs (lib.flatten
|
||||
(builtins.map (x: let
|
||||
x' = toString x;
|
||||
in [
|
||||
{
|
||||
name = "${mod}+${x'}";
|
||||
value = "exec swaymsg workspace number ${perMonitor x'}:${x'}";
|
||||
}
|
||||
{
|
||||
name = "${mod}+Shift+${toString x'}";
|
||||
value = "exec swaymsg move container to workspace number ${perMonitor x'}:${x'}";
|
||||
}
|
||||
]) (lib.range 0 9)))
|
||||
// (let
|
||||
inherit (builtins) foldl';
|
||||
inherit (lib) range;
|
||||
in
|
||||
foldl' (acc: x:
|
||||
acc
|
||||
// (let
|
||||
y = toString x;
|
||||
in {
|
||||
"${mod}+${y}" = "exec swaymsg workspace number \"$(${monitorId})${y}:${y}\"";
|
||||
"${mod}+Shift+${y}" = "exec swaymsg move container to workspace number \"$(${monitorId})${y}:${y}\"";
|
||||
}))
|
||||
{}
|
||||
(range 0 9))
|
||||
);
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol
|
||||
pwvucontrol
|
||||
];
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
enableZshIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,6 +18,9 @@ in {
|
|||
pictures = home + "/pics";
|
||||
publicShare = home + "/share";
|
||||
videos = home + "/vids";
|
||||
extraConfig = {
|
||||
XDG_SCREENSHOTS_DIR = config.xdg.userDirs.pictures + "/screenshots";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,16 +2,20 @@
|
|||
self,
|
||||
inputs,
|
||||
homeImports,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
specialArgs = {
|
||||
inherit inputs self;
|
||||
};
|
||||
in {
|
||||
flake.colmena = let
|
||||
mod = "${self}/system";
|
||||
prependAll = a: b: map (x: a + x) b;
|
||||
rootPaths = prependAll "${self}/";
|
||||
modulePaths = prependAll "${self}/system/";
|
||||
|
||||
inherit (import "${self}/system") desktop;
|
||||
in {
|
||||
in {
|
||||
flake.colmena = {
|
||||
meta = {
|
||||
nixpkgs = import inputs.nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
|
@ -38,24 +42,26 @@ in {
|
|||
};
|
||||
imports =
|
||||
desktop
|
||||
++ [
|
||||
++ lib.flatten [
|
||||
./nixdesk
|
||||
|
||||
"${self}/secrets"
|
||||
"${self}/secrets/nixdesk"
|
||||
(rootPaths [
|
||||
"secrets"
|
||||
"secrets/nixdesk"
|
||||
])
|
||||
|
||||
#"${mod}/network/wifi.nix"
|
||||
(modulePaths [
|
||||
"services/syncthing.nix"
|
||||
"services/virt/waydroid.nix"
|
||||
"services/virt/virt-manager.nix"
|
||||
#"network/wifi.nix"
|
||||
#"services/ollama.nix"
|
||||
"desktop/x11/nosleep.nix"
|
||||
|
||||
"${mod}/services/syncthing.nix"
|
||||
#"${mod}/services/virt/podman.nix"
|
||||
"${mod}/services/virt/waydroid.nix"
|
||||
"${mod}/services/virt/virt-manager.nix"
|
||||
#"${mod}/services/ollama.nix"
|
||||
"${mod}/desktop/x11/nosleep.nix"
|
||||
|
||||
"${mod}/programs/gamemode.nix"
|
||||
"${mod}/programs/gamescope.nix"
|
||||
"${mod}/programs/steam.nix"
|
||||
"programs/gamemode.nix"
|
||||
"programs/gamescope.nix"
|
||||
"programs/steam.nix"
|
||||
])
|
||||
|
||||
{
|
||||
home-manager = {
|
||||
|
@ -70,34 +76,38 @@ in {
|
|||
targetUser = "xun";
|
||||
targetHost = "hopper.local";
|
||||
};
|
||||
imports = [
|
||||
imports = lib.flatten [
|
||||
./hopper
|
||||
|
||||
"${self}/secrets"
|
||||
"${self}/secrets/hopper"
|
||||
(rootPaths [
|
||||
"secrets"
|
||||
"secrets/hopper"
|
||||
])
|
||||
|
||||
"${mod}/core"
|
||||
(modulePaths [
|
||||
"core"
|
||||
|
||||
#"${mod}/programs"
|
||||
#"${mod}/programs/steam.nix"
|
||||
#"programs"
|
||||
#"programs/steam.nix"
|
||||
|
||||
#"${mod}/desktop"
|
||||
#"${mod}/desktop/awesome.nix"
|
||||
#"desktop"
|
||||
#"desktop/awesome.nix"
|
||||
|
||||
#"${mod}/hardware/opengl.nix"
|
||||
#"${mod}/hardware/steam-hardware.nix"
|
||||
#"${mod}/hardware/bluetooth.nix"
|
||||
#"${mod}/hardware/qmk.nix"
|
||||
#"hardware/graphics.nix"
|
||||
#"hardware/steam-hardware.nix"
|
||||
#"hardware/bluetooth.nix"
|
||||
#"hardware/qmk.nix"
|
||||
|
||||
"${mod}/network/avahi.nix"
|
||||
"${mod}/network/networkd.nix"
|
||||
"${mod}/network/tailscale.nix"
|
||||
"network/avahi.nix"
|
||||
"network/networkd.nix"
|
||||
"network/tailscale.nix"
|
||||
|
||||
#"${mod}/services"
|
||||
#"${mod}/services/pipewire.nix"
|
||||
"${mod}/services/syncthing.nix"
|
||||
#"${mod}/services/containers/server"
|
||||
"${mod}/services/containers/experimental"
|
||||
#"services"
|
||||
#"services/pipewire.nix"
|
||||
"services/syncthing.nix"
|
||||
#"services/containers/server"
|
||||
"services/containers/experimental"
|
||||
])
|
||||
|
||||
#{
|
||||
# home-manager = {
|
||||
|
@ -109,15 +119,15 @@ in {
|
|||
};
|
||||
liveiso = {
|
||||
deployment.targetHost = null;
|
||||
imports = [
|
||||
imports = lib.flatten [
|
||||
./liveiso
|
||||
|
||||
"${mod}/nix"
|
||||
"${mod}/core/security.nix"
|
||||
|
||||
"${mod}/services"
|
||||
|
||||
"${mod}/desktop"
|
||||
(modulePaths [
|
||||
"/nix"
|
||||
"/core/security.nix"
|
||||
"/services"
|
||||
"/desktop"
|
||||
])
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -37,12 +37,12 @@
|
|||
${lib.getExe pkgs.gnuplot} -c ${pkgs.writeText "gnuplotcmds" ''
|
||||
set xdata time
|
||||
set timefmt '%Y%m%dT%H%M%S.000Z'
|
||||
set format x '%H:%M'
|
||||
set format x '%m/%d-%H:%M'
|
||||
set xlabel 'Time'
|
||||
set ylabel 'Trophies'
|
||||
set term svg
|
||||
plot "/dev/stdin" using 1:2 with linespoints notitle
|
||||
''} # 2>/dev/null
|
||||
plot "/dev/stdin" u 1:2 w lines notitle
|
||||
''}
|
||||
}
|
||||
|
||||
case ''${parameters:1} in
|
||||
|
@ -59,41 +59,23 @@
|
|||
;;
|
||||
brawler*)
|
||||
id=$(echo $parameters | ${lib.getExe pkgs.gawk} '{print $2}')
|
||||
brawler=$(echo $parameters | ${lib.getExe pkgs.gawk} '{print $3}')
|
||||
brawler=$(echo $parameters | ${lib.getExe pkgs.gawk} '{print $3}' | ${lib.getExe pkgs.gnused} 's/%20/ /g')
|
||||
response=$(${lib.getExe pkgs.jq} -r \
|
||||
"sort_by(.battleTime)
|
||||
| reverse
|
||||
| map (select (.. | .tag? == \"#$id\" and .brawler.name == \"$brawler\")).[]
|
||||
| select (.battle.type == \"ranked\")
|
||||
| .battleTime,
|
||||
(.battle | (.teams[]?,.players) | select(.)[] | select(.tag == \"#$id\") | .brawler.trophies) + .battle.trophyChange" "/var/lib/brawlstats/$id-log.json" \
|
||||
| paste - - \
|
||||
| tosvg)
|
||||
#reponse=$(${lib.getExe pkgs.jq} -r \
|
||||
# "sort_by(.battleTime)
|
||||
# | reverse
|
||||
# | map (select (.. | .tag? == \"#$id\" and .brawler.name == \"$brawler\")).[]
|
||||
# | .battleTime,
|
||||
# (.battle | (.teams[]?,.players) | select(.)[] | select(.tag == \"#$id\") | .brawler.trophies) + .battle.trophyChange" \
|
||||
# "/var/lib/brawlstats/$id-log.json" \
|
||||
# | paste - - \
|
||||
# | tosvg)
|
||||
#echo $response
|
||||
;;
|
||||
*)
|
||||
response="parameters: $parameters | firstparam: $(echo "$parameters" | ${lib.getExe pkgs.gawk} '{print $1}')"
|
||||
;;
|
||||
esac
|
||||
|
||||
#file="/var/lib/brawlstats/output.svg"
|
||||
echo -e "HTTP/1.1 200 OK\r\nContent-Length: $(echo "$response" | wc -c)\r\nContent-Type: text/html\r\n\r\n$response"
|
||||
#echo $endpoint
|
||||
#cat "$file"
|
||||
#while read -r LINE
|
||||
#do
|
||||
# echo "$LINE"
|
||||
# [ -z "$LINE" ] && break
|
||||
#done
|
||||
|
||||
''}";
|
||||
};
|
||||
};
|
||||
|
@ -119,7 +101,7 @@
|
|||
LoadCredential = "apitoken:${config.sops.secrets.brawlstars-api-key.path}";
|
||||
Environment = "TOKEN=%d/apitoken";
|
||||
|
||||
ExecStart = "${pkgs.writeShellScript "brawlstats.sh" ''
|
||||
ExecStart = pkgs.writers.writeBash "brawlstats.sh" ''
|
||||
TOKEN=$(cat $TOKEN)
|
||||
|
||||
cd "$STATE_DIRECTORY"
|
||||
|
@ -160,7 +142,7 @@
|
|||
# remove old backups
|
||||
find . -type f -name "$id-log-*.json" | sort | head -n -5 | xargs -r rm
|
||||
done
|
||||
''}";
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{inputs, ...}: {
|
||||
imports = with inputs.hardware.nixosModules; [
|
||||
common-cpu-intel
|
||||
common-pc-hdd
|
||||
|
||||
./hardware.nix
|
||||
./brawlstats.nix
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
nixpkgs.hostPlatform.system = "x86_64-linux";
|
||||
|
||||
## nvidia gpu
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
#services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
#hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
#};
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
#environment.systemPackages = [pkgs.steam-run];
|
||||
environment.systemPackages = [pkgs.appimage-run];
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
{pkgs, ...}: let
|
||||
list-of-libraries = with pkgs; [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
|
@ -56,4 +52,14 @@
|
|||
xorg.libxshmfence
|
||||
zlib
|
||||
];
|
||||
in {
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
package = pkgs.appimage-run.override {
|
||||
extraPkgs = p: list-of-libraries;
|
||||
};
|
||||
};
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = list-of-libraries;
|
||||
}
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
{pkgs, ...}: {
|
||||
documentation = {
|
||||
dev.enable = true;
|
||||
man.generateCaches = true;
|
||||
man = {
|
||||
man-db.enable = false;
|
||||
mandoc.enable = true;
|
||||
};
|
||||
#man.generateCaches = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
linux-manual
|
||||
|
|
7
system/core/tools.nix
Normal file
7
system/core/tools.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
htop
|
||||
btop
|
||||
vim
|
||||
];
|
||||
}
|
|
@ -1,12 +1,15 @@
|
|||
let
|
||||
desktop = [
|
||||
./core
|
||||
./core/tools.nix
|
||||
./core/compat.nix
|
||||
./core/boot.nix
|
||||
./core/docs.nix
|
||||
./core/gvfs.nix
|
||||
|
||||
./hardware/opengl.nix
|
||||
./nix/gc.nix
|
||||
|
||||
./hardware/graphics.nix
|
||||
./hardware/steam-hardware.nix
|
||||
./hardware/bluetooth.nix
|
||||
./hardware/qmk.nix
|
||||
|
|
6
system/hardware/graphics.nix
Normal file
6
system/hardware/graphics.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
}
|
7
system/nix/gc.nix
Normal file
7
system/nix/gc.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
nix.optimise.automatic = true;
|
||||
}
|
|
@ -9,17 +9,34 @@
|
|||
source-code-pro
|
||||
iosevka
|
||||
|
||||
# nerdfonts
|
||||
nerdfonts
|
||||
#(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
|
||||
(stdenv.mkDerivation {
|
||||
# font piracy? i would never
|
||||
pname = "Cartograph-CF";
|
||||
version = "0.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "xiyaowong";
|
||||
repo = "Cartograph-CF";
|
||||
rev = "619de85c103dbd5c150e1d5df039357f8ac2ed52";
|
||||
hash = "sha256-NVqHxLQZnHb0lMjODkaDwSoglGPkUVJHL1xTmASoER4=";
|
||||
};
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/fonts
|
||||
cp -r $src $out/share/fonts
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
# 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 = {
|
||||
monospace = ["DejaVu Sans Mono for Powerline"];
|
||||
sansSerif = ["DejaVu Sans"];
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
htop
|
||||
|
@ -8,7 +12,12 @@
|
|||
nethogs
|
||||
ffmpeg-full
|
||||
parted
|
||||
pciutils
|
||||
usbutils
|
||||
busybox
|
||||
(
|
||||
if config.nixpkgs.config.allowUnfree
|
||||
then p7zip-rar
|
||||
else p7zip
|
||||
)
|
||||
unar
|
||||
];
|
||||
}
|
||||
|
|
|
@ -132,6 +132,7 @@
|
|||
"5030:5030" # slskd
|
||||
"5031:5031" # slskd https
|
||||
"8096:8096" # jellyfin
|
||||
"8920:8920" # jellyfin https
|
||||
"8080:8080" # qbittorrent webui
|
||||
];
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
#rocmOverrideGfx = "10.3.0";
|
||||
rocmOverrideGfx = "10.3.0";
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue