{ config, pkgs, ...}: { nixpkgs.config.allowUnfree = true; programs.command-not-found.enable = true; home.keyboard.layout = "fi"; home.packages = with pkgs; [ pass vifm qutebrowser kobodl pavucontrol direnv entr myEmacs myVim ]; services.emacs = { enable = true; package = pkgs.myEmacs; }; services.flameshot = { enable = true; }; services.syncthing = { enable = true; tray = false; }; programs.mac-keys.enable = true; programs.git = { enable = true; userName = "Mats Rauhala"; userEmail = "mats.rauhala@iki.fi"; signing = { key = "2104943D6033C8F4F7D4F560BDA6DFEDBCFB6779"; }; ignores = [ "env" "*.swp" "*.swo" "*.orig" "*.crt" "*.key" "*.log" "tags" "result" "*.pub" "*.db" "*.sqlite" ".projectile" ".dir-locals.el" ]; extraConfig = { push = { default = "simple"; }; }; }; programs.gpg = { enable = true; settings = { "default-key" = "2104943D6033C8F4F7D4F560BDA6DFEDBCFB6779"; "default-recipient-self" = ""; "keyserver-options" = "auto-key-retrieve"; }; }; programs.myZsh.enable = true; programs.myUrxvt.enable = true; programs.xmonad = { enable = true; dhallConfigPath = ./xmonad.dhall; packages = with pkgs; let prompt = writeScriptBin "prompt" '' ${pkgs.haskellPackages.xmobar}/bin/xmobar ${xmobarConf} ''; xmobarConf = pkgs.writeText "xmobar" '' Config { font = "xft:Iosevka-9" , bgColor = "#3F3F3F" , fgColor = "#DCDCCC" , position = Top , lowerOnStart = True , commands = [ Run MultiCpu ["-t", "CPU: %"] 30 , Run Memory ["-t", "Mem: (M)"] 3600 , Run Date "%a %b %_d %Y %H:%M:%S" "date" 20 , Run StdinReader , Run Battery [ "--template" , "Batt: " , "--Low" , "10" -- units: % , "--High" , "80" -- units: % , "--low" , "darkred" , "--normal" , "darkorange" , "--high" , "darkgreen" , "--" -- battery specific options -- discharging status , "-o" , "% ()" -- AC "on" status , "-O" , "Charging" -- charged status , "-i" , "Charged" ] 120 , Run DynNetwork [ "--template" , ": kB/s|kB/s" , "--Low" , "1000" -- units: B/s , "--High" , "500000" -- units: B/s , "--normal" , "darkorange" , "--high" , "darkred" ] 30 ] , sepChar = "%" , alignSep = "}{" , template = "%StdinReader% }{%dynnetwork% | %battery% | %multicpu% | %memory% | %date%" } ''; in { inherit qutebrowser flameshot calibre spotify hledger obsidian prompt; hledger_ui = hledger-ui; element = element-desktop; signal = signal-desktop; vim = myVim; emacs = myEmacs; urxvt = rxvt-unicode; }; }; }