1
0
mirror of https://github.com/ellmau/nixos.git synced 2025-12-21 09:49:39 +01:00

Compare commits

..

2 Commits

Author SHA1 Message Date
9a6538737c
Add haskell devshell for xmonad.hs file 2023-04-13 15:03:50 +02:00
dd50e786ff
First setup for xmonad 2023-04-13 14:56:12 +02:00
17 changed files with 92 additions and 553 deletions

36
flake.lock generated
View File

@ -71,11 +71,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1683604309, "lastModified": 1681356623,
"narHash": "sha256-o+ii3SdNh7VITaEkL1+l8phiktwk5ADNIHAkC4iA12w=", "narHash": "sha256-8rt3tRE/t9EeC7V9A6MSwWpT4YkFiFxSscC2C8vV33Q=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "6fe1b6ed8880aa6631be652b9c7eac98bca7307f", "rev": "29271109bf6fb83f60b2b512e88ced787ca49994",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -229,11 +229,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1683269598, "lastModified": 1680876084,
"narHash": "sha256-KNsb+nBbB1Fmxd07dt4E0KXMT4YeKJB7gQaA6Xfk+mo=", "narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "51559e691f1493a26f94f1df1aaf516bb507e78b", "rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -292,11 +292,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1683504292, "lastModified": 1681005198,
"narHash": "sha256-jlZbBIKGa6IMGkcJkQ08pbKnouTAPfeq1fD5I7l/rBw=", "narHash": "sha256-5LrnBeXR7Hv8OXh6eany7br4qBW+ZNl4LKf1CJu9zbg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ba0086c178d4ed60a7899f739caea553eca2e046", "rev": "e45cc0138829ad86e7ff17a76acf2d05e781e30a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -308,11 +308,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1683408522, "lastModified": 1681303793,
"narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -324,11 +324,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1683546353, "lastModified": 1681269223,
"narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=", "narHash": "sha256-i6OeI2f7qGvmLfD07l1Az5iBL+bFeP0RHixisWtpUGo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7629f9b0680d87c7775f3261bee746da5dac76d1", "rev": "87edbd74246ccdfa64503f334ed86fa04010bab9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -384,11 +384,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1683545104, "lastModified": 1681209176,
"narHash": "sha256-48wC0zzHAej/wLFWIgV+uj63AvQ2UUk85g7wmXJzTqk=", "narHash": "sha256-wyQokPpkNZnsl/bVf8m1428tfA0hJ0w/qexq4EizhTc=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "36b062a2c85a0efb37de1300c79c54602a094fab", "rev": "00d5fd73756d424de5263b92235563bc06f2c6e1",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -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 {

View File

@ -19,9 +19,9 @@
# enable X11 with lightdm and i3 # enable X11 with lightdm and i3
graphical = { graphical = {
enable = true; enable = true;
sway.enable = true; sway.enable = false;
i3.enable = false; i3.enable = false;
plasma.enable = false; plasma.enable = true;
# set dpi if used in mobile applications # set dpi if used in mobile applications
# dpi = 180; # dpi = 180;
}; };

View File

@ -25,9 +25,10 @@
# enable X11 with lightdm and i3 # enable X11 with lightdm and i3
graphical = { graphical = {
enable = true; enable = true;
sway.enable = true; sway.enable = false;
i3.enable = false; i3.enable = false;
plasma.enable = false; plasma.enable = false;
xmonad.enable = true;
# set dpi if used in mobile applications # set dpi if used in mobile applications
# dpi = 180; # dpi = 180;
}; };

View File

