chore(global): initial commit for nixpkgs branch

Need to commit and push for community help at @hackclub slack
later.

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev>
This commit is contained in:
Andrei Jiroh Halili 2024-12-29 19:39:14 +08:00
commit 824366c5dd
14 changed files with 1062 additions and 0 deletions

View file

@ -0,0 +1,27 @@
{ ... }:
{
# Open ports in the firewall.
networking.firewall.allowedTCPPortRanges = [
{ from = 1714; to = 1764; }
];
networking.firewall.allowedUDPPortRanges = [
{ from = 1714; to = 1764; }
];
networking.firewall.allowTCPPorts = [
22
80
443
3000
8000
];
networking.firewall.allowUDPPorts = [
22
80
443
3000
8000
];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
}

View file

@ -0,0 +1,10 @@
{ ... }:
{
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
# Also enable KDE Connect
programs.kdeconnect.enable = true;
}

View file

@ -0,0 +1,20 @@
{ ... }:
{
# Set your time zone.
time.timeZone = "Asia/Manila";
# Select internationalisation properties.
i18n.defaultLocale = "en_PH.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_PH.UTF-8";
LC_IDENTIFICATION = "en_PH.UTF-8";
LC_MEASUREMENT = "en_PH.UTF-8";
LC_MONETARY = "en_PH.UTF-8";
LC_NAME = "en_PH.UTF-8";
LC_NUMERIC = "en_PH.UTF-8";
LC_PAPER = "en_PH.UTF-8";
LC_TELEPHONE = "en_PH.UTF-8";
LC_TIME = "en_PH.UTF-8";
};
}

View file

@ -0,0 +1,18 @@
# This is the meta config file for nixpkgs and nix cli
{ ... }:
{
# Adopted from https://fnordig.de/til/nix/home-manager-allow-unfree.html,
# but we'll also enable it system-wide too.
nixpkgs = {
config = {
allowUnfree = true;
# https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = (_: true);
};
};
# Enable the Flakes feature and the accompanying new nix command-line tool
nix.settings.experimental-features = [ "nix-command" "flakes" ];
}

View file

@ -0,0 +1,18 @@
{ ... }:
{
# Do a lot of systemd-resolved related chores
networking.nameservers = [
"45.90.28.0#c393f6.dns.nextdns.io"
"45.90.30.0#c393f6.dns.nextdns.io"
];
services.resolved = {
enable = true;
dnssec = "false"; # https://superuser.com/a/1493674
domains = [ "~." "fawn-cod.ts.net" ];
# Use Cloudflare DNS resolver as fallback if things go wrong.
fallbackDns = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ];
dnsovertls = "true";
};
}

View file

@ -0,0 +1,15 @@
# To use this shared NixOS configuration for OpenSSH, just import this file
# on your NixOS configuration.
{...}:
{
programs.openssh = {
enable = true;
settings = {
PermitRootLogin = "prohibit-password";
};
};
programs.mosh.enable = true;
}

View file

@ -0,0 +1,17 @@
# This Nix file contains the Tailscale configuration here
# in NixOS, mostly on the side of the daemon and its related
# configurations.
{ ... }:
{
services.tailscale = {
enable = true;
useRoutingFeatures = true;
openFirewall = true;
disableTaildrop = false;
extraDaemonFlags = [
"--verbose 3"
];
};
}

View file

@ -0,0 +1,77 @@
{ pkgs, lib }:
let
inherit (pkgs.stdenv) isDarwin isLinux isi686 isx86_64 isAarch32 isAarch64;
vscode-utils = pkgs.vscode-utils;
merge = lib.attrsets.recursiveUpdate;
in
merge
(merge
(merge
(merge
{
"eamodio"."gitlens" = vscode-utils.extensionFromVscodeMarketplace {
name = "gitlens";
publisher = "eamodio";
version = "2024.12.2404";
sha256 = "0wc0hqaxf5sh9wjsx29mnl6i8bf2jhsi4a1hshwiwm08p6lhg4fv";
};
"pkief"."material-icon-theme" = vscode-utils.extensionFromVscodeMarketplace {
name = "material-icon-theme";
publisher = "pkief";
version = "5.16.0";
sha256 = "0ggwj2y84dyqhzl9kisddx64559bkhnfv94zxz6zcqyfq0vpycng";
};
"wakatime"."vscode-wakatime" = vscode-utils.extensionFromVscodeMarketplace {
name = "vscode-wakatime";
publisher = "wakatime";
version = "25.0.0";
sha256 = "1c5ilsj8zvcrhvh3gb9wbgz8llfkjgxnv39r12a3iyy3fvdg5zlz";
};
"github"."github-vscode-theme" = vscode-utils.extensionFromVscodeMarketplace {
name = "github-vscode-theme";
publisher = "github";
version = "6.3.5";
sha256 = "0jj7bp5iadrm2h75pdn96z0wzygv0sfa93karvlqlwagh2hrvrkl";
};
"denoland"."vscode-deno" = vscode-utils.extensionFromVscodeMarketplace {
name = "vscode-deno";
publisher = "denoland";
version = "3.43.1";
sha256 = "0lna1znrbsdggzp6mx079461p21ngwgqz6mb7i3d0bnpxb844x3a";
};
"unifiedjs"."vscode-mdx" = vscode-utils.extensionFromVscodeMarketplace {
name = "vscode-mdx";
publisher = "unifiedjs";
version = "1.8.12";
sha256 = "0afzx5i6bw7hmm4f8vdvx6a6mx053gmvc0gn78fz94b6fyaijsl7";
};
"pkief"."material-product-icons" = vscode-utils.extensionFromVscodeMarketplace {
name = "material-product-icons";
publisher = "pkief";
version = "1.7.1";
sha256 = "1g75m55fc6nnfazpgmjxc48kw8abv85sglmmmjglwwgwi0di2xlj";
};
"vivaxy"."vscode-conventional-commits" = vscode-utils.extensionFromVscodeMarketplace {
name = "vscode-conventional-commits";
publisher = "vivaxy";
version = "1.26.0";
sha256 = "1n414wwd6my4xjmh55b6l0s8bqadnq35ya1isxvdi6yabapbwg9f";
};
"jnoortheen"."nix-ide" = vscode-utils.extensionFromVscodeMarketplace {
name = "nix-ide";
publisher = "jnoortheen";
version = "0.3.5";
sha256 = "12sg67mn3c8mjayh9d6y8qaky00vrlnwwx58v1f1m4qrbdjqab46";
};
"doppler"."doppler-vscode" = vscode-utils.extensionFromVscodeMarketplace {
name = "doppler-vscode";
publisher = "doppler";
version = "0.0.10";
sha256 = "1cqaxnf45in44i4za36diirgh1q5rkmk27is9h6zgnmgl2i9awa7";
};
}
(lib.attrsets.optionalAttrs (isLinux && (isi686 || isx86_64)) { }))
(lib.attrsets.optionalAttrs (isLinux && (isAarch32 || isAarch64)) { }))
(lib.attrsets.optionalAttrs (isDarwin && (isi686 || isx86_64)) { }))
(lib.attrsets.optionalAttrs (isDarwin && (isAarch32 || isAarch64)) { })