This commit is contained in:
2024-03-05 15:02:42 +01:00
parent 4a37c5afd7
commit 0fb5a5ee0b
5 changed files with 152 additions and 3 deletions

View File

@@ -43,7 +43,13 @@
defaultSession = "none+xmonad"; defaultSession = "none+xmonad";
}; };
libinput.enable = true; # Enable touchpad. libinput.enable = true; # Enable touchpad.
windowManager.xmonad.enable = true; windowManager.xmonad = {
enable = true;
flake = {
enable = true;
compiler = "ghc924";
};
};
xkb.layout = "de"; xkb.layout = "de";
}; };
# Enable CUPS to print. # Enable CUPS to print.
@@ -91,7 +97,10 @@
''; '';
}; };
nixpkgs.config.allowUnfree = true; nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [ "electron-25.9.0" ];
};
# Enable zsh for setting it as shell for users. # Enable zsh for setting it as shell for users.
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@@ -26,8 +26,19 @@
useUserPackages = true; useUserPackages = true;
users.elias = import ./home/default.nix; users.elias = import ./home/default.nix;
}; };
nixpkgs.overlays = [ inputs.neovim-nightly-overlay.overlay ]; nixpkgs.overlays = [
(final: prev: {
xmobar = final.haskellPackages.callPackage
./home/programs/xmonad/src/xmobar/default.nix { };
})
inputs.neovim-nightly-overlay.overlay
];
} }
] ++ xmonad-contrib.nixosModules ++ [
# `modernise` replaces the standard xmonad module and wrapper script
# with those from unstable. This is currently a necessary workaround to
# make Mod-q recompilation work.
xmonad-contrib.modernise."x86_64-linux"
]; ];
}; };
}; };

View File

@@ -0,0 +1,13 @@
{ pkgs ? import <nixpkgs> { } }:
with pkgs;
haskellPackages.mkDerivation {
pname = "xmobar";
version = "0.1.0.0";
src = /etc/nixos/home/programs/xmonad/src/xmobar/.;
isLibrary = false;
isExecutable = true;
executableHaskellDepends = with haskellPackages; [ base xmobar ];
license = "unknown";
hydraPlatforms = lib.platforms.none;
}

View File

@@ -0,0 +1,54 @@
cabal-version: 3.0
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.
-- Initial package description 'xmobar-custom' generated by
-- 'cabal init'. For further documentation, see:
-- http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name: xmobar-custom
-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1.0.0
-- The package author(s).
author: einfischy
-- An email address to which users can send suggestions, bug reports, and patches.
maintainer: accounts.codeberg@kstn.in
-- A copyright notice.
-- copyright:
build-type: Simple
common warnings
ghc-options: -Wall -threaded
executable xmobar
-- Import common warning flags.
import: warnings
-- .hs or .lhs file containing the Main module.
main-is: xmobar.hs
-- Other library packages from which modules are imported.
build-depends: base ^>=4.17.2.1,
xmobar ^>=0.47.1
-- Directories containing source files.
hs-source-dirs: .
-- Base language which the package is written in.
default-language: Haskell2010

View File

@@ -0,0 +1,62 @@
import Xmobar
config :: Config
config =
defaultConfig
{ font = "Fira Code"
, position = TopH 30
, borderColor = "#1e2030"
, border = FullB
, borderWidth = 3
, bgColor = "#24273a"
, fgColor = "#cad3f5"
, commands = [ Run $ Cpu [ "--template", "<fc=#a9a1e1><fn=1>\xf085</fn></fc> <total>%"
, "--Low","3"
, "--High","50"
, "--low","#bbc2cf"
, "--normal","#bbc2cf"
, "--high","#fb4934"] 50
, Run $ Memory ["-t","<fc=#51afef><fn=1>\xF2DB</fn></fc> <usedratio>%"
,"-H","80"
,"-L","10"
,"-l","#bbc2cf"
,"-n","#bbc2cf"
,"-h","#fb4934"] 50
, Run $ Date "<fc=#ECBE7B><fn=1>\xf017</fn></fc> %a %b %_d %H:%M" "date" 300
, Run $ DynNetwork ["-t","<fc=#4db5bd><fn=1>\xf063</fn></fc> <rx> <fc=#c678dd><fn=1>\xf062</fn></fc> <tx>"
,"-H","200"
,"-L","10"
,"-h","#bbc2cf"
,"-l","#bbc2cf"
,"-n","#bbc2cf"] 50
, Run $ CoreTemp ["-t", "<fc=#CDB464><fn=1>\xf2c7</fn></fc> <core0>°"
, "-L", "30"
, "-H", "75"
, "-l", "lightblue"
, "-n", "#bbc2cf"
, "-h", "#aa4450"] 50
, Run $ BatteryP [ "BAT1" ]
[ "--template" , "<fc=#B1DE76><fn=1>\xf240</fn></fc> <acstatus>"
, "--Low" , "10" -- units: %
, "--High" , "80" -- units: %
, "--low" , "#fb4934"
, "--normal" , "#bbc2cf"
, "--high" , "#98be65"
, "--" -- battery specific options
-- discharging status
, "-o" , "<left>% (<timeleft>)"
-- AC "on" status
, "-O" , "<left>% (<fc=#98be65>Charging</fc>)"
-- charged status
, "-i" , "<fc=#98be65>Charged</fc>"
] 50
, Run XMonadLog
]
, sepChar = "%"
, alignSep = "}{"
, template = "%XMonadLog% }{ %cpu% | %coretemp% | %memory% | %battery% | %dynnetwork% | %date% |"
}
main :: IO ()
main = xmobar config