ma awesome: refactor into module

This commit is contained in:
makefu 2016-04-17 02:03:15 +02:00
parent 26e43d47a7
commit bdce2137e7
5 changed files with 48 additions and 16 deletions

View File

@ -1,6 +1,7 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
krebs.build.host = config.krebs.hosts.vbob; krebs.build.host = config.krebs.hosts.vbob;
makefu.awesome.modkey = "Mod1";
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
../. ../.

View File

@ -14,7 +14,6 @@
with config.krebs.lib; with config.krebs.lib;
let let
mainUser = config.krebs.build.user.name; mainUser = config.krebs.build.user.name;
awesomecfg = pkgs.awesomecfg.full;
in in
{ {
imports = [ ]; imports = [ ];
@ -36,14 +35,7 @@ in
}; };
# lid switch is handled via button presses # lid switch is handled via button presses
services.logind.extraConfig = mkDefault "HandleLidSwitch=ignore"; services.logind.extraConfig = mkDefault "HandleLidSwitch=ignore";
nixpkgs.config.packageOverrides = pkgs: rec { makefu.awesome.enable = true;
awesome = pkgs.stdenv.lib.overrideDerivation pkgs.awesome (oldAttrs : {
postFixup = ''
cp ${awesomecfg} $out/etc/xdg/awesome/rc.lua
'';
});
};
i18n.consoleFont = "Lat2-Terminus16"; i18n.consoleFont = "Lat2-Terminus16";
fonts = { fonts = {

View File

@ -0,0 +1,40 @@
{config, lib, pkgs, ... }:
with config.krebs.lib;
let
cfg = config.makefu.awesome;
out = {
options.makefu.awesome = api;
config = lib.mkIf cfg.enable imp;
};
api = {
enable = mkEnableOption "awesome custom config";
modkey = mkOption {
type = types.str;
description = "Modkey to be used";
default = "Mod4";
};
baseConfig = mkOption {
type = types.path;
description = ''
rc.lua file to be used as default
This module will use substituteAll to replace strings before writing to
/etc/xdg/awesome/rc.lua
'';
default = pkgs.awesomecfg.full;
};
};
imp = {
# TODO: configure display manager as well
nixpkgs.config.packageOverrides = pkgs: rec {
awesome = pkgs.stdenv.lib.overrideDerivation pkgs.awesome (oldAttrs : {
postFixup = let
rclua = pkgs.substituteAll {
src = cfg.baseConfig;
inherit (cfg) modkey;
};
in "cp ${rclua} $out/etc/xdg/awesome/rc.lua";
});
};
};
in out

View File

@ -5,6 +5,7 @@ _:
./snapraid.nix ./snapraid.nix
./umts.nix ./umts.nix
./taskserver.nix ./taskserver.nix
./awesome-extra.nix
]; ];
} }

View File

@ -83,13 +83,11 @@ vicious.register(batwidget, vicious.widgets.bat, "$2%", 61, "BAT0")
-- {{{ Variable definitions -- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers -- Themes define colours, icons, and wallpapers
-- beautiful.init("/usr/share/awesome/themes/default/theme.lua") -- beautiful.init("/usr/share/awesome/themes/default/theme.lua")
-- ./qbx8r72yzaxpz41zq00902zwajl31b5h-awesome-3.5.6/share/awesome/lib/beautiful.lua
-- -- @awesome@/share/awesome/lib/beautiful.lua
-- beautiful.init("@awesome@/share/awesome/themes/default/theme.lua")
-- Find the default theme -- Find the default theme
--
-- beautiful.init("/nix/store/qbx8r72yzaxpz41zq00902zwajl31b5h-awesome-3.5.6/share/awesome/themes/default/theme.lua")
function find_default_theme() function find_default_theme()
-- find the default lua theme in the package path -- find the default lua theme in the package path
for path in package.path:gmatch('([^;]+);') do for path in package.path:gmatch('([^;]+);') do
@ -115,7 +113,7 @@ browser = "firefox"
-- If you do not like this or do not have such a key, -- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools. -- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others. -- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4" modkey = "@modkey@"
-- Table of layouts to cover with awful.layout.inc, order matters. -- Table of layouts to cover with awful.layout.inc, order matters.
local layouts = local layouts =