diff --git a/apps/shell/fish/key-bindings.fish b/apps/shell/fish/key-bindings.fish index dfc06f8..6f1a54e 100755 --- a/apps/shell/fish/key-bindings.fish +++ b/apps/shell/fish/key-bindings.fish @@ -20,6 +20,7 @@ function fish_user_key_bindings bind -M insert \ce end-of-line bind -M insert \ca beginning-of-line bind -M insert \cw forward-word + bind -M insert \ct tmuxswitcher bind -M insert \cv edit_command_buffer bind -M default \cv edit_command_buffer diff --git a/apps/shell/tmux/conf b/apps/shell/tmux/conf index 5482a21..303a37b 100644 --- a/apps/shell/tmux/conf +++ b/apps/shell/tmux/conf @@ -108,6 +108,11 @@ bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" # bind-key -T copy-mode-vi "y" send -X copy-selection bind-key -T copy-mode-vi "y" send-keys -X copy-pipe-and-cancel -X 'clip' +# various control binds +bind-key n command-prompt -p "New Session:" "new-session -s '%1'" +bind-key K kill-pane +bind-key C-S-k kill-session -C + set-environment -g TMUX_PLUGIN_MANAGER_PATH "~/.config/tmux/plugins/" # list of plugins diff --git a/env/desktop/nix/base.nix b/env/desktop/nix/base.nix new file mode 100644 index 0000000..0ea6280 --- /dev/null +++ b/env/desktop/nix/base.nix @@ -0,0 +1,105 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + # TODO: fork? + (import "${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos") + ]; + + home-manager.users.daniel = { + } + + # TODO: bootloader will vary by device + boot = { + supportedFilesystems = [ "exfat" ]; + loader = { + grub = { + enable = true; + version = 2; + device = "/dev/sda"; + }; + }; + }; + + networking = { + hostName = "nether"; + useDHCP = true; + firewall = { + allowedTCPPorts = [ 22 80 443 7770 ]; + allowedUDPPorts = [ 53 57 63 67 7770 ]; + # enable = false; + }; + }; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + time.timeZone = "America/Chicago"; + + environment = { + systemPackages = with pkgs; [ + wget lsof vim git curl fish fzf neovim + ]; + variables.EDITOR = "nvim"; + }; + + services = { + openssh.enable = true; + + xserver = { + enable = true; + layout = "us"; + libinput.enable = true; + desktopManager.plasma5.enable = true; + }; + }; + + fonts = { + enableFontDir = true; + enableGhostscriptFonts = true; + + fontconfig = { + enable = true; + antialias = true; + useEmbeddedBitmaps = true; + + defaultFonts = { + serif = [ "Iosevka Type" ]; + sansSerif = [ "Iosevka Type" ]; + monospace = [ "Iosevka Type" ]; + }; + }; + + fonts = with pkgs; [ + iosevka + nerdfonts + ]; + }; + + sound.enable = true; + hardware.pulseaudio.enable = true; + + users.extraUsers.daniel = { + isNormalUser = true; + group = "users"; + extraGroups = [ "wheel" ]; + home = "/home/daniel/.home"; + shell = pkgs.fish; + createHome = true; + uid = 1000; + }; + + nixpkgs.config = { + allowUnfree = true; + }; + + system.stateVersion = "20.03"; +}