From ee2c7ee00a7ece136e0b3e9ae8c6e5631c2808b6 Mon Sep 17 00:00:00 2001 From: jeschli Date: Mon, 9 Sep 2019 12:39:39 +0000 Subject: j bolide: reactivate emacs.nix --- jeschli/1systems/bolide/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/bolide/config.nix b/jeschli/1systems/bolide/config.nix index 5cb6ef5..c8f2e82 100644 --- a/jeschli/1systems/bolide/config.nix +++ b/jeschli/1systems/bolide/config.nix @@ -12,7 +12,7 @@ in ./hardware-configuration.nix - # + ]; krebs.build.host = config.krebs.hosts.bolide; -- cgit v1.3.1 From e39e11f6b58af43495edaabba338605ed0313901 Mon Sep 17 00:00:00 2001 From: jeschli Date: Mon, 9 Sep 2019 12:40:23 +0000 Subject: j bolide: add rofi --- jeschli/1systems/bolide/config.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/bolide/config.nix b/jeschli/1systems/bolide/config.nix index c8f2e82..90acfc7 100644 --- a/jeschli/1systems/bolide/config.nix +++ b/jeschli/1systems/bolide/config.nix @@ -56,6 +56,7 @@ in }; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ + rofi wget vim # system helper ag -- cgit v1.3.1 From c8d7c17fed098dc14cdb4f9a0f436121aea69858 Mon Sep 17 00:00:00 2001 From: jeschli Date: Mon, 9 Sep 2019 12:40:44 +0000 Subject: j bolide: add vscode --- jeschli/1systems/bolide/config.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/bolide/config.nix b/jeschli/1systems/bolide/config.nix index 90acfc7..ea0f0eb 100644 --- a/jeschli/1systems/bolide/config.nix +++ b/jeschli/1systems/bolide/config.nix @@ -79,6 +79,7 @@ in chromium google-chrome # programming languages + vscode go gcc9 ccls -- cgit v1.3.1 From c9f73b16456531e1f65f6164ed47af896ac70414 Mon Sep 17 00:00:00 2001 From: jeschli Date: Thu, 12 Sep 2019 22:50:57 +0000 Subject: j bolide: xserver config to i3.nix --- jeschli/1systems/bolide/config.nix | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/bolide/config.nix b/jeschli/1systems/bolide/config.nix index ea0f0eb..17c1cc6 100644 --- a/jeschli/1systems/bolide/config.nix +++ b/jeschli/1systems/bolide/config.nix @@ -100,42 +100,13 @@ in zathura ]; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.bash.enableCompletion = true; - # programs.mtr.enable = true; - # programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; - - # List services that you want to enable: # Enable the OpenSSH daemon. - services.openssh.enable = true; - - - services.xserver = { - - enable = true; - - desktopManager = { - xfce.enable = true; - gnome3.enable = true; - }; -# # Don't install feh into systemPackages -# # refs -# desktopManager.session = lib.mkForce []; -# -# enable = true; -# display = 11; -# tty = 11; -# -# dpi = 96; - - videoDrivers = [ "nvidia" ]; - }; + services.openssh.enable = true; - services.xserver.windowManager.i3.enable = true; + services.xserver.videoDrivers = [ "nvidia" ]; - users.extraUsers.jeschli = { +users.extraUsers.jeschli = { isNormalUser = true; extraGroups = ["docker" "vboxusers" "audio"]; uid = 1000; -- cgit v1.3.1 From 039a576b24e7ad14874e9b25b8c696c239c2e7b6 Mon Sep 17 00:00:00 2001 From: jeschli Date: Thu, 12 Sep 2019 22:51:52 +0000 Subject: j bolide: import i3.nix --- jeschli/1systems/bolide/config.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/bolide/config.nix b/jeschli/1systems/bolide/config.nix index 17c1cc6..1041b06 100644 --- a/jeschli/1systems/bolide/config.nix +++ b/jeschli/1systems/bolide/config.nix @@ -12,6 +12,7 @@ in ./hardware-configuration.nix + ]; -- cgit v1.3.1 From e70b22ed477aca8ea74e43ad8692c77b409b67df Mon Sep 17 00:00:00 2001 From: jeschli Date: Thu, 12 Sep 2019 22:52:48 +0000 Subject: j bolide: python35 -> python37 --- jeschli/1systems/bolide/config.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/bolide/config.nix b/jeschli/1systems/bolide/config.nix index 1041b06..d859833 100644 --- a/jeschli/1systems/bolide/config.nix +++ b/jeschli/1systems/bolide/config.nix @@ -86,8 +86,8 @@ in ccls unstable.clang_8 ghc - python35 - python35Packages.pip + python37 + python37Packages.pip # go tools golint gotools -- cgit v1.3.1 From 46cb8a0ab2c9f20d9ffea218d3db0782c3d5f7b6 Mon Sep 17 00:00:00 2001 From: jeschli Date: Fri, 13 Sep 2019 01:01:37 +0200 Subject: j xmond-jeschli: remove --- jeschli/1systems/brauerei/config.nix | 11 - jeschli/5pkgs/simple/xmonad-jeschli/default.nix | 300 ------------------------ 2 files changed, 311 deletions(-) delete mode 100644 jeschli/5pkgs/simple/xmonad-jeschli/default.nix (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/brauerei/config.nix b/jeschli/1systems/brauerei/config.nix index aabb4b7..70925c6 100644 --- a/jeschli/1systems/brauerei/config.nix +++ b/jeschli/1systems/brauerei/config.nix @@ -1,6 +1,5 @@ { config, pkgs, lib, ... }: let - xmonad-jeschli = pkgs.callPackage { inherit config; }; mainUser = config.krebs.build.user.name; unstable = import { config = { allowUnfree = true; }; }; in @@ -151,16 +150,6 @@ in gnome3.enable = true; }; - windowManager = { - session = [{ - name = "xmonad"; - start = '' - ${xmonad-jeschli}/bin/xmonad & - waitPID=$! - ''; - } - ]; - }; }; services.xserver.windowManager.i3.enable = true; diff --git a/jeschli/5pkgs/simple/xmonad-jeschli/default.nix b/jeschli/5pkgs/simple/xmonad-jeschli/default.nix deleted file mode 100644 index 8066984..0000000 --- a/jeschli/5pkgs/simple/xmonad-jeschli/default.nix +++ /dev/null @@ -1,300 +0,0 @@ -{ pkgs, ... }: -pkgs.writeHaskellPackage "xmonad-jeschli" { - executables.xmonad = { - extra-depends = [ - "containers" - "extra" - "unix" - "X11" - "xmonad" - "xmonad-contrib" - "xmonad-stockholm" - ]; - text = /* haskell */ '' -{-# LANGUAGE DeriveDataTypeable #-} -- for XS -{-# LANGUAGE FlexibleContexts #-} -- for xmonad' -{-# LANGUAGE LambdaCase #-} -{-# LANGUAGE ScopedTypeVariables #-} - - -module Main where - -import Control.Exception -import Control.Monad.Extra (whenJustM) -import Graphics.X11.ExtraTypes.XF86 -import Text.Read (readEither) -import XMonad -import System.Environment (getArgs, withArgs, getEnv, getEnvironment, lookupEnv) -import System.Exit (exitFailure) -import System.IO (hPutStrLn, stderr) -import System.Posix.Process (executeFile) -import XMonad.Actions.DynamicWorkspaces ( addWorkspacePrompt, renameWorkspace - , removeEmptyWorkspace) -import XMonad.Actions.GridSelect -import XMonad.Actions.CycleWS (toggleWS) ---import XMonad.Actions.CopyWindow ( copy ) -import XMonad.Layout.NoBorders ( smartBorders ) -import qualified XMonad.StackSet as W -import Data.Map (Map) -import qualified Data.Map as Map --- TODO import XMonad.Layout.WorkspaceDir -import XMonad.Hooks.UrgencyHook (SpawnUrgencyHook(..), withUrgencyHook) --- import XMonad.Layout.Tabbed ---import XMonad.Layout.MouseResizableTile -import XMonad.Layout.Reflect (reflectVert) -import XMonad.Layout.FixedColumn (FixedColumn(..)) -import XMonad.Hooks.Place (placeHook, smart) -import XMonad.Hooks.FloatNext (floatNextHook) -import XMonad.Hooks.SetWMName -import XMonad.Actions.PerWorkspaceKeys (chooseAction) -import XMonad.Layout.PerWorkspace (onWorkspace) ---import XMonad.Layout.BinarySpacePartition - ---import XMonad.Actions.Submap -import XMonad.Stockholm.Pager -import XMonad.Stockholm.Rhombus -import XMonad.Stockholm.Shutdown - - -amixerPath :: FilePath -amixerPath = "${pkgs.alsaUtils}/bin/amixer" - -urxvtcPath :: FilePath -urxvtcPath = "${pkgs.rxvt_unicode}/bin/urxvtc" - -myFont :: String -myFont = "-schumacher-*-*-*-*-*-*-*-*-*-*-*-iso10646-*" - -main :: IO () -main = getArgs >>= \case - [] -> mainNoArgs - ["--shutdown"] -> shutdown - args -> hPutStrLn stderr ("bad arguments: " <> show args) >> exitFailure - -mainNoArgs :: IO () -mainNoArgs = do - handleShutdownEvent <- newShutdownEventHandler - xmonad - -- $ withUrgencyHookC dzenUrgencyHook { args = ["-bg", "magenta", "-fg", "magenta", "-h", "2"], duration = 500000 } - -- urgencyConfig { remindWhen = Every 1 } - -- $ withUrgencyHook borderUrgencyHook "magenta" - -- $ withUrgencyHookC BorderUrgencyHook { urgencyBorderColor = "magenta" } urgencyConfig { suppressWhen = Never } - $ withUrgencyHook (SpawnUrgencyHook "echo emit Urgency ") - $ def - { terminal = urxvtcPath - , modMask = mod4Mask - , keys = myKeys - , workspaces = ["comms", "org", "dev"] - , layoutHook = smartBorders $ FixedColumn 1 20 80 10 ||| Full - -- , handleEventHook = myHandleEventHooks <+> handleTimerEvent - --, handleEventHook = handleTimerEvent - , manageHook = placeHook (smart (1,0)) <+> floatNextHook - , startupHook = do - setWMName "LG3D" - whenJustM (liftIO (lookupEnv "XMONAD_STARTUP_HOOK")) - (\path -> forkFile path [] Nothing) - , normalBorderColor = "#1c1c1c" - , focusedBorderColor = "#f000b0" - , handleEventHook = handleShutdownEvent - } - - -getWorkspaces0 :: IO [String] -getWorkspaces0 = - try (getEnv "XMONAD_WORKSPACES0_FILE") >>= \case - Left e -> warn (displaySomeException e) - Right p -> try (readFile p) >>= \case - Left e -> warn (displaySomeException e) - Right x -> case readEither x of - Left e -> warn e - Right y -> return y - where - warn msg = hPutStrLn stderr ("getWorkspaces0: " ++ msg) >> return [] - -displaySomeException :: SomeException -> String -displaySomeException = displayException - - -forkFile :: FilePath -> [String] -> Maybe [(String, String)] -> X () -forkFile path args env = - xfork (executeFile path False args env) >> return () - -spawnRootTerm :: X () -spawnRootTerm = - forkFile - urxvtcPath - ["-name", "root-urxvt", "-e", "/run/wrappers/bin/su", "-"] - Nothing - -spawnTermAt :: String -> X () -spawnTermAt ws = do - env <- liftIO getEnvironment - let env' = ("XMONAD_SPAWN_WORKSPACE", ws) : env - forkFile urxvtcPath [] (Just env') - - -myKeys :: XConfig Layout -> Map (KeyMask, KeySym) (X ()) -myKeys conf = Map.fromList $ - [ ((_4 , xK_Escape ), forkFile "/run/wrappers/bin/slock" [] Nothing) - , ((_4S , xK_c ), kill) - - , ((_4 , xK_p ), spawn "${pkgs.writeDash "my-dmenu" '' - export PATH=$PATH:${pkgs.dmenu}/bin - exec dmenu_run "$@" - ''}") - , ((_4 , xK_x ), chooseAction spawnTermAt) - , ((_4C , xK_x ), spawnRootTerm) - - --, ((_4 , xK_F1 ), withFocused jojo) - --, ((_4 , xK_F1 ), printAllGeometries) - - , ((0 , xK_Print ), gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.view) ) - , ((_S , xK_Print ), gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.shift) ) - , ((_C , xK_Print ), toggleWS) - - -- %! Rotate through the available layout algorithms - , ((_4 , xK_space ), sendMessage NextLayout) - , ((_4S , xK_space ), setLayout $ XMonad.layoutHook conf) -- reset layout - - ---- BinarySpacePartition - --, ((_4 , xK_l), sendMessage $ ExpandTowards R) - --, ((_4 , xK_h), sendMessage $ ExpandTowards L) - --, ((_4 , xK_j), sendMessage $ ExpandTowards D) - --, ((_4 , xK_k), sendMessage $ ExpandTowards U) - --, ((_4S , xK_l), sendMessage $ ShrinkFrom R) - --, ((_4S , xK_h), sendMessage $ ShrinkFrom L) - --, ((_4S , xK_j), sendMessage $ ShrinkFrom D) - --, ((_4S , xK_k), sendMessage $ ShrinkFrom U) - --, ((_4 , xK_n), sendMessage Rotate) - --, ((_4S , xK_n), sendMessage Swap) - - ---- mouseResizableTile - --, ((_4 , xK_u), sendMessage ShrinkSlave) - --, ((_4 , xK_i), sendMessage ExpandSlave) - - -- move focus up or down the window stack - --, ((_4 , xK_m ), windows W.focusMaster) - , ((_4 , xK_j ), windows W.focusDown) - , ((_4 , xK_k ), windows W.focusUp) - - -- modifying the window order - , ((_4S , xK_m ), windows W.swapMaster) - , ((_4S , xK_j ), windows W.swapDown) - , ((_4S , xK_k ), windows W.swapUp) - - -- resizing the master/slave ratio - , ((_4 , xK_h ), sendMessage Shrink) -- %! Shrink the master area - , ((_4 , xK_l ), sendMessage Expand) -- %! Expand the master area - - -- floating layer support - , ((_4 , xK_t ), withFocused $ windows . W.sink) -- make tiling - - -- increase or decrease number of windows in the master area - , ((_4 , xK_comma ), sendMessage $ IncMasterN 1) - , ((_4 , xK_period ), sendMessage $ IncMasterN (-1)) - - , ((_4 , xK_a ), addWorkspacePrompt def) - , ((_4 , xK_r ), renameWorkspace def) - , ((_4 , xK_Delete ), removeEmptyWorkspace) - - , ((_4 , xK_Return ), toggleWS) - --, (0 , xK_Print ) & \k -> (k, gridselectWorkspace wsGSConfig { gs_navigate = makeGSNav k } W.view) - --, (_4 , xK_v ) & \k -> (k, gridselectWorkspace wsGSConfig { gs_navigate = makeGSNav k } W.view) - --, (_4S , xK_v ) & \k -> (k, gridselectWorkspace wsGSConfig { gs_navigate = makeGSNav k } W.shift) - --, (_4 , xK_b ) & \k -> (k, goToSelected wGSConfig { gs_navigate = makeGSNav k }) - , ((noModMask, xF86XK_AudioLowerVolume), amixer ["sset", "Master", "5%-"]) - , ((noModMask, xF86XK_AudioRaiseVolume), amixer ["sset", "Master", "5%+"]) - , ((noModMask, xF86XK_AudioMute), amixer ["sset", "Master", "toggle"]) - ] - where - _4 = mod4Mask - _C = controlMask - _S = shiftMask - _M = mod1Mask - _4C = _4 .|. _C - _4S = _4 .|. _S - _4M = _4 .|. _M - _4CM = _4 .|. _C .|. _M - _4SM = _4 .|. _S .|. _M - - amixer args = forkFile amixerPath args Nothing - - -pagerConfig :: PagerConfig -pagerConfig = def - { pc_font = myFont - , pc_cellwidth = 100 - --, pc_cellheight = 36 -- TODO automatically keep screen aspect - --, pc_borderwidth = 1 - --, pc_matchcolor = "#f0b000" - , pc_matchmethod = MatchPrefix - --, pc_colors = pagerWorkspaceColors - , pc_windowColors = windowColors - } - where - windowColors _ _ _ True _ = ("#ef4242","#ff2323") - windowColors wsf m c u wf = do - let y = defaultWindowColors wsf m c u wf - if m == False && wf == True - then ("#402020", snd y) - else y - -horseConfig :: RhombusConfig -horseConfig = def - { rc_font = myFont - , rc_cellwidth = 64 - --, rc_cellheight = 36 -- TODO automatically keep screen aspect - --, rc_borderwidth = 1 - --, rc_matchcolor = "#f0b000" - , rc_matchmethod = MatchPrefix - --, rc_colors = pagerWorkspaceColors - --, rc_paint = myPaint - } - -wGSConfig :: GSConfig Window -wGSConfig = def - { gs_cellheight = 20 - , gs_cellwidth = 192 - , gs_cellpadding = 5 - , gs_font = myFont - , gs_navigate = navNSearch - } - --- wsGSConfig = def --- { gs_cellheight = 20 --- , gs_cellwidth = 64 --- , gs_cellpadding = 5 --- , gs_font = myFont --- , gs_navigate = navNSearch --- } - --- custom navNSearch ---makeGSNav :: (KeyMask, KeySym) -> TwoD a (Maybe a) ---makeGSNav esc = nav --- where --- nav = makeXEventhandler $ shadowWithKeymap keyMap navNSearchDefaultHandler --- keyMap = Map.fromList --- [ (esc , cancel) --- , ((0,xK_Escape) , cancel) --- , ((0,xK_Return) , select) --- , ((0,xK_Left) , move (-1, 0) >> nav) --- , ((0,xK_Right) , move ( 1, 0) >> nav) --- , ((0,xK_Down) , move ( 0, 1) >> nav) --- , ((0,xK_Up) , move ( 0,-1) >> nav) --- , ((0,xK_BackSpace) , transformSearchString (\s -> if (s == "") then "" else init s) >> nav) --- ] --- -- The navigation handler ignores unknown key symbols, therefore we const --- navNSearchDefaultHandler (_,s,_) = do --- transformSearchString (++ s) --- nav - - -(&) :: a -> (a -> c) -> c -(&) = flip ($) - -allWorkspaceNames :: W.StackSet i l a sid sd -> X [i] -allWorkspaceNames ws = - return $ map W.tag (W.hidden ws) ++ [W.tag $ W.workspace $ W.current ws] - ''; - }; -} -- cgit v1.3.1 From 57bd92201ca906d7361191367c78ae16ebe8b4da Mon Sep 17 00:00:00 2001 From: jeschli Date: Fri, 13 Sep 2019 01:02:12 +0200 Subject: j brauerei: use emacs, remove home-manager --- jeschli/1systems/brauerei/config.nix | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/brauerei/config.nix b/jeschli/1systems/brauerei/config.nix index 70925c6..860c5d1 100644 --- a/jeschli/1systems/brauerei/config.nix +++ b/jeschli/1systems/brauerei/config.nix @@ -8,6 +8,7 @@ in ./hardware-configuration.nix + @@ -116,29 +117,29 @@ in # programs.mtr.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; - home-manager.useUserPackages = true; - home-manager.users.jeschli = { - home.stateVersion = "19.03"; - }; +# home-manager.useUserPackages = true; +# home-manager.users.jeschli = { +# home.stateVersion = "19.03"; +# }; # home-manager.enable = true; - home-manager.users.jeschli.home.file = { - ".emacs.d" = { - source = pkgs.fetchFromGitHub { - owner = "jeschli"; - repo = "emacs.d"; - rev = "8ed6c40"; - sha256 = "1q2y478srwp9f58l8cixnd2wj51909gp1z68k8pjlbjy2mrvibs0"; - }; - recursive = true; - }; - }; +# home-manager.users.jeschli.home.file = { +# ".emacs.d" = { +# source = pkgs.fetchFromGitHub { +# owner = "jeschli"; +# repo = "emacs.d"; +# rev = "8ed6c40"; +# sha256 = "1q2y478srwp9f58l8cixnd2wj51909gp1z68k8pjlbjy2mrvibs0"; +# }; +# recursive = true; +# }; +# }; # List services that you want to enable: # Enable the OpenSSH daemon. services.openssh.enable = true; - services.emacs.enable = true; +# services.emacs.enable = true; virtualisation.docker.enable = true; -- cgit v1.3.1 From d34dc754a08e6e876adcc63ccb88a5f646b67579 Mon Sep 17 00:00:00 2001 From: Jeschli Date: Sat, 21 Sep 2019 08:53:51 +0200 Subject: jeschli: add reagenzglas to stockholm --- jeschli/1systems/reagenzglas/config.nix | 85 ++++++++++ jeschli/1systems/reagenzglas/desktop.nix | 25 +++ .../reagenzglas/hardware-configuration.nix | 37 +++++ jeschli/1systems/reagenzglas/i3-configuration.nix | 176 +++++++++++++++++++++ 4 files changed, 323 insertions(+) create mode 100644 jeschli/1systems/reagenzglas/config.nix create mode 100644 jeschli/1systems/reagenzglas/desktop.nix create mode 100644 jeschli/1systems/reagenzglas/hardware-configuration.nix create mode 100644 jeschli/1systems/reagenzglas/i3-configuration.nix (limited to 'jeschli/1systems') diff --git a/jeschli/1systems/reagenzglas/config.nix b/jeschli/1systems/reagenzglas/config.nix new file mode 100644 index 0000000..2eefb23 --- /dev/null +++ b/jeschli/1systems/reagenzglas/config.nix @@ -0,0 +1,85 @@ +{ config, pkgs, ... }: +with pkgs; +let + rebuild_script = pkgs.writeTextFile { + name="rebuild"; + text='' + #!/usr/bin/env sh + set -eu + sudo cp -r /etc/nixos ~/old-nixos + sudo cp -r $HOME/nixos /etc/ + sudo nixos-rebuild switch + ''; + executable=true; + }; +in +{ + imports = + [ + + + ./desktop.nix + ./i3-configuration.nix + ./hardware-configuration.nix + ]; + + # EFI systemd boot loader + boot.loader.systemd-boot.enable = true; + + # Wireless network with network manager + krebs.build.host = config.krebs.hosts.brauerei; + # networking.hostName = "nixos"; # Define your hostname. + networking.networkmanager.enable = true; + + # Allow unfree + nixpkgs.config.allowUnfree = true; + + # Select internationalisation properties. + i18n = { + consoleKeyMap = "us"; + defaultLocale = "en_US.UTF-8"; + }; + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + wget vim git + firefox + rofi + ]; + + # How I rebuild the system + environment.shellAliases = { + rebuild = rebuild_script; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.ombi = { + isNormalUser = true; + extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + }; + + users.users.jeschli = { + isNormalUser = true; + }; + + services.xserver.synaptics.enable = true; + + #Enable ssh daemon + services.openssh.enable = true; + + users.users.root.openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDM1xtX/SF2IzfAIzrXvH4HsW05eTBX8U8MYlEPadq0DS/nHC45hW2PSEUOVsH0UhBRAB+yClVLyN+JAYsuOoQacQqAVq9R7HAoFITdYTMJCxVs4urSRv0pWwTopRIh1rlI+Q0QfdMoeVtO2ZKG3KoRM+APDy2dsX8LTtWjXmh/ZCtpGl1O8TZtz2ZyXyv9OVDPnQiFwPU3Jqs2Z036c+kwxWlxYc55FRuqwRtQ48c/ilPMu+ZvQ22j1Ch8lNuliyAg1b8pZdOkMJF3R8b46IQ8FEqkr3L1YQygYw2M50B629FPgHgeGPMz3mVd+5lzP+okbhPJjMrUqZAUwbMGwGzZ ombi@nixos" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKFXgtbgeivxlMKkoEJ4ANhtR+LRMSPrsmL4U5grFUME jeschli@nixos" + ]; + + # This value determines the NixOS release with which your system is to be + # compatible, in order to avoid breaking some software such as database + # servers. You should change this only after NixOS release notes say you + # should. + system.stateVersion = "19.03"; # Did you read the comment? + +} diff --git a/jeschli/1systems/reagenzglas/desktop.nix b/jeschli/1systems/reagenzglas/desktop.nix new file mode 100644 index 0000000..0c42981 --- /dev/null +++ b/jeschli/1systems/reagenzglas/desktop.nix @@ -0,0 +1,25 @@ +# Configuration for the desktop environment + +{ config, lib, pkgs, ... }: +{ + # Configure basic X-server stuff: + services.xserver = { + enable = true; + xkbOptions = "caps:super"; + exportConfiguration = true; + + displayManager.slim.enable = true; + }; + + # Configure fonts + fonts = { + fonts = with pkgs; [ + corefonts + font-awesome-ttf + noto-fonts-cjk + noto-fonts-emoji + powerline-fonts + helvetica-neue-lt-std + ]; + }; +} diff --git a/jeschli/1systems/reagenzglas/hardware-configuration.nix b/jeschli/1systems/reagenzglas/hardware-configuration.nix new file mode 100644 index 0000000..55f5532 --- /dev/null +++ b/jeschli/1systems/reagenzglas/hardware-configuration.nix @@ -0,0 +1,37 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, ... }: + +{ + imports = + [ + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.initrd.luks.devices = [ + { + name = "root"; + device = "/dev/nvme0n1p8"; + preLVM = true; + } + ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/4d01936e-c876-42c3-962a-d4a20ad0e2e0"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/D455-E4CC"; + fsType = "vfat"; + }; + + swapDevices = [ ]; + + nix.maxJobs = lib.mkDefault 8; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; +} diff --git a/jeschli/1systems/reagenzglas/i3-configuration.nix b/jeschli/1systems/reagenzglas/i3-configuration.nix new file mode 100644 index 0000000..c9968c1 --- /dev/null +++ b/jeschli/1systems/reagenzglas/i3-configuration.nix @@ -0,0 +1,176 @@ +{pkgs, environment, config, lib, ... }: + +with pkgs; + +let + i3_config_file = pkgs.writeText "config" '' + set $mod Mod4 + + font pango:monospace 8 + + #font pango:DejaVu Sans Mono 8 + + # Before i3 v4.8, we used to recommend this one as the default: + # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 + # The font above is very space-efficient, that is, it looks good, sharp and + # clear in small sizes. However, its unicode glyph coverage is limited, the old + # X core fonts rendering does not support right-to-left and this being a bitmap + # font, it doesn’t scale on retina/hidpi displays. + + # Use Mouse+$mod to drag floating windows to their wanted position + floating_modifier $mod + + # start a terminal + bindsym $mod+Return exec i3-sensible-terminal + + # kill focused window + bindsym $mod+Shift+q kill + + # start dmenu (a program launcher) + # bindsym $mod+d exec dmenu_run + + # start dmenu (a program launcher) + bindsym $mod+d exec ${pkgs.rofi}/bin/rofi -modi drun#run -combi-modi drun#run -show combi -show-icons -display-combi run + + # There also is the (new) i3-dmenu-desktop which only displays applications + # shipping a .desktop file. It is a wrapper around dmenu, so you need that + # installed. + # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop + + # change focus + bindsym $mod+j focus left + bindsym $mod+k focus down + bindsym $mod+l focus up + bindsym $mod+semicolon focus right + + # alternatively, you can use the cursor keys: + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # move focused window + bindsym $mod+Shift+j move left + bindsym $mod+Shift+k move down + bindsym $mod+Shift+l move up + bindsym $mod+Shift+colon move right + + # alternatively, you can use the cursor keys: + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right + + # split in horizontal orientation + bindsym $mod+h split h + + # split in vertical orientation + bindsym $mod+v split v + + # enter fullscreen mode for the focused container + bindsym $mod+f fullscreen toggle + + # change container layout (stacked, tabbed, toggle split) + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # toggle tiling / floating + bindsym $mod+Shift+space floating toggle + + # change focus between tiling / floating windows + bindsym $mod+space focus mode_toggle + + # focus the parent container + bindsym $mod+a focus parent + + # focus the child container + #bindsym $mod+d focus child + + # Define names for default workspaces for which we configure key bindings later on. + # We use variables to avoid repeating the names in multiple places. + set $ws1 "1" + set $ws2 "2" + set $ws3 "3" + set $ws4 "4" + set $ws5 "5" + set $ws6 "6" + set $ws7 "7" + set $ws8 "8" + set $ws9 "9" + set $ws10 "10" + + # switch to workspace + bindsym $mod+1 workspace $ws1 + bindsym $mod+2 workspace $ws2 + bindsym $mod+3 workspace $ws3 + bindsym $mod+4 workspace $ws4 + bindsym $mod+5 workspace $ws5 + bindsym $mod+6 workspace $ws6 + bindsym $mod+7 workspace $ws7 + bindsym $mod+8 workspace $ws8 + bindsym $mod+9 workspace $ws9 + bindsym $mod+0 workspace $ws10 + + # move focused container to workspace + bindsym $mod+Shift+1 move container to workspace $ws1 + bindsym $mod+Shift+2 move container to workspace $ws2 + bindsym $mod+Shift+3 move container to workspace $ws3 + bindsym $mod+Shift+4 move container to workspace $ws4 + bindsym $mod+Shift+5 move container to workspace $ws5 + bindsym $mod+Shift+6 move container to workspace $ws6 + bindsym $mod+Shift+7 move container to workspace $ws7 + bindsym $mod+Shift+8 move container to workspace $ws8 + bindsym $mod+Shift+9 move container to workspace $ws9 + bindsym $mod+Shift+0 move container to workspace $ws10 + + # reload the configuration file + bindsym $mod+Shift+c reload + # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) + bindsym $mod+Shift+r restart + # exit i3 (logs you out of your X session) + bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + + # resize window (you can also use the mouse for that) + mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" + } + + bindsym $mod+r mode "resize" + + # Start i3bar to display a workspace bar (plus the system information i3status + # finds out, if available) + bar { + status_command i3status + } + ''; + +in { + + services.xserver.windowManager.i3 = { + enable = true; + package = pkgs.i3; + configFile = i3_config_file; + }; + +} -- cgit v1.3.1