diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f11b75 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/collect-configs.sh b/collect-configs.sh index 933f3b0..47f08b9 100755 --- a/collect-configs.sh +++ b/collect-configs.sh @@ -2,4 +2,6 @@ rsync -rp $HOME/scripts . rsync -rp $HOME/.config/i3 . +rsync -rp $HOME/.config/fish . +rsync -rp $HOME/.config/kitty . rsync -rp /etc/nixos . diff --git a/fish/config.fish b/fish/config.fish new file mode 100644 index 0000000..325de24 --- /dev/null +++ b/fish/config.fish @@ -0,0 +1,15 @@ +set -x EDITOR vim +alias hdmi1="xrandr --output HDMI-2 --auto --rotate normal --output eDP-1 --off" +alias hdmi2="xrandr --output HDMI-2 --auto --right-of eDP-1 --rotate normal --output eDP-1 --auto" +alias hdmidup="xrandr --output HDMI-2 --auto --same-as eDP-1 --rotate normal --output eDP-1 --auto" +alias hdmidupx="xrandr --output HDMI-2 --mode 1280x720 --same-as eDP-1 --rotate normal --output eDP-1 --mode 1280x720" +alias dp1="xrandr --output DP-1 --auto --rotate normal --output eDP-1 --off" +alias dp2="xrandr --output DP-1 --auto --right-of eDP-1 --rotate normal --output eDP-1 --auto" +alias dpdup="xrandr --output DP-1 --auto --same-as eDP-1 --rotate normal --output eDP-1 --auto" +alias monoff="xrandr --output HDMI-1 --off --output HDMI-2 --off --output DP-1 --off --output eDP-1 --auto" +alias cdl="cd ~/development/leveris" + +set -x JAVA_TOOL_OPTIONS "-Djavax.net.ssl.trustStore=/home/nnm/cacerts" +set -x SBT_OPTS "-Xmx2G -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xss2M" + +set fish_greeting diff --git a/fish/fish_variables b/fish/fish_variables new file mode 100644 index 0000000..61a28bd --- /dev/null +++ b/fish/fish_variables @@ -0,0 +1,29 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_init_2_3_0:\x1d +SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:005fd7 +SETUVAR fish_color_comment:990000 +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:009900 +SETUVAR fish_color_error:ff0000 +SETUVAR fish_color_escape:00a6b2 +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:00a6b2 +SETUVAR fish_color_param:00afff +SETUVAR fish_color_quote:999900 +SETUVAR fish_color_redirection:00afff +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting:\x1d +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_description:B3A06D\x1eyellow +SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan diff --git a/i3/config b/i3/config index aea3103..cef797c 100644 --- a/i3/config +++ b/i3/config @@ -30,8 +30,7 @@ font pango:DejaVu Sans Mono 10 floating_modifier $mod # start a terminal -bindsym $mod+Return exec st -f "Liberation Mono:pixelsize=16:antialias=true:autohint=true" - +bindsym $mod+Return exec kitty # kill focused window bindsym $mod+Shift+q kill @@ -98,9 +97,9 @@ set $wspace2 2:dev set $wspace3 3:console set $wspace4 4:file set $wspace5 5:edit -set $wspace6 6:pdf +set $wspace6 6:misc set $wspace7 7:video -set $wspace8 8 +set $wspace8 8:mail set $wspace9 9:chat set $wspace10 10 @@ -155,16 +154,22 @@ bindsym $mod+Shift+0 move container to workspace $wspace10 # assign specific window to workspace assign [class="(?i)^Firefox$"] → $wspace1 assign [class="(?i)^jetbrains-idea-.*$"] → $wspace2 -assign [class="(?i)^st-256color$"] → $wspace3 +assign [class="(?i)^kitty$"] → $wspace3 assign [class="(?i)^Nautilus$"] → $wspace4 +assign [class="(?i)^dolphin$"] → $wspace4 assign [class="(?i)^Gedit$"] → $wspace5 +assign [class="(?i)^kate$"] → $wspace5 assign [class="(?i)^Evince$"] → $wspace6 +assign [class="(?i)^okular$"] → $wspace6 assign [class="(?i)^XpdfReader$"] → $wspace6 +assign [class="(?i)^KeePass2$"] → $wspace6 assign [class="(?i)^vlc$"] → $wspace7 assign [class="(?i)^mpv$"] → $wspace7 assign [class="(?i)^Transmission-gtk$"] → $wspace8 +assign [class="(?i)^kmail2$"] → $wspace8 assign [class="(?i)^TelegramDesktop$"] → $wspace9 assign [class="(?i)^Mattermost"] → $wspace9 +for_window [class="Yad"] floating enable workspace_auto_back_and_forth yes @@ -178,8 +183,8 @@ bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcu # application shortcuts bindsym $mod+i exec idea-community bindsym $mod+o exec firefox -bindsym $mod+g exec gedit -bindsym $mod+n exec nautilus +bindsym $mod+g exec kate +bindsym $mod+n exec dolphin bindsym $mod+l exec "$HOME/scripts/lock.sh" # audio @@ -191,28 +196,30 @@ bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle bindsym XF86MonBrightnessUp exec "xbacklight -inc 5" bindsym XF86MonBrightnessDown exec "xbacklight -dec 5" +bindsym Print exec "spectacle" + # resize window (you can also use the mouse for that) mode "resize" { - # These bindings trigger as soon as you enter the resize mode + # 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 + # 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 + # 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 - bindsym Return mode "default" - bindsym Escape mode "default" + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" } bindsym $mod+r mode "resize" @@ -220,14 +227,15 @@ 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 + status_command i3blocks } # autostart exec --no-startup-id cvlc --play-and-exit "$HOME/.config/i3/windows.wav" exec --no-startup-id volumeicon exec --no-startup-id firefox -exec --no-startup-id st -f "Liberation Mono:pixelsize=16:antialias=true:autohint=true" +exec --no-startup-id kitty exec --no-startup-id telegram-desktop exec --no-startup-id mattermost-desktop exec --no-startup-id xautolock -time 10 -locker "$HOME/scripts/lock.sh" + diff --git a/kitty/kitty.conf b/kitty/kitty.conf new file mode 100644 index 0000000..931c26b --- /dev/null +++ b/kitty/kitty.conf @@ -0,0 +1,13 @@ +font_family DejaVu Sans Mono +bold_font auto +italic_font auto +bold_italic_font auto +font_size 14.0 +adjust_line_height 1 +adjust_column_width 0 +cursor_blink_interval 1.0 +cursor_stop_blinking_after 20.0 +cursor_shape underline +scrollback_lines 10000 +remember_window_size no +term xterm-256color diff --git a/nixos/configuration.nix b/nixos/configuration.nix index a8cc7ac..0f912f4 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -44,7 +44,7 @@ ranger keepass tdesktop - st + kitty fish transmission_gtk wireshark @@ -57,27 +57,15 @@ binutils-unwrapped patchelf file - w3m - xpdf highlight mediainfo - evince - notepadqq + breeze-icons.out gnome3.adwaita-icon-theme - gnome3.gedit - gnome3.eog - gnome3.nautilus - gnome3.evolution - gnome3.gnome-keyring - libsecret - gnome3.file-roller - gnome3.seahorse - gnome3.gcr - gnome3.dconf - gimp - # libreoffice-fresh + hicolor_icon_theme + #libreoffice-fresh xfontsel xorg.xbacklight + xorg.xev volumeicon ntfs3g htop @@ -85,24 +73,26 @@ lm_sensors pavucontrol openjdk8 - #openjdk10 + openjdk11 + #graalvm8 visualvm scala dotty sbt jetbrains.idea-community + docker protobuf3_5 openssl openssl.dev pv #virtualbox - baobab graphviz wirelesstools mattermost-desktop openfortivpn simplenote i3lock + i3blocks scrot imagemagick xautolock @@ -112,16 +102,16 @@ rpm unzip chromium - masterpdfeditor + #masterpdfeditor telnet geteltorito - gradle + #gradle nix-index zoom-us krita maven nodejs - jmeter + #jmeter mongodb-tools screen p7zip @@ -134,7 +124,7 @@ libunwind.dev re2 robo3t - #nextcloud-client + nextcloud-client cmake gnumake gperf @@ -143,16 +133,33 @@ smartmontools teamviewer unrar - tcpdump - tcpflow + docker_compose #androidenv.androidPkgs_9_0.platform-tools - (python2.withPackages(ps: with ps; [ virtualenvwrapper jenkins-job-builder ])) + python3 + sysstat + yad + xdotool + breeze-icons + okular + dolphin + kcalc + kate + okteta + spectacle + ark + filelight + thunderbird + ffmpeg ]; - fonts.fonts = with pkgs; [ - source-code-pro - liberation_ttf - ]; + fonts = { + enableFontDir = true; + fonts = with pkgs; [ + source-code-pro + liberation_ttf + font-awesome-ttf + ]; + }; nixpkgs.config = { allowUnfree = true; @@ -172,23 +179,29 @@ services.teamviewer.enable = true; # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 88 8443 111 1039 1047 1048 2049 ]; - networking.firewall.allowedUDPPorts = [ 111 1039 1047 1048 2049 ]; + networking.firewall.allowedTCPPorts = [ 88 8443 111 2049 ]; + networking.firewall.allowedUDPPorts = [ 111 2049 ]; # Or disable the firewall altogether. - networking.firewall.enable = true; + #networking.firewall.enable = false; # Enable CUPS to print documents. services.printing.enable = true; services.printing.drivers = [ pkgs.splix ]; services.mongodb.enable = true; + services.postgresql = { + enable = true; + ensureUsers = [ + { + name = "nnm"; + } + ]; + }; # keyring - services.gnome3.gnome-keyring.enable = true; - services.gnome3.seahorse.enable = true; - services.gnome3.at-spi2-core.enable = true; - - #programs.sway.enable = true; + #services.gnome3.gnome-keyring.enable = true; + #services.gnome3.seahorse.enable = true; + #services.gnome3.at-spi2-core.enable = true; # Enable the X11 windowing system. services.xserver.enable = true; @@ -201,34 +214,34 @@ services.xserver.displayManager.lightdm.enable = true; services.xserver.windowManager.i3.enable = true; + virtualisation.docker.enable = true; + + virtualisation.virtualbox.host.enable = true; + users.extraGroups.vboxusers.members = [ "nnm" ]; + sound.enable = true; hardware.pulseaudio.enable = true; + environment.pathsToLink = [ "/share" ]; + # Define a user account. Don't forget to set a password with ‘passwd’. users.extraUsers.nnm = { isNormalUser = true; uid = 1000; shell = pkgs.fish; - extraGroups = ["audio" "networkmanager" "wireshark" "vboxusers" "wheel"]; + extraGroups = ["audio" "networkmanager" "wireshark" "wheel" "docker"]; }; - #fileSystems."/export/development" = { - # device = "/home/nnm/development"; - # options = [ "bind" ]; - #}; - - fileSystems."/mnt/Downloads-pc" = { - device = "192.168.1.2:/Downloads"; + fileSystems."/mnt/pkcloud-export" = { + device = "192.168.1.5:/"; fsType = "nfs"; - options = ["x-systemd.automount,noauto"]; + options = [ "x-systemd.automount" "noauto" "user" ]; }; - # NFS server - #services.nfs.server.enable = true; - #services.nfs.server.exports = '' - # /export 192.168.1.2(rw,fsid=0,no_subtree_check) - # /export/development 192.168.1.2(rw,nohide,insecure,no_subtree_check) - #''; + security.wrappers = { + "mount.nfs".source = "${pkgs.nfs-utils.out}/bin/mount.nfs"; + "umount.nfs".source = "${pkgs.nfs-utils.out}/bin/umount.nfs"; + }; #virtualisation.virtualbox.host.enable = true; #virtualisation.virtualbox.host.enableExtensionPack = true; @@ -237,5 +250,5 @@ # 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? + system.stateVersion = "19.09"; # Did you read the comment? }