Fully migrate kardorf config
This commit is contained in:
parent
aaa2f73332
commit
341d1cbb4b
76
flake.lock
generated
76
flake.lock
generated
@ -17,6 +17,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1650374568,
|
"lastModified": 1650374568,
|
||||||
@ -89,29 +105,46 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-matlab": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710601327,
|
||||||
|
"narHash": "sha256-FlRF4T6I2m9WNg1+RVtZtes/nkB+awqdZCMHIPcM78A=",
|
||||||
|
"owner": "doronbehar",
|
||||||
|
"repo": "nix-matlab",
|
||||||
|
"rev": "080c763aec689b3b9f9be11913b2988efbe286f1",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "doronbehar",
|
||||||
|
"repo": "nix-matlab",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710420202,
|
"lastModified": 1710534455,
|
||||||
"narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=",
|
"narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da",
|
"rev": "9af9c1c87ed3e3ed271934cb896e0cdd33dae212",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-23.11",
|
"type": "indirect"
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710272261,
|
"lastModified": 1710451336,
|
||||||
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
|
"narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
|
"rev": "d691274a972b3165335d261cc4671335f5c67de9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -121,18 +154,35 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710565619,
|
||||||
|
"narHash": "sha256-xu/EnZCNdIj7m/QjCNIG5vrCA4TYg5uwFReb9XDxET0=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "8ac30a39abc5ea67037dfbf090d6e89f187c6e50",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"alacritty-theme": "alacritty-theme",
|
"alacritty-theme": "alacritty-theme",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nix-matlab": "nix-matlab",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"snowfall-lib": "snowfall-lib"
|
"snowfall-lib": "snowfall-lib"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"snowfall-lib": {
|
"snowfall-lib": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-utils-plus": "flake-utils-plus",
|
"flake-utils-plus": "flake-utils-plus",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
13
flake.nix
13
flake.nix
@ -19,6 +19,8 @@
|
|||||||
url = "github:alacritty/alacritty-theme";
|
url = "github:alacritty/alacritty-theme";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs:
|
||||||
@ -39,14 +41,25 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Add overlays for the `nixpkgs` channel.
|
||||||
|
overlays = with inputs; [
|
||||||
|
nix-matlab.overlay
|
||||||
|
# my-inputs.overlays.my-overlay
|
||||||
|
# TODO: add unstable here
|
||||||
|
];
|
||||||
|
|
||||||
# The attribute set specified here will be passed directly to NixPkgs when
|
# The attribute set specified here will be passed directly to NixPkgs when
|
||||||
# instantiating the package set.
|
# instantiating the package set.
|
||||||
channels-config = {
|
channels-config = {
|
||||||
# Allow unfree packages.
|
# Allow unfree packages.
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
nvidia.acceptLicense = true;
|
||||||
|
|
||||||
# Allow certain insecure packages
|
# Allow certain insecure packages
|
||||||
# permittedInsecurePackages = [ "firefox-100.0.0" ];
|
# permittedInsecurePackages = [ "firefox-100.0.0" ];
|
||||||
|
# permittedInsecurePackages = [ "electron-24.8.6" ];
|
||||||
|
permittedInsecurePackages = [ "schildichat-web-1.11.30-sc.2" "electron-25.9.0" ];
|
||||||
|
|
||||||
# Additional configuration for specific packages.
|
# Additional configuration for specific packages.
|
||||||
config = {
|
config = {
|
||||||
|
120
homes/x86_64-linux/julian@kardorf/default.nix
Normal file
120
homes/x86_64-linux/julian@kardorf/default.nix
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||||
|
# as well as the libraries available from your flake's inputs.
|
||||||
|
lib,
|
||||||
|
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||||
|
pkgs,
|
||||||
|
# You also have access to your flake's inputs.
|
||||||
|
inputs,
|
||||||
|
|
||||||
|
# Additional metadata is provided by Snowfall Lib.
|
||||||
|
home, # The home architecture for this host (eg. `x86_64-linux`).
|
||||||
|
target, # The Snowfall Lib target for this home (eg. `x86_64-home`).
|
||||||
|
format, # A normalized name for the home target (eg. `home`).
|
||||||
|
virtual
|
||||||
|
, # A boolean to determine whether this home is a virtual target using nixos-generators.
|
||||||
|
host, # The host name for this home.
|
||||||
|
|
||||||
|
# All other arguments come from the home home.
|
||||||
|
config, ... }: {
|
||||||
|
home.username = "julian";
|
||||||
|
home.homeDirectory = "/home/julian";
|
||||||
|
|
||||||
|
# DO NOT CHANGE!!!
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
|
modules = {
|
||||||
|
shell = {
|
||||||
|
zsh.enable = true;
|
||||||
|
direnv.enable = true;
|
||||||
|
};
|
||||||
|
topgrade.enable = true;
|
||||||
|
neovim.enable = true;
|
||||||
|
alacritty.enable = true;
|
||||||
|
emacs.enable = true;
|
||||||
|
i3 = {
|
||||||
|
enable = true;
|
||||||
|
config-file = ../../../modules/home/i3/i3/config-kardorf;
|
||||||
|
};
|
||||||
|
rofi.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Code formatters for use with doom emacs
|
||||||
|
nixfmt # nix
|
||||||
|
dockfmt # docker
|
||||||
|
google-java-format # java
|
||||||
|
|
||||||
|
# Lsps for use with doom emacs
|
||||||
|
# neocmakelsp # cmake
|
||||||
|
|
||||||
|
# Rust setup
|
||||||
|
rustc
|
||||||
|
rustfmt
|
||||||
|
cargo
|
||||||
|
clippy
|
||||||
|
rust-analyzer
|
||||||
|
|
||||||
|
# Further tools
|
||||||
|
|
||||||
|
(lib.frajul.my-helper-function lazygit)
|
||||||
|
languagetool
|
||||||
|
|
||||||
|
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||||
|
|
||||||
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
|
# echo "Hello, ${config.home.username}!"
|
||||||
|
# '')
|
||||||
|
|
||||||
|
## My scripts
|
||||||
|
pkgs.frajul.deploy-to-pianopi
|
||||||
|
pkgs.frajul.edit-config
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy.
|
||||||
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager can also manage your environment variables through
|
||||||
|
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||||
|
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||||
|
# either
|
||||||
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
|
# or
|
||||||
|
# /etc/profiles/per-user/julian/etc/profile.d/hm-session-vars.sh
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
theme.name = "Adwaita-dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.shellAliases = {
|
||||||
|
g = "git status";
|
||||||
|
fd = "fd -HI";
|
||||||
|
ls = "ls --color";
|
||||||
|
la = "ls -Alh --color";
|
||||||
|
grep = "grep --color";
|
||||||
|
conf = "edit-config";
|
||||||
|
c = "fzf-z";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
TERMINAL = "alacritty";
|
||||||
|
EDITOR = "nvim";
|
||||||
|
VISUAL = "nvim";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
@ -22,17 +22,25 @@ with lib;
|
|||||||
|
|
||||||
let cfg = config.modules.i3;
|
let cfg = config.modules.i3;
|
||||||
in {
|
in {
|
||||||
options.modules.i3 = { enable = mkOption { default = false; }; };
|
options.modules.i3 = {
|
||||||
|
enable = mkOption { default = false; };
|
||||||
|
config-file = mkOption { default = ./i3/config; };
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
xsession.windowManager.i3 = { enable = true; };
|
|
||||||
programs = { i3status-rust = { enable = true; }; };
|
programs = { i3status-rust = { enable = true; }; };
|
||||||
|
xsession.windowManager.i3 = { enable = true; };
|
||||||
|
|
||||||
|
# Overwrite default home-manager config file
|
||||||
|
xdg.configFile."i3/config".source = lib.mkForce cfg.config-file;
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/i3" = {
|
".config/i3/scripts" = {
|
||||||
source = ./i3;
|
source = ./i3/scripts;
|
||||||
recursive = false;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
".config/i3/workspace-messaging.json".source =
|
||||||
|
./i3/workspace-chat-schildi-tele-rocket.json;
|
||||||
".config/i3status-rust/config.toml".source = ./i3status-rust/config.toml;
|
".config/i3status-rust/config.toml".source = ./i3status-rust/config.toml;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
315
modules/home/i3/i3/config-kardorf
Normal file
315
modules/home/i3/i3/config-kardorf
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
set $scripts ~/.config/i3/scripts
|
||||||
|
set $lock "i3lock --ignore-empty-password --color=000000"
|
||||||
|
|
||||||
|
# Font for window titles
|
||||||
|
font pango:FuraCode Nerd Font 12
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use $lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- $lock --nofork
|
||||||
|
|
||||||
|
# Screen brightness controls
|
||||||
|
# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
|
||||||
|
# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
# set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
set $refresh_i3blocks pkill -RTMIN+1 i3blocks
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3blocks
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3blocks
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3blocks
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3blocks
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec alacritty
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
bindsym $mod+x kill
|
||||||
|
|
||||||
|
# Simulates alt+f4
|
||||||
|
bindsym Mod1+F4 kill
|
||||||
|
|
||||||
|
# start program launcher
|
||||||
|
bindsym $mod+d exec rofi -show run
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l 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+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l 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 / vertical orientation
|
||||||
|
bindsym $mod+Shift+v split h
|
||||||
|
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+Shift+w 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
|
||||||
|
|
||||||
|
# The middle button over a titlebar kills the window
|
||||||
|
bindsym --release button2 kill
|
||||||
|
|
||||||
|
# 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 number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Ctrl+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Ctrl+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace and follow
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1; workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2; workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3; workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4; workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5; workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6; workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7; workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8; workspace $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9; workspace $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10; workspace $ws10
|
||||||
|
|
||||||
|
# Monitor config
|
||||||
|
set $monitor_left "DVI-D-0"
|
||||||
|
set $monitor_right "DVI-D-1"
|
||||||
|
|
||||||
|
workspace $ws1 output $monitor_left
|
||||||
|
workspace $ws2 output $monitor_left
|
||||||
|
workspace $ws3 output $monitor_left
|
||||||
|
workspace $ws4 output $monitor_left
|
||||||
|
workspace $ws5 output $monitor_left
|
||||||
|
workspace $ws6 output $monitor_right
|
||||||
|
workspace $ws7 output $monitor_right
|
||||||
|
workspace $ws8 output $monitor_right
|
||||||
|
workspace $ws9 output $monitor_right
|
||||||
|
workspace $ws10 output $monitor_right
|
||||||
|
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# 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 h resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym j resize grow height 10 px or 10 ppt
|
||||||
|
bindsym k resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym l 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"
|
||||||
|
|
||||||
|
bar {
|
||||||
|
font pango:DejaVu Sans Mono, Font Awesome 15
|
||||||
|
status_command i3status-rs
|
||||||
|
position bottom
|
||||||
|
|
||||||
|
tray_output DVI-D-0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym l exec --no-startup-id $lock, mode "default"
|
||||||
|
bindsym e exec --no-startup-id i3-msg exit, mode "default" # logout
|
||||||
|
bindsym r exec --no-startup-id systemctl reboot, mode "default"
|
||||||
|
bindsym s exec --no-startup-id systemctl poweroff, mode "default"
|
||||||
|
bindsym h exec --no-startup-id $lock && systemctl hibernate, mode "default"
|
||||||
|
bindsym Shift+s exec --no-startup-id $lock && systemctl suspend, mode "default"
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+Shift+e mode "$mode_system"
|
||||||
|
|
||||||
|
bindsym $mod+Tab exec --no-startup-id $lock
|
||||||
|
|
||||||
|
bindsym $mod+Print exec --no-startup-id "xfce4-screenshooter"
|
||||||
|
|
||||||
|
bindsym $mod+c exec qalculate-gtk
|
||||||
|
bindsym $mod+Shift+p exec xwacomcalibrate
|
||||||
|
bindsym $mod+e exec thunar
|
||||||
|
bindsym $mod+Shift+c exec $scripts/jupyter-calculator
|
||||||
|
bindsym $mod+b exec firefox
|
||||||
|
bindsym $mod+u exec pamac-manager
|
||||||
|
bindsym $mod+p exec $scripts/display-toggle-mirror
|
||||||
|
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
|
||||||
|
# default_border pixel
|
||||||
|
default_border normal
|
||||||
|
default_floating_border normal
|
||||||
|
hide_edge_borders smart
|
||||||
|
|
||||||
|
show_marks no
|
||||||
|
|
||||||
|
# switch to workspace with urgent window automatically
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
focus_on_window_activation focus
|
||||||
|
|
||||||
|
assign [class="firefox" title="Mozilla Firefox$"] workspace $ws1
|
||||||
|
assign [class="TelegramDesktop"] workspace $ws9
|
||||||
|
assign [class="Signal"] workspace $ws9
|
||||||
|
assign [class="Rocket.Chat"] workspace $ws9
|
||||||
|
assign [class="Element"] workspace $ws9
|
||||||
|
assign [class="SchildiChat"] workspace $ws9
|
||||||
|
assign [class="thunderbird"] workspace $ws10
|
||||||
|
assign [class="zoom"] workspace $ws5
|
||||||
|
assign [class="Zotero"] workspace $ws8
|
||||||
|
|
||||||
|
for_window [class="firefox" urgent="latest"] focus
|
||||||
|
|
||||||
|
for_window [title="Manjaro Settings Manager"] floating enable
|
||||||
|
for_window [class="pamac-manager"] floating enable
|
||||||
|
for_window [class="Pamac-updater"] floating enable
|
||||||
|
for_window [class="Qalculate-gtk"] floating enable
|
||||||
|
for_window [class="Gcolor3"] floating enable
|
||||||
|
#for_window [class="zoom" title="Chat"] floating enable
|
||||||
|
#for_window [class="Thunderbird" instance="Msgcompose"] floating enable
|
||||||
|
#
|
||||||
|
for_window [window_role=floating] floating enable
|
||||||
|
|
||||||
|
for_window [class="Viewnior"] border normal
|
||||||
|
|
||||||
|
########## Autostart applications ##########
|
||||||
|
exec firefox
|
||||||
|
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
exec --no-startup-id blueman-applet
|
||||||
|
exec --no-startup-id xfce4-power-manager
|
||||||
|
exec --no-startup-id nextcloud --background
|
||||||
|
# exec --no-startup-id xfce4-screensaver
|
||||||
|
# exec --no-startup-id /usr/bin/emacs --daemon
|
||||||
|
|
||||||
|
# Authentication agent
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
exec --no-startup-id /usr/bin/env gnome-keyring-daemon --start
|
||||||
|
|
||||||
|
# Notify about software updates
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
exec --no-startup-id clipit
|
||||||
|
# exec --no-startup-id xfce4-clipman
|
||||||
|
|
||||||
|
# Notify about kernel updates
|
||||||
|
exec --no-startup-id msm_notifier
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
exec --no-startup-id start-pulseaudio-x11
|
||||||
|
exec --no-startup-id pa-applet
|
||||||
|
|
||||||
|
# Background
|
||||||
|
exec --no-startup-id nitrogen --restore
|
||||||
|
|
||||||
|
# Adjust display temperature
|
||||||
|
exec --no-startup-id redshift
|
||||||
|
|
||||||
|
# Notifications
|
||||||
|
exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd
|
||||||
|
|
||||||
|
# exec --no-startup-id xautolock -time 10 -locker blurlock
|
||||||
|
exec_always --no-startup-id ff-theme-util
|
||||||
|
exec_always --no-startup-id fix_xcursor
|
||||||
|
|
||||||
|
exec_always --no-startup-id "$scripts/display-layoutpicker"
|
||||||
|
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### settings for i3-gaps: ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# Set inner/outer gaps
|
||||||
|
gaps inner 8
|
||||||
|
gaps outer -2
|
||||||
|
|
||||||
|
# Smart gaps (gaps used if only more than one container on the workspace)
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||||
|
smart_borders on
|
@ -18,7 +18,7 @@ start_program()
|
|||||||
$program & > /dev/null
|
$program & > /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
i3-msg 'workspace 9; append_layout ~/.config/i3/workspace-chat-schildi-tele-rocket.json'
|
i3-msg 'workspace 9; append_layout ~/.config/i3/workspace-messaging.json'
|
||||||
start_program chat.schildi.desktop
|
start_program chat.schildi.desktop
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
start_program telegram-desktop
|
start_program telegram-desktop
|
||||||
|
@ -33,7 +33,7 @@ in {
|
|||||||
misc.assume_yes = true;
|
misc.assume_yes = true;
|
||||||
misc.no_retry = true;
|
misc.no_retry = true;
|
||||||
|
|
||||||
pre_commands."Update dotfiles flake" = "home-update-flake";
|
# pre_commands."Update dotfiles flake" = "home-update-flake";
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
# Additional git repositories to pull
|
# Additional git repositories to pull
|
||||||
|
@ -8,16 +8,8 @@ let python-packages = ps: with ps; [ ];
|
|||||||
in rec {
|
in rec {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
extraSpecialArgs = { inherit inputs; };
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users.julian = import ./home.nix;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.buildMachines = [{
|
nix.buildMachines = [{
|
||||||
hostName = "192.168.3.118";
|
hostName = "192.168.3.118";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@ -42,7 +34,7 @@ in rec {
|
|||||||
|
|
||||||
boot.supportedFilesystems = [ "btrfs" "ntfs" "nfs" "cifs" ];
|
boot.supportedFilesystems = [ "btrfs" "ntfs" "nfs" "cifs" ];
|
||||||
|
|
||||||
networking.hostName = "nixos"; # Define your hostname.
|
networking.hostName = "kardorf"; # Define your hostname.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
@ -199,11 +191,6 @@ in rec {
|
|||||||
# extraGroups = [ "networkmanager" "wheel" ];
|
# extraGroups = [ "networkmanager" "wheel" ];
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
nixpkgs.config.nvidia.acceptLicense = true;
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [ "electron-24.8.6" ];
|
|
||||||
|
|
||||||
environment.etc."manual-links/xfce4-notifyd".source =
|
environment.etc."manual-links/xfce4-notifyd".source =
|
||||||
"${pkgs.xfce.xfce4-notifyd}/lib/xfce4/notifyd/xfce4-notifyd";
|
"${pkgs.xfce.xfce4-notifyd}/lib/xfce4/notifyd/xfce4-notifyd";
|
||||||
environment.etc."manual-links/polkit-gnome-authentication-agent-1".source =
|
environment.etc."manual-links/polkit-gnome-authentication-agent-1".source =
|
||||||
@ -385,11 +372,11 @@ in rec {
|
|||||||
colmapWithCuda
|
colmapWithCuda
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
# nixpkgs.overlays = [
|
||||||
(self: super: {
|
# (self: super: {
|
||||||
nix-direnv = super.nix-direnv.override { enableFlakes = true; };
|
# nix-direnv = super.nix-direnv.override { enableFlakes = true; };
|
||||||
})
|
# })
|
||||||
];
|
#];
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
fonts.fonts = with pkgs; [
|
||||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
Loading…
x
Reference in New Issue
Block a user