summaryrefslogtreecommitdiff
path: root/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'configuration')
-rw-r--r--configuration/hyprland.nix14
-rw-r--r--configuration/nix-settings.nix10
-rw-r--r--configuration/packages.nix27
-rw-r--r--configuration/services.nix47
-rw-r--r--configuration/tarrel/default.nix10
-rw-r--r--configuration/work/default.nix20
6 files changed, 127 insertions, 1 deletions
diff --git a/configuration/hyprland.nix b/configuration/hyprland.nix
new file mode 100644
index 0000000..bf06cc3
--- /dev/null
+++ b/configuration/hyprland.nix
@@ -0,0 +1,14 @@
+{ inputs, pkgs, ... }:
+{
+ nix.settings = {
+ substituters = ["https://hyprland.cachix.org"];
+ trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
+ };
+
+ programs.hyprland = {
+ enable = true;
+ xwayland.enable = true;
+ package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
+ portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
+ };
+}
diff --git a/configuration/nix-settings.nix b/configuration/nix-settings.nix
new file mode 100644
index 0000000..189422c
--- /dev/null
+++ b/configuration/nix-settings.nix
@@ -0,0 +1,10 @@
+{ ... }:
+{
+ nix.settings = {
+ experimental-features = [ "nix-command" "flakes" ];
+ };
+
+ nix.extraOptions = ''
+ trusted-users = root jras
+ '';
+}
diff --git a/configuration/packages.nix b/configuration/packages.nix
new file mode 100644
index 0000000..cf4baea
--- /dev/null
+++ b/configuration/packages.nix
@@ -0,0 +1,27 @@
+{ pkgs, ... }:
+{
+ environment.systemPackages = with pkgs; [
+ kitty
+
+ helix
+ alacritty
+ firefox
+ git
+ git-crypt
+ whatsapp-for-linux
+ obsidian
+ devenv
+
+ busybox
+ usbutils
+ dig
+ file
+ gcc
+ jq
+ netcat
+ tcpdump
+ wget
+ iftop
+ htop
+ ];
+}
diff --git a/configuration/services.nix b/configuration/services.nix
new file mode 100644
index 0000000..9997d71
--- /dev/null
+++ b/configuration/services.nix
@@ -0,0 +1,47 @@
+{ pkgs, ... }:
+{
+ services = {
+ pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ };
+ keyd = {
+ enable = true;
+ keyboards = {
+ default = {
+ ids = [ "*" ];
+ settings.main.capslock = "overload(meta, esc)";
+ };
+ };
+ };
+ greetd = {
+ enable = true;
+ settings = {
+ default_session = {
+ command = "${pkgs.hyprland}/bin/Hyprland";
+ user = "jras";
+ };
+ };
+ };
+ gnome.gnome-keyring.enable = true;
+ openssh = {
+ enable = true;
+ openFirewall = false;
+ settings.AllowUsers = [ "jras" ];
+ };
+ };
+
+ systemd.user.services.kanshi = {
+ description = "kanshi daemon";
+ environment = {
+ WAYLAND_DISPLAY="wayland-1";
+ DISPLAY=":0";
+ };
+ serviceConfig = {
+ Type = "simple";
+ ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
+ };
+ };
+}
diff --git a/configuration/tarrel/default.nix b/configuration/tarrel/default.nix
index ca573fa..f92285b 100644
--- a/configuration/tarrel/default.nix
+++ b/configuration/tarrel/default.nix
@@ -2,8 +2,16 @@
{
imports = [
./hardware-configuration.nix
+
+ ../packages.nix
+ ../services.nix
+ ../users
+ ../hyprland.nix
+ ../nix-settings.nix
];
+ nixpkgs.config.allowUnfree = true;
+
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@@ -79,4 +87,6 @@
capSysAdmin = true;
openFirewall = true;
};
+
+ programs.steam.enable = true;
}
diff --git a/configuration/work/default.nix b/configuration/work/default.nix
index ebb26f5..5bc9958 100644
--- a/configuration/work/default.nix
+++ b/configuration/work/default.nix
@@ -1,6 +1,14 @@
{ config, pkgs, inputs, ... }:
{
- imports = [ ./hardware-configuration.nix ];
+ imports = [
+ ./hardware-configuration.nix
+
+ ../packages.nix
+ ../services.nix
+ ../users
+ ../hyprland.nix
+ ../nix-settings.nix
+ ];
age.secrets.ghostnet-cert.file = ../../secrets/ghostnet-cert.age;
age.secrets.ghostnet-key.file = ../../secrets/ghostnet-key.age;
@@ -24,6 +32,13 @@
google-chrome
];
+ nixpkgs.config.allowUnfree = true;
+
+ virtualisation.docker = {
+ enable = true;
+ enableOnBoot = true;
+ };
+
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
@@ -148,5 +163,8 @@
home-manager.users.jras = import ../../home-manager/entrypoints/work.nix;
home-manager.extraSpecialArgs = { inherit inputs; monitor-names = ["eDP-1" "HDMI-A-1" "DP-10"]; };
+ programs.gnupg.agent.enable = true;
+ programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3;
+
system.stateVersion = "24.05"; # Do NOT change before reading configuration.nix
}