diff --git a/flake.nix b/flake.nix index 6a2265b..6a90851 100644 --- a/flake.nix +++ b/flake.nix @@ -13,12 +13,16 @@ easy-purescript-nix.url = "github:justinwoo/easy-purescript-nix"; easy-purescript-nix.flake = false; + + z.url = "github:jethrokuan/z"; + z.flake = false; + + agnoster.url = "github:oh-my-fish/theme-agnoster"; + agnoster.flake = false; }; - outputs = { self, nixpkgs, home-manager, nixos-unstable, - easy-purescript-nix, - easy-dhall-nix, - ... }: { + outputs = { self, nixpkgs, home-manager, nixos-unstable, easy-purescript-nix + , easy-dhall-nix, z, agnoster, ... }: { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ @@ -27,11 +31,17 @@ ./configuration.nix # Make inputs available inside the config - ({ pkgs, ... }: { - nixpkgs.overlays = [(self: super: { - easy-purescript-nix = import easy-purescript-nix { inherit pkgs; }; - easy-dhall-nix = import easy-dhall-nix { inherit pkgs; }; - })]; + ({ pkgs, ... }: { + nixpkgs.overlays = [ + (self: super: { + easy-purescript-nix = + import easy-purescript-nix { inherit pkgs; }; + easy-dhall-nix = import easy-dhall-nix { inherit pkgs; }; + + fishPlugins.z = z; + fishThemes.agnoster = agnoster; + }) + ]; }) ]; }; diff --git a/modules/applications/alacritty.nix b/modules/applications/alacritty.nix index 72f8dfc..6c8390e 100644 --- a/modules/applications/alacritty.nix +++ b/modules/applications/alacritty.nix @@ -4,50 +4,52 @@ settings = { window = { + decorations = "none"; + padding = { - x = 4; + x = 8; y = 8; }; - gtk_theme_variant = "dark"; + gtk_theme_variant = "light"; + }; - fonts.normal.family = "Source Code Pro"; - # transparent bg:) - background_opacity = 0.7; + background_opacity = 0.3; + fonts.normal.family = "Source Code Pro"; colors = { cursor = { - text = "#1460d2"; - cursor = "#f0cc09"; + text = "#c880b7"; + cursor = "#fcf68d"; }; selection = { text = "#b5b5b5"; background = "#18354f"; }; primary = { - background = "#132738"; - foreground = "#ffffff"; + background = "#f7fff7"; + foreground = "#18354f"; }; normal = { - black = "#000000"; - red = "#ff0000"; - green = "#38de21"; - yellow = "#ffe50a"; - blue = "#1460d2"; - magenta = "#ff005d"; - cyan = "#00bbbb"; - white = "#bbbbbb"; + black = "#3d0a3b"; + red = "#c880b7"; + blue = "#6f38c7"; + yellow = "#8de336"; + green = "#2ec0f9"; + magenta = "#fc90c3"; + cyan = "#ff577e"; + white = "#e2e8ef"; }; bright = { - black = "#555555"; - red = "#f40e17"; - green = "#3bd01d"; - yellow = "#edc809"; - blue = "#5555ff"; - magenta = "#ff55ff"; - cyan = "#6ae3fa"; + black = "#5e105c"; + red = "#ec9ded"; + green = "#b726d4"; + yellow = "#fff773"; + blue = "#75d5fa"; + magenta = "#ffb3d7"; + cyan = "#ffcf66"; white = "#ffffff"; }; }; diff --git a/modules/applications/git/default.nix b/modules/applications/git/default.nix index 16d59a1..d8ef898 100644 --- a/modules/applications/git/default.nix +++ b/modules/applications/git/default.nix @@ -6,6 +6,7 @@ gource # Store secrets in github repos git-secret + git-crypt # Both of these are github clis gh hub diff --git a/modules/applications/shells/fish.nix b/modules/applications/shells/fish.nix index e8727b6..1a98f08 100644 --- a/modules/applications/shells/fish.nix +++ b/modules/applications/shells/fish.nix @@ -3,10 +3,11 @@ let shellAliases = import ./aliases.nix; common = import ./common.nix; in { - # home-manager.users.adrielus.programs.fish = { - # inherit shellAliases; - # shellInit = common.shellInit; + home-manager.users.adrielus.programs.fish = { + inherit shellAliases; + shellInit = common.shellInit; + plugins = [ fishPlugins.z fishThemes.agnoster ]; - # enable = true; - # }; + enable = true; + }; } diff --git a/modules/applications/xmonad/default.nix b/modules/applications/xmonad/default.nix index 13eb445..930b847 100644 --- a/modules/applications/xmonad/default.nix +++ b/modules/applications/xmonad/default.nix @@ -1,4 +1,4 @@ -{ ... }: { +{ pkgs, ... }: { home-manager.users.adrielus = { xsession.windowManager.xmonad = { enable = true; @@ -6,15 +6,12 @@ config = ./xmonad.hs; }; - home.file.".config/plasma-workspace/env/set_window_manager.sh".text = - "export KDEWM=/home/adrielus/.nix-profile/bin/xmonad"; - }; + home.packages = with pkgs; [ xwallpaper ]; - # services.compton = { - # enable = true; - # activeOpacity = "0.8"; - # inactiveOpacity = "0.8"; - # fade = true; - # shadow = true; - # }; + # Tell KDE to use xmonad + # home.file.".config/plasma-workspace/env/set_window_manager.sh".text = + # "export KDEWM=/home/adrielus/.nix-profile/bin/xmonad"; + + services.picom = { enable = true; }; + }; } diff --git a/modules/applications/xmonad/xmonad.hs b/modules/applications/xmonad/xmonad.hs index 1b567c9..cf48031 100644 --- a/modules/applications/xmonad/xmonad.hs +++ b/modules/applications/xmonad/xmonad.hs @@ -1,13 +1,13 @@ -import Data.Function ( (&) ) import Control.Monad ( join ) +import Data.Function ( (&) ) import XMonad -import XMonad.Config.Kde -import XMonad.Util.EZConfig import XMonad.Actions.SpawnOn -import XMonad.Hooks.ManageDocks +import XMonad.Config.Kde import XMonad.Hooks.EwmhDesktops ( fullscreenEventHook ) import XMonad.Hooks.EwmhDesktops ( ewmh ) +import XMonad.Hooks.ManageDocks +import XMonad.Util.EZConfig import XMonad.Layout.Spacing import XMonad.Layout.ThreeColumns @@ -19,6 +19,7 @@ main = $ kdeConfig { modMask = mod4Mask , layoutHook = myLayoutHook + , startupHook = startup , manageHook = manageDocks <+> myManagerHook <+> manageHook kdeConfig , handleEventHook = handleEventHook kdeConfig <+> fullscreenEventHook , terminal = myTerminal @@ -66,3 +67,6 @@ main = myLayoutHook = desktopLayoutModifiers $ spacingHook layouts + startup :: X () + startup = do + spawn "xwallpaper --focus ./gradient.jpg" diff --git a/modules/dev/javascript.nix b/modules/dev/javascript.nix index c8450e3..bb8aa5c 100644 --- a/modules/dev/javascript.nix +++ b/modules/dev/javascript.nix @@ -1,6 +1,5 @@ { pkgs, ... }: let - # fromNpm = import ./npm { inherit pkgs; }; node = pkgs.nodejs-12_x; yarn = pkgs.yarn.override { nodejs = node; }; in { @@ -15,6 +14,7 @@ in { pnpm yarn + # TODO: find a good way to reinstall some of these /* tsdx mklicense preact-cli diff --git a/modules/users.nix b/modules/users.nix index 18db4e6..73d90a1 100644 --- a/modules/users.nix +++ b/modules/users.nix @@ -7,7 +7,7 @@ with import ../secrets.nix; { extraGroups = [ "wheel" "networkmanager" "lp" "docker" ]; isNormalUser = true; - # shell = pkgs.fish; + shell = pkgs.fish; }; }; } diff --git a/modules/xserver.nix b/modules/xserver.nix index 5437298..f3c6d8f 100644 --- a/modules/xserver.nix +++ b/modules/xserver.nix @@ -4,16 +4,25 @@ enable = true; xkbOptions = "eurosign:e"; - # Enable the KDE Desktop Environment. - # displayManager.sddm.enable = true; - # desktopManager.plasma5.enable = true; + # Make the xmonad session the default + displayManager.defaultSession = "none+xmonad"; - # displayManager.defaultSession = "none+xmonad"; + # Enable xmonad windowManager.xmonad = { enable = true; enableContribAndExtras = true; }; + # Enable xfce I think? + desktopManager = { + xterm.enable = false; + xfce = { + enable = true; + noDesktop = true; + enableXfwm = false; + }; + }; + libinput = { # Enable touchpad support. enable = true;