@ -386,9 +386,6 @@
;;(add-hook 'rustic-mode-hook 'company-mode) ;;(add-hook 'rustic-mode-hook 'company-mode)
;;(add-hook 'rustic-mode-hook 'flymake-mode) ;;(add-hook 'rustic-mode-hook 'flymake-mode)
(use-package rust-mode
:after lsp-mode rust-mode)
(use-package rustic (use-package rustic
:after lsp-mode :after lsp-mode
:config :config
@ -396,23 +393,18 @@
(lsp-diagnostics-flycheck-enable) (lsp-diagnostics-flycheck-enable)
(push 'rustic-clippy flycheck-checkers) (push 'rustic-clippy flycheck-checkers)
;; (flycheck-add-next-checker 'lsp 'rustic-clippy) ;; (flycheck-add-next-checker 'lsp 'rustic-clippy)
:mode ("\\.rs\\'" . rustic-mode)
:custom :custom
; (rustic-format-trigger 'on-save) (rustic-format-trigger 'on-save)
(rustic-rustfmt-bin "rustfmt")
(rustic-flycheck-clippy-params "--message-format=json") (rustic-flycheck-clippy-params "--message-format=json")
(lsp-rust-analyzer-server-display-inlay-hints t) (lsp-rust-analyzer-server-display-inlay-hints t)
(lsp-inlay-hint-enable t)
(lsp-rust-analyzer-cargo-watch-command "clippy") (lsp-rust-analyzer-cargo-watch-command "clippy")
(lsp-rust-analyzer-display-parameter-hints t) (lsp-rust-analyzer-display-parameter-hints t)
(lsp-rust-analyzer-display-chaining-hints t) (lsp-rust-analyzer-dispaly-chaining-hints t)
(lsp-rust-analyzer-display-closure-return-type-hints 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)
: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-mode . flymake-mode) ;;(rustic-mode . flymake-mode)
) )
@ -544,7 +536,7 @@
python-mode python-mode
;; ess-mode ;; ess-mode
;; ruby-mode ;; ruby-mode
rustic-mode rust-mode
sql-mode sql-mode
rustic rustic
typescript-mode typescript-mode
@ -566,6 +558,8 @@
(lsp-ui-doc-border "#586e75") (lsp-ui-doc-border "#586e75")
(lsp-ui-doc-header t) (lsp-ui-doc-header t)
(lsp-ui-doc-include-signature t) (lsp-ui-doc-include-signature t)
(lsp-rust-analyzer-server-display-inlay-hints t)
(lsp-rust-analyzer-inlay-hints-mode t)
(lsp-rust-analyzer-cargo-watch-command "clippy") (lsp-rust-analyzer-cargo-watch-command "clippy")
(lsp-keymap-prefix "C-l")) (lsp-keymap-prefix "C-l"))
;:custom-face ;:custom-face
@ -588,6 +582,7 @@
(use-package haskell-font-lock (use-package haskell-font-lock
:ensure haskell-mode) :ensure haskell-mode)
(use-package lsp-haskell (use-package lsp-haskell
:if die-orga/workstation
:demand t) :demand t)
(use-package shakespeare-mode) (use-package shakespeare-mode)
(use-package company-cabal (use-package company-cabal

View File

@ -1,10 +1,6 @@
{ { 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" ''
@ -18,7 +14,8 @@ with lib; let
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:
let
lpkgs = import ./packages.nix { inherit config lib pkgs epkgs; }; lpkgs = import ./packages.nix { inherit config lib pkgs epkgs; };
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [ #[ (defaultConfig lpkgs) ] ++ (with pkgs; [
# aspell # aspell
@ -26,11 +23,9 @@ with lib; let
# 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.melpaStablePackages; [ ]) ++ (with epkgs.melpaPackages;
++ (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";

View File

@ -21,12 +21,8 @@ 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";
xmonad.enable = mkEnableOption "Use xmonad";
}; };
config = let config = let
cfg = config.elss.graphical; cfg = config.elss.graphical;
@ -44,20 +40,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 || cfg.xmonad.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
@ -78,6 +75,8 @@ with lib; {
printing.enable = true; printing.enable = true;
}; };
security.pam.services.lightdm.enableGnomeKeyring = true;
sound.enable = true; sound.enable = true;
hardware = { hardware = {
@ -85,8 +84,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; [

View File

@ -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;

View File

@ -9,23 +9,17 @@ with lib; {
cfg = config.elss.graphical.xmonad; cfg = config.elss.graphical.xmonad;
in in
mkIf cfg.enable { mkIf cfg.enable {
elss.graphical.xserver.enable = true;
elss.users.dunst.enable = true;
elss.graphical.xmonad.polybar.enable = true;
services = { services = {
xserver = { xserver = {
startDbusSession = true;
windowManager.xmonad = {
enable = true; enable = true;
enableContribAndExtras = true; windowManager.xmonad.enable = true;
layout = "us";
xkbOptions = "eurosign:e";
}; };
displayManager.defaultSession = "none+xmonad"; gnome.gnome-keyring.enable = true;
libinput = {
enable = true; printing.enable = true;
disableWhileTyping = true;
};
};
upower.enable = true;
}; };
security.pam.services.lightdm.enableGnomeKeyring = true;
}; };
} }

View File

@ -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;
}

View File

@ -53,11 +53,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1683546353, "lastModified": 1681269223,
"narHash": "sha256-zEfx6q4fXK5wq+RCsyM0FyWBKNNhHTKMpCWkEpKDe2g=", "narHash": "sha256-i6OeI2f7qGvmLfD07l1Az5iBL+bFeP0RHixisWtpUGo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7629f9b0680d87c7775f3261bee746da5dac76d1", "rev": "87edbd74246ccdfa64503f334ed86fa04010bab9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -69,11 +69,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1683408522, "lastModified": 1681303793,
"narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -14,8 +14,8 @@
./kanshi.nix ./kanshi.nix
./mako.nix ./mako.nix
./nextcloud.nix ./nextcloud.nix
./polybar_i3.nix ./polybar.nix
./polybar_xmonad.nix ./xmonad.nix
./zsh.nix ./zsh.nix
./sway.nix ./sway.nix

View File

@ -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 = {

View File

@ -7,7 +7,14 @@
}: }:
with lib; { with lib; {
config = let config = let
cfg = nixosConfig.elss.graphical.i3; cfg = nixosConfig.elss.graphical.xmonad;
xmonad = ''
[module/xmonad]
type = custom/script
exec = ${pkgs.xmonad-log}/bin/xmonad-log
tail = true
'';
in in
mkIf cfg.enable { mkIf cfg.enable {
services.polybar = { services.polybar = {
@ -357,6 +364,7 @@ with lib; {
MONITOR=$m polybar --reload aux & MONITOR=$m polybar --reload aux &
done; done;
''; '';
extraConfig = xmonad;
}; };
}; };
} }

View File

@ -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;
'';
};
};
}

View File

@ -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;
};
};
}

View File

@ -11,26 +11,17 @@ with lib; {
in in
mkIf cfg.enable { mkIf cfg.enable {
xsession = { xsession = {
enable = true;
windowManager.xmonad = { windowManager.xmonad = {
enable = true; enable = true;
enableContribAndExtras = true; enableContribAndExtras = true;
enablePackages = hp: [ extraPackages = haskellPackages: [
hp.dbus haskellPackages.dbus
hp.monad-logger haskellPackages.monad-logger
hp.xmonad-contrib haskellPackages.hostname
]; ];
config = conf/xmonad/xmonad.hs; config = mkDefault conf/xmonad/xmonad.hs;
};
};
services = {
betterlockscreen = {
enable = true;
inactiveInterval = 10;
};
picom = {
enable = true;
backend = "glx";
}; };
}; };
}; };