diff --git a/flake.lock b/flake.lock index 3102134..577ece4 100644 --- a/flake.lock +++ b/flake.lock @@ -1,8 +1,43 @@ { "nodes": { + "aagl": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1712185015, + "narHash": "sha256-mL3VSJRkyDJbMh/QqUeOhGOsEOTS7Jw9Tqw4fM+VjB4=", + "owner": "ezKEa", + "repo": "aagl-gtk-on-nix", + "rev": "1dbb1c233a249e8cbc03907e965bd2a48d880262", + "type": "github" + }, + "original": { + "owner": "ezKEa", + "repo": "aagl-gtk-on-nix", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "home-manager": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1712212014, @@ -34,6 +69,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1711668574, + "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1711703276, "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", @@ -49,7 +100,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1712026416, "narHash": "sha256-N/3VR/9e1NlN49p7kCiATiEY6Tzdo+CbrAG8kqCQKcI=", @@ -65,9 +116,10 @@ }, "root": { "inputs": { + "aagl": "aagl", "home-manager": "home-manager", "impermanence": "impermanence", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" } } }, diff --git a/flake.nix b/flake.nix index e651ace..c06f208 100644 --- a/flake.nix +++ b/flake.nix @@ -3,16 +3,24 @@ inputs = { impermanence.url = "github:nix-community/impermanence"; - home-manager.url = "github:nix-community/home-manager"; + + home-manager = { + url = "github:nix-community/home-manager"; + }; + + aagl = { + url = "github:ezKEa/aagl-gtk-on-nix"; + }; }; - outputs = { self, nixpkgs, impermanence, home-manager, ... }: + outputs = { self, nixpkgs, impermanence, home-manager, aagl, ... }: { nixosConfigurations.workstation = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ impermanence.nixosModules.impermanence home-manager.nixosModules.home-manager + aagl.nixosModules.default ./machines/workstation.nix ./users/hu/user.nix ]; diff --git a/machines/workstation.nix b/machines/workstation.nix index 348d27d..972d104 100644 --- a/machines/workstation.nix +++ b/machines/workstation.nix @@ -4,7 +4,7 @@ imports = [ ./hardware/workstation.nix ./persist/workstation.nix - ../wm/xmonad.nix + ../wm/plasma.nix ../packages/sets/basic.nix ]; diff --git a/packages/sets/communication.nix b/packages/sets/communication.nix new file mode 100644 index 0000000..df76eba --- /dev/null +++ b/packages/sets/communication.nix @@ -0,0 +1,11 @@ +{ config, libs, pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + thunderbird + tutanota-desktop + signal-desktop + element-desktop + vesktop + ]; +} diff --git a/packages/sets/games.nix b/packages/sets/games.nix new file mode 100644 index 0000000..fccdd12 --- /dev/null +++ b/packages/sets/games.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, ... }: + +{ + programs.steam = { + enable = true; + remotePlay.openFirewall = false; + dedicatedServer.openFirewall = false; + }; + + programs.honkers-railway-launcher.enable = true; +} diff --git a/users/hu/user.nix b/users/hu/user.nix index ec3d735..1db74f7 100644 --- a/users/hu/user.nix +++ b/users/hu/user.nix @@ -1,6 +1,11 @@ { config, lib, pkgs, ... }: { + imports = [ + ../../packages/sets/communication.nix + ../../packages/sets/games.nix + ]; + programs.zsh.enable = true; environment.variables = { ZDOTDIR = "${config.users.users.hu.home}/.config/zsh"; diff --git a/wm/plasma.nix b/wm/plasma.nix new file mode 100644 index 0000000..dfad497 --- /dev/null +++ b/wm/plasma.nix @@ -0,0 +1,13 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../packages/sets/x.nix + ]; + + services.xserver = { + enable = true; + displayManager.sddm.enable = true; + }; + services.desktopManager.plasma6.enable = true; +} diff --git a/wm/xmonad.nix b/wm/xmonad.nix index a1409af..89db563 100644 --- a/wm/xmonad.nix +++ b/wm/xmonad.nix @@ -22,12 +22,27 @@ options = "eurosign:e"; }; + libinput.enable = true; + windowManager.xmonad = { enable = true; enableContribAndExtras = true; + extraPackages = hp: [ + hp.dbus + hp.xmonad-contrib + hp.monad-logger + ]; }; }; - # Todo: Get gnome-keyring working properly services.gnome.gnome-keyring.enable = true; + + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + config.common.default = "*"; + extraPortals = with pkgs; [ + xdg-desktop-portal-gtk + ]; + }; }