mirror of
https://github.com/ellmau/nixos.git
synced 2025-12-21 09:49:39 +01:00
Compare commits
No commits in common. "9bdb9fe8d22c4a5805a60ebd1e52ebcfbc1397be" and "d45458eb0d9c31c664297eb2e51908075f6ce57d" have entirely different histories.
9bdb9fe8d2
...
d45458eb0d
24
flake.lock
generated
24
flake.lock
generated
@ -71,11 +71,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1683604309,
|
"lastModified": 1683537168,
|
||||||
"narHash": "sha256-o+ii3SdNh7VITaEkL1+l8phiktwk5ADNIHAkC4iA12w=",
|
"narHash": "sha256-lVon2uTdnH9vgQA0NfhF+FIZ/YaRrZqIHZwUAfxx2Oo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "6fe1b6ed8880aa6631be652b9c7eac98bca7307f",
|
"rev": "a160e897d1f9f3b0fedf191a79d8ab99a09bcfd6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -292,11 +292,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1683504292,
|
"lastModified": 1683401577,
|
||||||
"narHash": "sha256-jlZbBIKGa6IMGkcJkQ08pbKnouTAPfeq1fD5I7l/rBw=",
|
"narHash": "sha256-sOtJKZZ9HWqcGg2hRj6O4HX9pOFfTzgYgSi+MN1HEWo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ba0086c178d4ed60a7899f739caea553eca2e046",
|
"rev": "d724b57823f2ab2c879a840a426a607bbab2b730",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -324,11 +324,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1683546353,
|
"lastModified": 1683478192,
|
||||||
"narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=",
|
"narHash": "sha256-7f7RR71w0jRABDgBwjq3vE1yY3nrVJyXk8hDzu5kl1E=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "7629f9b0680d87c7775f3261bee746da5dac76d1",
|
"rev": "c568239bcc990050b7aedadb7387832440ad8fb1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -384,11 +384,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1683545104,
|
"lastModified": 1683521893,
|
||||||
"narHash": "sha256-48wC0zzHAej/wLFWIgV+uj63AvQ2UUk85g7wmXJzTqk=",
|
"narHash": "sha256-9447+MD2BD64w+12tXOIjacBhRk9NH36HAWrDo5QiUQ=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "36b062a2c85a0efb37de1300c79c54602a094fab",
|
"rev": "2e77ca66d8362ebf4b3112489068ce9f38d5cb3f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@ -156,13 +156,6 @@
|
|||||||
sops-nix = inputs.sops-nix.packages."${channels.nixpkgs.system}";
|
sops-nix = inputs.sops-nix.packages."${channels.nixpkgs.system}";
|
||||||
};
|
};
|
||||||
formatter = channels.nixpkgs.alejandra;
|
formatter = channels.nixpkgs.alejandra;
|
||||||
apps = {
|
|
||||||
emacs = flake-utils-plus.lib.mkApp {
|
|
||||||
drv =
|
|
||||||
self.nixosConfigurations.stel-xps.config.services.emacs.package;
|
|
||||||
exePath = "/bin/emacs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
templates = discoverTemplates ./templates {
|
templates = discoverTemplates ./templates {
|
||||||
|
|||||||
@ -406,12 +406,13 @@
|
|||||||
(lsp-rust-analyzer-display-parameter-hints t)
|
(lsp-rust-analyzer-display-parameter-hints t)
|
||||||
(lsp-rust-analyzer-display-chaining-hints t)
|
(lsp-rust-analyzer-display-chaining-hints t)
|
||||||
(lsp-rust-analyzer-display-closure-return-type-hints t)
|
(lsp-rust-analyzer-display-closure-return-type-hints t)
|
||||||
|
(lsp-rust-analyzer-display-lifetime-elision-hints-enable skip_trivial)
|
||||||
(lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names t)
|
(lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names t)
|
||||||
(lsp-rust-analyzer-proc-macro-enable t)
|
(lsp-rust-analyzer-proc-macro-enable t)
|
||||||
(lsp-rust-analyzer-experimental-proc-attr-macros t)
|
(lsp-rust-analyzer-experimental-proc-attr-macros t)
|
||||||
:hook
|
:hook
|
||||||
;;(rustic-mode . company-mode)
|
;;(rustic-mode . company-mode)
|
||||||
;;(rustic . lsp-rust-analyzer-inlay-hints-mode)
|
(rustic . lsp-rust-analyzer-inlay-hints-mode)
|
||||||
(rustic . apheleia-mode)
|
(rustic . apheleia-mode)
|
||||||
;;(rustic-mode . flymake-mode)
|
;;(rustic-mode . flymake-mode)
|
||||||
)
|
)
|
||||||
@ -577,25 +578,6 @@
|
|||||||
|
|
||||||
(use-package lsp-ui)
|
(use-package lsp-ui)
|
||||||
|
|
||||||
;; haskell
|
|
||||||
(use-package haskell-mode
|
|
||||||
:diminish subword-mode
|
|
||||||
:hook
|
|
||||||
(haskell-mode . turn-on-haskell-doc)
|
|
||||||
(haskell-mode . subword-mode))
|
|
||||||
(use-package haskell
|
|
||||||
:ensure haskell-mode)
|
|
||||||
(use-package haskell-font-lock
|
|
||||||
:ensure haskell-mode)
|
|
||||||
(use-package lsp-haskell
|
|
||||||
:demand t)
|
|
||||||
(use-package shakespeare-mode)
|
|
||||||
(use-package company-cabal
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
(with-eval-after-load 'company
|
|
||||||
(add-to-list 'company-backends '(company-cabal))))
|
|
||||||
|
|
||||||
;; misc
|
;; misc
|
||||||
(use-package academic-phrases
|
(use-package academic-phrases
|
||||||
:defer t
|
:defer t
|
||||||
|
|||||||
@ -1,36 +1,31 @@
|
|||||||
{
|
{ config, lib, pkgs, ... }:
|
||||||
config,
|
with lib;
|
||||||
lib,
|
let
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
defaultEl = ./default.el;
|
defaultEl = ./default.el;
|
||||||
environment.systemPackages = [pkgs.gdb]; # use gdb for dap-mode
|
environment.systemPackages = [ pkgs.gdb ]; # use gdb for dap-mode
|
||||||
localsettings = pkgs.writeText "local-settings.el" ''
|
localsettings = pkgs.writeText "local-settings.el" ''
|
||||||
(defconst elss/paths/cpptools "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools")
|
(defconst elss/paths/cpptools "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools")
|
||||||
(defconst elss/paths/cpptools-program "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7")
|
(defconst elss/paths/cpptools-program "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7")
|
||||||
(provide 'local-settings)
|
(provide 'local-settings)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
defaultConfig = pkgs.runCommand "default.el" {} ''
|
defaultConfig = pkgs.runCommand "default.el" { } ''
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
||||||
cp ${localsettings} $out/share/emacs/site-lisp/local-settings.el
|
cp ${localsettings} $out/share/emacs/site-lisp/local-settings.el
|
||||||
'';
|
'';
|
||||||
emacsPackage = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs: let
|
emacsPackage = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs:
|
||||||
lpkgs = import ./packages.nix {inherit config lib pkgs epkgs;};
|
let
|
||||||
|
lpkgs = import ./packages.nix { inherit config lib pkgs epkgs; };
|
||||||
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [
|
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [
|
||||||
# aspell
|
# aspell
|
||||||
# emacs-all-the-icons-fonts
|
# emacs-all-the-icons-fonts
|
||||||
# gnupg
|
# gnupg
|
||||||
# nixpkgs-fmt
|
# nixpkgs-fmt
|
||||||
#])
|
#])
|
||||||
in
|
in [ defaultConfig ]
|
||||||
[defaultConfig]
|
++ [ (with epkgs.elpaPackages; [ auctex org flymake ]) ]
|
||||||
++ [(with epkgs.elpaPackages; [auctex org flymake])]
|
++ (with epkgs.melpaStablePackages; [ ]) ++ (with epkgs.melpaPackages;
|
||||||
++ (with epkgs.melpaStablePackages; [])
|
|
||||||
++ (with epkgs.melpaPackages;
|
|
||||||
[
|
[
|
||||||
ac-helm
|
ac-helm
|
||||||
academic-phrases
|
academic-phrases
|
||||||
@ -56,7 +51,6 @@ with lib; let
|
|||||||
docker-compose-mode
|
docker-compose-mode
|
||||||
flycheck
|
flycheck
|
||||||
free-keys
|
free-keys
|
||||||
haskell-mode
|
|
||||||
highlight-indentation
|
highlight-indentation
|
||||||
helm
|
helm
|
||||||
#helm-bbdb
|
#helm-bbdb
|
||||||
@ -68,7 +62,6 @@ with lib; let
|
|||||||
helm-rg
|
helm-rg
|
||||||
json-mode
|
json-mode
|
||||||
less-css-mode
|
less-css-mode
|
||||||
lsp-haskell
|
|
||||||
lsp-mode
|
lsp-mode
|
||||||
lsp-ui
|
lsp-ui
|
||||||
magit
|
magit
|
||||||
@ -94,8 +87,7 @@ with lib; let
|
|||||||
yaml-mode
|
yaml-mode
|
||||||
yasnippet
|
yasnippet
|
||||||
#zenburn-theme
|
#zenburn-theme
|
||||||
]
|
] ++ (with lpkgs; [ org-roam-ui ligatures ])));
|
||||||
++ (with lpkgs; [org-roam-ui ligatures])));
|
|
||||||
in {
|
in {
|
||||||
options.elss.programs.emacs.enable =
|
options.elss.programs.emacs.enable =
|
||||||
mkEnableOption "Setup emacs package and install it";
|
mkEnableOption "Setup emacs package and install it";
|
||||||
|
|||||||
@ -21,11 +21,6 @@ with lib; {
|
|||||||
DPI setting for the xserver
|
DPI setting for the xserver
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
xserver.enable = mkEnableOption "enable X server";
|
|
||||||
xmonad = {
|
|
||||||
enable = mkEnableOption "enable xmonad";
|
|
||||||
polybar.enable = mkEnableOption "enable Polybar for xmonad";
|
|
||||||
};
|
|
||||||
i3.enable = mkEnableOption "enable i3";
|
i3.enable = mkEnableOption "enable i3";
|
||||||
};
|
};
|
||||||
config = let
|
config = let
|
||||||
@ -44,20 +39,21 @@ with lib; {
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
mkIf cfg.enable {
|
||||||
# cfg.xserver.enable = cfg.i3.enable;
|
elss.users.x11.enable =
|
||||||
elss.users.x11.enable = cfg.xserver.enable || cfg.xmonad.enable;
|
if cfg.i3.enable
|
||||||
|
then true
|
||||||
|
else false;
|
||||||
elss.networking.useNetworkManager = true;
|
elss.networking.useNetworkManager = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver = mkIf cfg.xserver.enable {
|
xserver = mkIf cfg.i3.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
dpi = cfg.dpi;
|
dpi = cfg.dpi;
|
||||||
displayManager.lightdm = {
|
displayManager.lightdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
greeters.gtk.cursorTheme.size = cfg.greeterCursorsize;
|
greeters.gtk.cursorTheme.size = cfg.greeterCursorsize;
|
||||||
};
|
};
|
||||||
windowManager.i3 = mkIf cfg.i3.enable {
|
windowManager.i3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
rofi # launcher
|
rofi # launcher
|
||||||
@ -85,8 +81,6 @@ with lib; {
|
|||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.services.lightdm.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|||||||
@ -11,8 +11,6 @@ with lib; {
|
|||||||
|
|
||||||
x11.enable = mkEnableOption "Activate XSession related options in user-configs";
|
x11.enable = mkEnableOption "Activate XSession related options in user-configs";
|
||||||
|
|
||||||
dunst.enable = mkEnableOption "Activate Dunst";
|
|
||||||
|
|
||||||
users = mkOption {
|
users = mkOption {
|
||||||
description = "logins of non-admin users to configure";
|
description = "logins of non-admin users to configure";
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
|
|||||||
@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; {
|
|
||||||
config = let
|
|
||||||
cfg = config.elss.graphical.xmonad;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
elss.graphical.xserver.enable = true;
|
|
||||||
elss.users.dunst.enable = true;
|
|
||||||
elss.graphical.xmonad.polybar.enable = true;
|
|
||||||
services = {
|
|
||||||
xserver = {
|
|
||||||
startDbusSession = true;
|
|
||||||
windowManager.xmonad = {
|
|
||||||
enable = true;
|
|
||||||
enableContribAndExtras = true;
|
|
||||||
};
|
|
||||||
displayManager.defaultSession = "none+xmonad";
|
|
||||||
libinput = {
|
|
||||||
enable = true;
|
|
||||||
disableWhileTyping = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
upower.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,195 +0,0 @@
|
|||||||
/**
|
|
||||||
* official theme arthur.rasi
|
|
||||||
* ROFI Color theme
|
|
||||||
* User: Qball
|
|
||||||
* Copyright: Dave Davenport
|
|
||||||
*/
|
|
||||||
|
|
||||||
configuration {
|
|
||||||
|
|
||||||
// The display name of this browser
|
|
||||||
display-ssh: " ";
|
|
||||||
// The display name of this browser
|
|
||||||
display-run: "";
|
|
||||||
// The display name of this browser
|
|
||||||
display-drun: "";
|
|
||||||
// The display name of this browser
|
|
||||||
display-window: "";
|
|
||||||
display-combi: "";
|
|
||||||
show-icons: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* User: Qball
|
|
||||||
* Copyright: Dave Davenport
|
|
||||||
*/
|
|
||||||
* {
|
|
||||||
foreground: #ffeedd;
|
|
||||||
backlight: #ccffeedd;
|
|
||||||
background-color: transparent;
|
|
||||||
dark: #1c1c1c;
|
|
||||||
// Black
|
|
||||||
black: #3d352a;
|
|
||||||
lightblack: #554444;
|
|
||||||
tlightblack: #554444cc;
|
|
||||||
//
|
|
||||||
// Red
|
|
||||||
red: #cd5c5c;
|
|
||||||
lightred: #cc5533;
|
|
||||||
//
|
|
||||||
// Green
|
|
||||||
green: #86af80;
|
|
||||||
lightgreen: #88cc22;
|
|
||||||
//
|
|
||||||
// Yellow
|
|
||||||
yellow: #e8ae5b;
|
|
||||||
lightyellow: #ffa75d;
|
|
||||||
//
|
|
||||||
// Blue
|
|
||||||
blue: #6495ed;
|
|
||||||
lightblue: #87ceeb;
|
|
||||||
//
|
|
||||||
// Magenta
|
|
||||||
magenta: #deb887;
|
|
||||||
lightmagenta: #996600;
|
|
||||||
//
|
|
||||||
// Cyan
|
|
||||||
cyan: #b0c4de;
|
|
||||||
tcyan: #ccb0c4de;
|
|
||||||
lightcyan: #b0c4de;
|
|
||||||
//
|
|
||||||
// White
|
|
||||||
white: #bbaa99;
|
|
||||||
lightwhite: #ddccbb;
|
|
||||||
//
|
|
||||||
// Bold, Italic, Underline
|
|
||||||
highlight: underline bold #ffffff;
|
|
||||||
|
|
||||||
transparent: rgba(0,0,0,0);
|
|
||||||
font: "Source Code Pro 10";
|
|
||||||
}
|
|
||||||
#window {
|
|
||||||
location: center;
|
|
||||||
anchor: center;
|
|
||||||
transparency: "screenshot";
|
|
||||||
padding: 10px;
|
|
||||||
border: 0px;
|
|
||||||
border-radius: 10px;
|
|
||||||
color: @magenta;
|
|
||||||
background-color: @transparent;
|
|
||||||
spacing: 0;
|
|
||||||
children: [mainbox];
|
|
||||||
orientation: horizontal;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mainbox {
|
|
||||||
spacing: 0;
|
|
||||||
children: [ inputbar, message, listview ];
|
|
||||||
}
|
|
||||||
|
|
||||||
#message {
|
|
||||||
border-color: @foreground;
|
|
||||||
border: 0px 2px 2px 2px;
|
|
||||||
// border-radius: 10px;
|
|
||||||
padding: 5;
|
|
||||||
background-color: @tcyan;
|
|
||||||
}
|
|
||||||
#message {
|
|
||||||
font: "Source Code Pro 8";
|
|
||||||
color: @black;
|
|
||||||
}
|
|
||||||
|
|
||||||
#inputbar {
|
|
||||||
color: @lightgreen;
|
|
||||||
padding: 11px;
|
|
||||||
background-color: @tlightblack;
|
|
||||||
border: 2px 2px 2px 2px;
|
|
||||||
border-radius: 15px 15px 0px 0px;
|
|
||||||
border-color: @foreground;
|
|
||||||
font: "Source Code Pro 18";
|
|
||||||
}
|
|
||||||
#entry,prompt,case-indicator {
|
|
||||||
text-font: inherit;
|
|
||||||
text-color:inherit;
|
|
||||||
}
|
|
||||||
#prompt {
|
|
||||||
margin: 0px 0.3em 0em 0em ;
|
|
||||||
}
|
|
||||||
#listview {
|
|
||||||
padding: 8px;
|
|
||||||
border-radius: 0px 0px 15px 15px;
|
|
||||||
border-color: @foreground;
|
|
||||||
border: 0px 2px 2px 2px;
|
|
||||||
background-color: #1c1c1ccc;
|
|
||||||
dynamic: false;
|
|
||||||
lines: 10;
|
|
||||||
}
|
|
||||||
#element {
|
|
||||||
padding: 3px;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
// border: 2px;
|
|
||||||
border-radius: 4px;
|
|
||||||
background-color: transparent;
|
|
||||||
color: @foreground;
|
|
||||||
font:inherit;
|
|
||||||
}
|
|
||||||
#element selected.normal {
|
|
||||||
background-color: @blue;
|
|
||||||
}
|
|
||||||
#element normal active {
|
|
||||||
foreground: @lightblue;
|
|
||||||
}
|
|
||||||
#element normal urgent {
|
|
||||||
foreground: @lightred;
|
|
||||||
}
|
|
||||||
#element alternate normal {
|
|
||||||
}
|
|
||||||
#element alternate active {
|
|
||||||
foreground: @lightblue;
|
|
||||||
}
|
|
||||||
#element alternate urgent {
|
|
||||||
foreground: @lightred;
|
|
||||||
}
|
|
||||||
#element selected active {
|
|
||||||
background-color: @lightblue;
|
|
||||||
foreground: @dark;
|
|
||||||
}
|
|
||||||
#element selected urgent {
|
|
||||||
background-color: @lightred;
|
|
||||||
foreground: @dark;
|
|
||||||
}
|
|
||||||
#element normal normal {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#vertb {
|
|
||||||
expand: false;
|
|
||||||
children: [ dummy0, mode-switcher, dummy1 ];
|
|
||||||
}
|
|
||||||
#dummy0, dummy1 {
|
|
||||||
expand: true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode-switcher {
|
|
||||||
expand: false;
|
|
||||||
orientation: vertical;
|
|
||||||
spacing: 0px;
|
|
||||||
border: 0px 0px 0px 0px;
|
|
||||||
}
|
|
||||||
#button {
|
|
||||||
font: "FontAwesome 22";
|
|
||||||
padding: 6px;
|
|
||||||
border: 2px 0px 2px 2px;
|
|
||||||
border-radius: 4px 0px 0px 4px;
|
|
||||||
background-color: @tlightblack;
|
|
||||||
border-color: @foreground;
|
|
||||||
color: @foreground;
|
|
||||||
horizontal-align: 0.5;
|
|
||||||
}
|
|
||||||
#button selected normal {
|
|
||||||
color: @dark;
|
|
||||||
border: 2px 0px 2px 2px;
|
|
||||||
background-color: @backlight;
|
|
||||||
border-color: @foreground;
|
|
||||||
}
|
|
||||||
@ -1 +0,0 @@
|
|||||||
use flake
|
|
||||||
112
users/ellmau/conf/xmonad/flake.lock
generated
112
users/ellmau/conf/xmonad/flake.lock
generated
@ -1,112 +0,0 @@
|
|||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681202837,
|
|
||||||
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils-plus": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1657226504,
|
|
||||||
"narHash": "sha256-GIYNjuq4mJlFgqKsZ+YrgzWm0IpA4axA3MCrdKYj7gs=",
|
|
||||||
"owner": "gytis-ivaskevicius",
|
|
||||||
"repo": "flake-utils-plus",
|
|
||||||
"rev": "2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "gytis-ivaskevicius",
|
|
||||||
"repo": "flake-utils-plus",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1644229661,
|
|
||||||
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1683546353,
|
|
||||||
"narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "7629f9b0680d87c7775f3261bee746da5dac76d1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-22.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1683408522,
|
|
||||||
"narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"flake-utils-plus": "flake-utils-plus",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
description = "basic tool setup flake";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
|
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = {
|
|
||||||
self,
|
|
||||||
nixpkgs,
|
|
||||||
nixpkgs-unstable,
|
|
||||||
flake-utils,
|
|
||||||
flake-utils-plus,
|
|
||||||
...
|
|
||||||
} @ inputs:
|
|
||||||
{}
|
|
||||||
// (flake-utils.lib.eachDefaultSystem (
|
|
||||||
system: let
|
|
||||||
unstable = import nixpkgs-unstable {
|
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
in rec {
|
|
||||||
devShell = pkgs.mkShell {
|
|
||||||
name = "xmonad";
|
|
||||||
nativeBuildInputs = [
|
|
||||||
# add packages here, like
|
|
||||||
# pkgs.clingo
|
|
||||||
(pkgs.ghc.withPackages
|
|
||||||
(haskellPackages: [
|
|
||||||
haskellPackages.dbus
|
|
||||||
haskellPackages.monad-logger
|
|
||||||
haskellPackages.hostname
|
|
||||||
haskellPackages.xmonad
|
|
||||||
haskellPackages.xmonad-contrib
|
|
||||||
]))
|
|
||||||
pkgs.haskell-language-server
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
));
|
|
||||||
}
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
module Main where
|
|
||||||
|
|
||||||
import Data.Ratio
|
|
||||||
import XMonad hiding ((|||))
|
|
||||||
import XMonad.Hooks.FadeInactive
|
|
||||||
import XMonad.Hooks.FadeWindows
|
|
||||||
import XMonad.Hooks.EwmhDesktops
|
|
||||||
import XMonad.Hooks.ManageDocks
|
|
||||||
import XMonad.Hooks.ManageHelpers
|
|
||||||
import XMonad.Hooks.StatusBar
|
|
||||||
import XMonad.Util.EZConfig
|
|
||||||
import Network.HostName (getHostName)
|
|
||||||
-- Imports for Polybar --
|
|
||||||
import qualified Codec.Binary.UTF8.String as UTF8
|
|
||||||
import qualified DBus as D
|
|
||||||
import qualified DBus.Client as D
|
|
||||||
import XMonad.Hooks.DynamicLog
|
|
||||||
|
|
||||||
main :: IO ()
|
|
||||||
main' :: D.Client -> IO ()
|
|
||||||
main = mkDbusClient >>= main'
|
|
||||||
|
|
||||||
main' dbus = do
|
|
||||||
hostname <- io $ getHostName
|
|
||||||
xmonad . docks . ewmhFullscreen . ewmh $ def
|
|
||||||
{ terminal = "alacritty"
|
|
||||||
, logHook = polybarLogHook dbus
|
|
||||||
}
|
|
||||||
|
|
||||||
mkDbusClient :: IO D.Client
|
|
||||||
mkDbusClient = do
|
|
||||||
dbus <- D.connectSession
|
|
||||||
D.requestName dbus (D.busName_ "org.xmonad.log") opts
|
|
||||||
return dbus
|
|
||||||
where
|
|
||||||
opts = [D.nameAllowReplacement, D.nameReplaceExisting, D.nameDoNotQueue]
|
|
||||||
|
|
||||||
-- Emit a DBus signal on log updates
|
|
||||||
dbusOutput :: D.Client -> String -> IO ()
|
|
||||||
dbusOutput dbus str =
|
|
||||||
let opath = D.objectPath_ "/org/xmonad/Log"
|
|
||||||
iname = D.interfaceName_ "org.xmonad.Log"
|
|
||||||
mname = D.memberName_ "Update"
|
|
||||||
signal = D.signal opath iname mname
|
|
||||||
body = [D.toVariant $ UTF8.decodeString str]
|
|
||||||
in D.emit dbus $ signal { D.signalBody = body }
|
|
||||||
|
|
||||||
polybarHook :: D.Client -> PP
|
|
||||||
polybarHook dbus =
|
|
||||||
let wrapper c s | s /= "NSP" = wrap ("%{F" <> c <> "} ") " %{F-}" s
|
|
||||||
| otherwise = mempty
|
|
||||||
blue = "#2E9AFE"
|
|
||||||
gray = "#7F7F7F"
|
|
||||||
orange = "#ea4300"
|
|
||||||
purple = "#9058c7"
|
|
||||||
red = "#722222"
|
|
||||||
in def { ppOutput = dbusOutput dbus
|
|
||||||
, ppCurrent = wrapper blue
|
|
||||||
, ppVisible = wrapper gray
|
|
||||||
, ppUrgent = wrapper orange
|
|
||||||
, ppHidden = wrapper gray
|
|
||||||
, ppHiddenNoWindows = wrapper red
|
|
||||||
, ppTitle = shorten 100 . wrapper purple
|
|
||||||
}
|
|
||||||
|
|
||||||
fadeHook :: Rational -> Rational -> X ()
|
|
||||||
fadeHook act inact = fadeOutLogHook $ fadeAllBut exceptions act inact
|
|
||||||
where exceptions = isFullscreen
|
|
||||||
<||> className =? "firefox"
|
|
||||||
<||> className =? "Chromium-browser"
|
|
||||||
|
|
||||||
fadeAllBut :: Query Bool -> Rational -> Rational -> Query Rational
|
|
||||||
fadeAllBut qry amt inact = do isInactive <- isUnfocused
|
|
||||||
isQry <- qry
|
|
||||||
if isQry
|
|
||||||
then return 1
|
|
||||||
else if isInactive
|
|
||||||
then return inact
|
|
||||||
else return amt
|
|
||||||
|
|
||||||
polybarLogHook dbus = fadeHook 0.95 0.75 <+> dynamicLogWithPP (polybarHook dbus)
|
|
||||||
@ -14,8 +14,7 @@
|
|||||||
./kanshi.nix
|
./kanshi.nix
|
||||||
./mako.nix
|
./mako.nix
|
||||||
./nextcloud.nix
|
./nextcloud.nix
|
||||||
./polybar_i3.nix
|
./polybar.nix
|
||||||
./polybar_xmonad.nix
|
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
|
|
||||||
./sway.nix
|
./sway.nix
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
config = let
|
config = let
|
||||||
cfg = nixosConfig.elss.users.dunst;
|
cfg = nixosConfig.elss.graphical.i3;
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
mkIf cfg.enable {
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
|
|||||||
@ -1,216 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
nixosConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; {
|
|
||||||
config = let
|
|
||||||
cfg = nixosConfig.elss.graphical.xmonad.polybar;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
services.polybar = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.polybarFull;
|
|
||||||
settings = let
|
|
||||||
fonts = [
|
|
||||||
"Hasklig:style=Regular"
|
|
||||||
"all-the-icons:style=Regular"
|
|
||||||
"Webdings:style=Regular"
|
|
||||||
"Noto Emoji:scale=10"
|
|
||||||
"Unifont:style=Regular"
|
|
||||||
"Material Icons:size=12;0"
|
|
||||||
"Weather Icons:size=12;0"
|
|
||||||
"Hasklug Nerd Font,Hasklig Medium:style=Medium,Regular"
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
"bar/main" = {
|
|
||||||
font = fonts;
|
|
||||||
modules = {
|
|
||||||
left = "xmonad";
|
|
||||||
center = "";
|
|
||||||
right = "xbacklight xkeyboard eth wlan battery date powermenu dunst volume ";
|
|
||||||
};
|
|
||||||
tray = {
|
|
||||||
position = "right";
|
|
||||||
padding = 2;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitor = ''
|
|
||||||
''${env:MONITOR:}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
"bar/aux" = {
|
|
||||||
font = fonts;
|
|
||||||
modules = {
|
|
||||||
left = "xmonad";
|
|
||||||
center = "";
|
|
||||||
right = " xbacklight xkeyboard eth wlan battery date powermenu volume ";
|
|
||||||
};
|
|
||||||
monitor = ''
|
|
||||||
''${env:MONITOR:}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/xmonad" = {
|
|
||||||
type = "custom/script";
|
|
||||||
exec = "${pkgs.xmonad-log} /bin/xmonad-log";
|
|
||||||
tail = true;
|
|
||||||
};
|
|
||||||
"module/xkeyboard" = {
|
|
||||||
type = "internal/xkeyboard";
|
|
||||||
blacklist-0 = "num lock";
|
|
||||||
interval = "5";
|
|
||||||
|
|
||||||
format-prefix = ''""'';
|
|
||||||
label-layout = "%layout%";
|
|
||||||
|
|
||||||
label-indicator-padding = "2";
|
|
||||||
label-indicator-margin = "1";
|
|
||||||
};
|
|
||||||
"module/wlan" = {
|
|
||||||
type = "internal/network";
|
|
||||||
interface = "wlp0s20f3";
|
|
||||||
interval = "3.0";
|
|
||||||
|
|
||||||
format-connected = " <ramp-signal> <label-connected>";
|
|
||||||
format-connected-underline = "#9f78e1";
|
|
||||||
label-connected = "%essid%";
|
|
||||||
|
|
||||||
ramp-signal-0 = ''"0.0"'';
|
|
||||||
ramp-signal-1 = ''"0.5"'';
|
|
||||||
ramp-signal-2 = ''"1.0"'';
|
|
||||||
ramp-signal-3 = ''"1.0"'';
|
|
||||||
ramp-signal-4 = ''"1.0"'';
|
|
||||||
|
|
||||||
format-disconnected = "";
|
|
||||||
# ;format-disconnected = <label-disconnected>
|
|
||||||
#;format-disconnected-underline = ${self.format-connected-underline}
|
|
||||||
#;label-disconnected = %ifname% disconnected
|
|
||||||
#;label-disconnected-foreground = ${colors.foreground-alt}
|
|
||||||
};
|
|
||||||
"module/eth" = {
|
|
||||||
type = "internal/network";
|
|
||||||
interface = "eno1";
|
|
||||||
interval = "3.0";
|
|
||||||
|
|
||||||
format-connected-underline = "#55aa55";
|
|
||||||
format-connected = " <label-connected>";
|
|
||||||
label-connected = "%local_ip%";
|
|
||||||
|
|
||||||
format-disconnected = "";
|
|
||||||
format-disconnected-background = "#5479b7";
|
|
||||||
#;format-disconnected = <label-disconnected>
|
|
||||||
#;format-disconnected-underline = ${self.format-connected-underline}
|
|
||||||
#;label-disconnected = %ifname% disconnected
|
|
||||||
#;label-disconnected-foreground = ${colors.foreground-alt}
|
|
||||||
};
|
|
||||||
"module/date" = {
|
|
||||||
type = "internal/date";
|
|
||||||
interval = "5";
|
|
||||||
|
|
||||||
date = ''" %Y-%m-%d"'';
|
|
||||||
date-alt = ''" %Y-%m-%d"'';
|
|
||||||
|
|
||||||
time = "%H:%M";
|
|
||||||
time-alt = "%H:%M:%S";
|
|
||||||
|
|
||||||
#format-prefix = "";
|
|
||||||
#format-prefix-foreground = foreground_altcol;
|
|
||||||
format-underline = "#0a6cf5";
|
|
||||||
|
|
||||||
label = "%{A} %date% %time%";
|
|
||||||
};
|
|
||||||
"module/battery" = {
|
|
||||||
type = "internal/battery";
|
|
||||||
battery = "BAT0";
|
|
||||||
adapter = "ADP1";
|
|
||||||
full-at = "98";
|
|
||||||
|
|
||||||
format-charging-background = "#689d6a";
|
|
||||||
format-charging-prefix = ''" "'';
|
|
||||||
format-charging = "<label-charging>";
|
|
||||||
format-discharging-prefix = ''" "'';
|
|
||||||
format-discharging = "<label-discharging>";
|
|
||||||
format-discharging-background = "#689d6a";
|
|
||||||
format-full-prefix = ''" "'';
|
|
||||||
|
|
||||||
format-charging-underline = "#ffaa55";
|
|
||||||
format-full-underline = "#ffaa55";
|
|
||||||
|
|
||||||
ormat-full-padding = "1";
|
|
||||||
format-charging-padding = "1";
|
|
||||||
format-discharging-padding = "1";
|
|
||||||
};
|
|
||||||
"module/temperature" = {
|
|
||||||
type = "internal/temperature";
|
|
||||||
thermal-zone = "0";
|
|
||||||
warn-temperature = "60";
|
|
||||||
|
|
||||||
format = "<ramp> <label>";
|
|
||||||
format-underline = "#f50a4d";
|
|
||||||
format-warn = "<ramp> <label-warn>";
|
|
||||||
format-warn-underline = "#f50a4d";
|
|
||||||
|
|
||||||
label = " %temperature-c%";
|
|
||||||
label-warn = "%temperature-c%";
|
|
||||||
|
|
||||||
ramp-0 = "l";
|
|
||||||
ramp-1 = "m";
|
|
||||||
ramp-2 = "h";
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/powermenu" = {
|
|
||||||
type = "custom/menu";
|
|
||||||
|
|
||||||
expand-right = "true";
|
|
||||||
|
|
||||||
format-spacing = "1";
|
|
||||||
|
|
||||||
label-open = ''""'';
|
|
||||||
label-close = " cancel";
|
|
||||||
label-separator = "|";
|
|
||||||
|
|
||||||
menu-0-0 = "reboot";
|
|
||||||
menu-0-0-exec = "menu-open-1";
|
|
||||||
menu-0-1 = "power off";
|
|
||||||
menu-0-1-exec = "menu-open-2";
|
|
||||||
|
|
||||||
menu-1-0 = "cancel";
|
|
||||||
menu-1-0-exec = "menu-open-0";
|
|
||||||
menu-1-1 = "reboot";
|
|
||||||
menu-1-1-exec = "sudo reboot";
|
|
||||||
|
|
||||||
menu-2-0 = "power off";
|
|
||||||
menu-2-0-exec = "sudo poweroff";
|
|
||||||
menu-2-1 = "cancel";
|
|
||||||
menu-2-1-exec = "menu-open-0";
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/xbacklight" = {
|
|
||||||
type = "internal/xbacklight";
|
|
||||||
|
|
||||||
format = "<label> <bar>";
|
|
||||||
label = "BL";
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/dunst" = {
|
|
||||||
type = "custom/script";
|
|
||||||
exec = "PATH=${pkgs.dbus}/bin/:$PATH ${pkgs.dunst}/bin/dunstctl is-paused | ${pkgs.gnugrep}/bin/grep -q true && echo || echo ";
|
|
||||||
interval = 10;
|
|
||||||
click-left = "PATH=${pkgs.dbus}/bin/:$PATH ${pkgs.dunst}/bin/dunstctl set-paused toggle";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
script = ''
|
|
||||||
for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
|
||||||
MONITOR=$m polybar --reload main &
|
|
||||||
done;
|
|
||||||
for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep -v '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
|
||||||
MONITOR=$m polybar --reload aux &
|
|
||||||
done;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
nixosConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; {
|
|
||||||
config = let
|
|
||||||
cfg = nixosConfig.elss.graphical.xmonad;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
terminal = ${pkgs.alacritty} /bin/alacritty;
|
|
||||||
#theme = conf/rofi/theme.rafi;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
nixosConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; {
|
|
||||||
config = let
|
|
||||||
cfg = nixosConfig.elss.graphical.xmonad;
|
|
||||||
in
|
|
||||||
mkIf cfg.enable {
|
|
||||||
xsession = {
|
|
||||||
windowManager.xmonad = {
|
|
||||||
enable = true;
|
|
||||||
enableContribAndExtras = true;
|
|
||||||
enablePackages = hp: [
|
|
||||||
hp.dbus
|
|
||||||
hp.monad-logger
|
|
||||||
hp.xmonad-contrib
|
|
||||||
];
|
|
||||||
config = conf/xmonad/xmonad.hs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
betterlockscreen = {
|
|
||||||
enable = true;
|
|
||||||
inactiveInterval = 10;
|
|
||||||
};
|
|
||||||
picom = {
|
|
||||||
enable = true;
|
|
||||||
backend = "glx";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user