From 549d0c9103861e72c0f091a3d69b11f22e5842ed Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 20 Aug 2020 19:26:36 +0000 Subject: modules/sway: rearrange This was getting quite difficult to read. --- .../windowing/sway/choose_workspace.nix | 9 ++++ modules/workstation/windowing/sway/default.nix | 48 +++++++--------------- modules/workstation/windowing/sway/status.nix | 6 +++ modules/workstation/windowing/sway/wallpaper.nix | 10 +++++ 4 files changed, 39 insertions(+), 34 deletions(-) create mode 100644 modules/workstation/windowing/sway/choose_workspace.nix create mode 100644 modules/workstation/windowing/sway/status.nix create mode 100644 modules/workstation/windowing/sway/wallpaper.nix (limited to 'modules') diff --git a/modules/workstation/windowing/sway/choose_workspace.nix b/modules/workstation/windowing/sway/choose_workspace.nix new file mode 100644 index 000000000000..fc162d627b60 --- /dev/null +++ b/modules/workstation/windowing/sway/choose_workspace.nix @@ -0,0 +1,9 @@ +{ substituteAll, bemenu, jq }: + +substituteAll { + dir = "bin"; + name = "choose_workspace"; + src = ./choose_workspace.sh.in; + isExecutable = true; + inherit bemenu jq; +} diff --git a/modules/workstation/windowing/sway/default.nix b/modules/workstation/windowing/sway/default.nix index d0e7e556fc52..22de51a801be 100644 --- a/modules/workstation/windowing/sway/default.nix +++ b/modules/workstation/windowing/sway/default.nix @@ -3,6 +3,9 @@ let inherit (lib) mkOption optionalString; inherit (lib.types) lines nullOr path; + inherit (pkgs) callPackage substituteAll; + + cfg = config.programs.sway; in { @@ -22,45 +25,22 @@ in }; }; - config = let - cfg = config.programs.sway; - - configFile = pkgs.substituteAll { - src = ./config.in; - inherit choose_workspace status_command; - extraConfig = cfg.extraConfig + optionalString (cfg.wallpaper != null) '' - output * bg ${cfg.wallpaper} fill - ''; - }; - - status_command = "${pkgs.runCommandCC "status" {} '' - mkdir -p $out/bin - c++ -std=c++17 -o $out/bin/status ${./status.cpp} - ''}/bin/status"; - - choose_workspace = pkgs.substituteAll { - src = ./choose_workspace.sh.in; - isExecutable = true; - inherit (pkgs) bemenu jq; - }; - - in - - { + config = { environment.systemPackages = with pkgs; [ bemenu choose ]; programs.sway.enable = true; - programs.sway.wallpaper = pkgs.fetchurl { - url = https://mir-s3-cdn-cf.behance.net/project_modules/2800_opt_1/36731876964505.5c793fa788b5d.jpg; - sha256 = "1c6camdipng8ws41sgpcxzrxb96crgip3wirqjgf2ajn60qg3v64"; - - meta = { - homepage = https://www.behance.net/gallery/76964505/IQOO-style-frame-and-scene-design; - }; - }; + programs.sway.wallpaper = callPackage ./wallpaper.nix { }; programs.swayidle.enable = true; - users.users.qyliss.xdg.config.paths."sway/config" = configFile; + users.users.qyliss.xdg.config.paths."sway/config" = substituteAll { + src = ./config.in; + choose_workspace = + "${callPackage ./choose_workspace.nix { }}/bin/choose_workspace"; + status_command = "${callPackage ./status.nix { }}/bin/status"; + extraConfig = cfg.extraConfig + optionalString (cfg.wallpaper != null) '' + output * bg ${cfg.wallpaper} fill + ''; + }; }; } diff --git a/modules/workstation/windowing/sway/status.nix b/modules/workstation/windowing/sway/status.nix new file mode 100644 index 000000000000..2697317d7611 --- /dev/null +++ b/modules/workstation/windowing/sway/status.nix @@ -0,0 +1,6 @@ +{ runCommandCC }: + +runCommandCC "status" {} '' + mkdir -p $out/bin + c++ -std=c++17 -o $out/bin/status ${./status.cpp} +'' diff --git a/modules/workstation/windowing/sway/wallpaper.nix b/modules/workstation/windowing/sway/wallpaper.nix new file mode 100644 index 000000000000..bed6bbe33a6b --- /dev/null +++ b/modules/workstation/windowing/sway/wallpaper.nix @@ -0,0 +1,10 @@ +{ fetchurl }: + +fetchurl { + url = "https://mir-s3-cdn-cf.behance.net/project_modules/2800_opt_1/36731876964505.5c793fa788b5d.jpg"; + sha256 = "1c6camdipng8ws41sgpcxzrxb96crgip3wirqjgf2ajn60qg3v64"; + + meta = { + homepage = "https://www.behance.net/gallery/76964505/IQOO-style-frame-and-scene-design"; + }; +} -- cgit 1.4.1