diff --git a/.config/nixos/flake.nix b/.config/nixos/flake.nix index ae994ad..dff810c 100644 --- a/.config/nixos/flake.nix +++ b/.config/nixos/flake.nix @@ -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 ]; }; diff --git a/.config/nixos/hosts/stellapent-cier/configuration.nix b/.config/nixos/hosts/stellapent-cier/configuration.nix index c44d7be..fbe08aa 100644 --- a/.config/nixos/hosts/stellapent-cier/configuration.nix +++ b/.config/nixos/hosts/stellapent-cier/configuration.nix @@ -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; diff --git a/.config/nixos/hosts/stellapent-cier/users/gildedguy.nix b/.config/nixos/hosts/stellapent-cier/users/gildedguy.nix index 808aa80..d82556f 100644 --- a/.config/nixos/hosts/stellapent-cier/users/gildedguy.nix +++ b/.config/nixos/hosts/stellapent-cier/users/gildedguy.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ config, pkgs, lib, ... }: let vscExts = (import ../../../shared/vscode-extensions.nix) { diff --git a/.config/nixos/shared/bluetooth.nix b/.config/nixos/shared/bluetooth.nix new file mode 100644 index 0000000..6f8bb7d --- /dev/null +++ b/.config/nixos/shared/bluetooth.nix @@ -0,0 +1,10 @@ +{ config, pkgs, lib, ... }: + +{ + hardware.bluetooth.enable = true; + hardware.bluetooth.settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; +} \ No newline at end of file diff --git a/.config/nixos/shared/firewall.nix b/.config/nixos/shared/firewall.nix index 2e9404d..607723d 100644 --- a/.config/nixos/shared/firewall.nix +++ b/.config/nixos/shared/firewall.nix @@ -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 diff --git a/.config/nixos/shared/kde-plasma.nix b/.config/nixos/shared/kde-plasma.nix index f7e5610..8b7854d 100644 --- a/.config/nixos/shared/kde-plasma.nix +++ b/.config/nixos/shared/kde-plasma.nix @@ -1,4 +1,4 @@ -{ ... }: +{ config, pkgs, lib, ... }: { # Enable the KDE Plasma Desktop Environment. diff --git a/.config/nixos/shared/locale.nix b/.config/nixos/shared/locale.nix index ff4fd88..8d9ab48 100644 --- a/.config/nixos/shared/locale.nix +++ b/.config/nixos/shared/locale.nix @@ -1,4 +1,4 @@ -{ ... }: +{ config, pkgs, lib, ... }: { # Set your time zone. diff --git a/.config/nixos/shared/meta-configs.nix b/.config/nixos/shared/meta-configs.nix index 03f1d6e..e6b633f 100644 --- a/.config/nixos/shared/meta-configs.nix +++ b/.config/nixos/shared/meta-configs.nix @@ -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, diff --git a/.config/nixos/shared/networking.nix b/.config/nixos/shared/networking.nix index da63c69..12698fc 100644 --- a/.config/nixos/shared/networking.nix +++ b/.config/nixos/shared/networking.nix @@ -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" ]; diff --git a/.config/nixos/shared/ssh.nix b/.config/nixos/shared/ssh.nix index 954929a..4ebd241 100644 --- a/.config/nixos/shared/ssh.nix +++ b/.config/nixos/shared/ssh.nix @@ -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"; diff --git a/.config/nixos/shared/tailscale.nix b/.config/nixos/shared/tailscale.nix index 3bf8431..78053c3 100644 --- a/.config/nixos/shared/tailscale.nix +++ b/.config/nixos/shared/tailscale.nix @@ -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 = [ diff --git a/.config/nixos/shared/vscode-extensions.nix b/.config/nixos/shared/vscode-extensions.nix index c453110..c9ed167 100644 --- a/.config/nixos/shared/vscode-extensions.nix +++ b/.config/nixos/shared/vscode-extensions.nix @@ -1,4 +1,4 @@ -{ pkgs, lib }: +{ pkgs, lib, ... }: let inherit (pkgs.stdenv) isDarwin isLinux isi686 isx86_64 isAarch32 isAarch64; diff --git a/.nix4vscode.toml b/.nix4vscode.toml new file mode 100644 index 0000000..0cca6a1 --- /dev/null +++ b/.nix4vscode.toml @@ -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" \ No newline at end of file diff --git a/.wakatime-project b/.wakatime-project new file mode 100644 index 0000000..463b337 --- /dev/null +++ b/.wakatime-project @@ -0,0 +1 @@ +@andreijiroh-dev/dotfiles \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..bf50c88 --- /dev/null +++ b/README.md @@ -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