chore(nixos): update configurations and add README

Also set wakatime project name for @hackclub High Seas and
for coding stats

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev>
This commit is contained in:
Andrei Jiroh Halili 2024-12-29 22:16:59 +08:00
parent 824366c5dd
commit 18b7c4e226
15 changed files with 101 additions and 28 deletions

View file

@ -35,12 +35,6 @@
determinate.nixosModules.default
vscode-server.nixosModules.default
home-manager.nixosModules.home-manager
./shared/networking.nix
./shared/locale.nix
./shared/firewall.nix
./shared/kde-plasma.nix
./shared/ssh.nix
./shared/tailscale.nix
./hosts/stellapent-cier/configuration.nix
];
};

View file

@ -2,20 +2,20 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ pkgs, ... }:
{ config, pkgs, lib, ... }:
{
imports =
[
./hardware-configuration.nix
# We're also importing them below just in case
../../shared/meta-configs.nix
../../shared/networking.nix
../../shared/locale.nix
../../shared/firewall.nix
../../shared/kde-plasma.nix
../../shared/tailscale.nix
../../shared/ssh.nix
../../shared/vscode-extensions.nix
../../shared/locale.nix
../../shared/kde-plasma.nix
../../shared/bluetooth.nix
];
# Bootloader.
@ -46,7 +46,14 @@
services.printing.enable = true;
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
#hardware.pulseaudio.extraConfig = "
# load-module module-switch-on-connect
#";
security.rtkit.enable = true;
services.pipewire = {
enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }:
{ config, pkgs, lib, ... }:
let
vscExts = (import ../../../shared/vscode-extensions.nix) {

View file

@ -0,0 +1,10 @@
{ config, pkgs, lib, ... }:
{
hardware.bluetooth.enable = true;
hardware.bluetooth.settings = {
General = {
Enable = "Source,Sink,Media,Socket";
};
};
}

View file

@ -1,4 +1,4 @@
{ ... }:
{ config, pkgs, lib, ... }:
{
# Open ports in the firewall.
@ -8,14 +8,14 @@
networking.firewall.allowedUDPPortRanges = [
{ from = 1714; to = 1764; }
];
networking.firewall.allowTCPPorts = [
networking.firewall.allowedTCPPorts = [
22
80
443
3000
8000
];
networking.firewall.allowUDPPorts = [
networking.firewall.allowedUDPPorts = [
22
80
443

View file

@ -1,4 +1,4 @@
{ ... }:
{ config, pkgs, lib, ... }:
{
# Enable the KDE Plasma Desktop Environment.

View file

@ -1,4 +1,4 @@
{ ... }:
{ config, pkgs, lib, ... }:
{
# Set your time zone.

View file

@ -1,6 +1,6 @@
# This is the meta config file for nixpkgs and nix cli
{ ... }:
{ config, pkgs, lib, ... }:
{
# Adopted from https://fnordig.de/til/nix/home-manager-allow-unfree.html,

View file

@ -1,13 +1,13 @@
{ ... }:
{ config, pkgs, lib, ... }:
{
# Do a lot of systemd-resolved related chores
networking.nameservers = [
config.networking.nameservers = [
"45.90.28.0#c393f6.dns.nextdns.io"
"45.90.30.0#c393f6.dns.nextdns.io"
];
services.resolved = {
config.services.resolved = {
enable = true;
dnssec = "false"; # https://superuser.com/a/1493674
domains = [ "~." "fawn-cod.ts.net" ];

View file

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

View file

@ -2,12 +2,12 @@
# in NixOS, mostly on the side of the daemon and its related
# configurations.
{ ... }:
{ config, pkgs, lib, ... }:
{
services.tailscale = {
enable = true;
useRoutingFeatures = true;
useRoutingFeatures = "both";
openFirewall = true;
disableTaildrop = false;
extraDaemonFlags = [

View file

@ -1,4 +1,4 @@
{ pkgs, lib }:
{ pkgs, lib, ... }:
let
inherit (pkgs.stdenv) isDarwin isLinux isi686 isx86_64 isAarch32 isAarch64;

46
.nix4vscode.toml Normal file
View file

@ -0,0 +1,46 @@
# SPDX-License-Identifier: MPL-2.0
# To use thhis configuration, you must have nix4vscode installed, either
# via "cargo build" or good old "nix develop" from a local clone of the
# tooling's sources.
# TODO: Bump this on every VS Code release here.
vscode_version = "1.96.0"
## theming
[[extensions]]
publisher_name = "pkief"
extension_name = "material-icon-theme"
[[extensions]]
publisher_name = "pkief"
extension_name = "material-product-icons"
[[extensions]]
publisher_name = "github"
extension_name = "github-vscode-theme"
# utils
[[extensions]]
publisher_name = "wakatime"
extension_name = "vscode-wakatime"
[[extensions]]
publisher_name = "doppler"
extension_name = "doppler-vscode"
[[extensions]]
publisher_name = "eamodio"
extension_name = "gitlens"
[[extensions]]
publisher_name = "vivaxy"
extension_name = "vscode-conventional-commits"
# programming languages + IntelliSense
[[extensions]]
publisher_name = "denoland"
extension_name = "vscode-deno"
[[extensions]]
publisher_name = "jnoortheen"
extension_name = "nix-ide"
[[extensions]]
publisher_name = "redhat"
extension_name = "vscode-yaml"
[[extensions]]
publisher_name = "unifiedjs"
extension_name = "vscode-mdx"

1
.wakatime-project Normal file
View file

@ -0,0 +1 @@
@andreijiroh-dev/dotfiles

15
README.md Normal file
View file

@ -0,0 +1,15 @@
# `@andreijiroh-dev/dotfiles@nixos` - @ajhalili2006's dotfiles under nixos + nixpkgs!
Yup, I'm starting a fresh for my dotfiles, now with [nixpkgs](https://nixos.org)
and [home-manager]()
## Usage
### Using my Nixpkgs config
## Directory + File Map
### Essientials
* [`.config/nixos`](./.config/nixos/) - my NixOS configuration as a flake, including system tools
* [`.config/home-manager`](./.config/home-manager/) - Home-manager configs, mostly CLI and desktop apps go here