Compare commits
No commits in common. "e94d66e9b257c9bb92977297a0aefffb558735a5" and "bbeab9d1239b0de8985551b462e20a45c2d75291" have entirely different histories.
e94d66e9b2
...
bbeab9d123
14
flake.lock
14
flake.lock
|
|
@ -40,11 +40,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735053786,
|
"lastModified": 1733754861,
|
||||||
"narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=",
|
"narHash": "sha256-3JKzIou54yjiMVmvgdJwopekEvZxX3JDT8DpKZs4oXY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84",
|
"rev": "9ebaa80a227eaca9c87c53ed515ade013bc2bca9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
"narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=",
|
"narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=",
|
||||||
"rev": "f19bd752910bbe3a861c9cad269bd078689d50fe",
|
"rev": "f19bd752910bbe3a861c9cad269bd078689d50fe",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz?rev=f19bd752910bbe3a861c9cad269bd078689d50fe"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
|
|
@ -90,11 +90,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734649271,
|
"lastModified": 1733581040,
|
||||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,6 @@
|
||||||
|
|
||||||
# Select internationalization properties.
|
# Select internationalization properties.
|
||||||
i18n.defaultLocale = "fr_CA.UTF-8";
|
i18n.defaultLocale = "fr_CA.UTF-8";
|
||||||
i18n.supportedLocales = [
|
|
||||||
"en_CA.UTF-8/UTF-8"
|
|
||||||
"fr_CA.UTF-8/UTF-8"
|
|
||||||
];
|
|
||||||
console = {
|
console = {
|
||||||
font = "Lat2-Terminus16";
|
font = "Lat2-Terminus16";
|
||||||
keyMap = "us";
|
keyMap = "us";
|
||||||
|
|
@ -162,22 +158,12 @@
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# neovim
|
# neovim
|
||||||
greetd.tuigreet
|
|
||||||
ntfs3g
|
ntfs3g
|
||||||
kakoune
|
kakoune
|
||||||
git
|
git
|
||||||
gay # very important, do not remove
|
gay # very important, do not remove
|
||||||
];
|
];
|
||||||
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
default_session = {
|
|
||||||
command = "${pkgs.lib.getExe pkgs.greetd.tuigreet} --cmd 'zsh -c sway'";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Add Steam, which cannot be installed through home manager (boo!)
|
# Add Steam, which cannot be installed through home manager (boo!)
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ rec {
|
||||||
../../snippets/zsh.nix
|
../../snippets/zsh.nix
|
||||||
../../snippets/taskwarrior.nix
|
../../snippets/taskwarrior.nix
|
||||||
../../snippets/kakoune.nix
|
../../snippets/kakoune.nix
|
||||||
../../snippets/emacs.nix
|
|
||||||
../../snippets/clifm.nix
|
../../snippets/clifm.nix
|
||||||
../../snippets/git.nix
|
../../snippets/git.nix
|
||||||
../../snippets/sway.nix
|
../../snippets/sway.nix
|
||||||
|
|
@ -55,16 +54,34 @@ rec {
|
||||||
# Install packages
|
# Install packages
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
let
|
let
|
||||||
|
mons = callPackage ../../pkgs/mons/mons.nix { };
|
||||||
archivo = callPackage ../../pkgs/archivo/archivo.nix { };
|
archivo = callPackage ../../pkgs/archivo/archivo.nix { };
|
||||||
nunito = callPackage ../../pkgs/nunito/nunito.nix { };
|
|
||||||
highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { };
|
highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { };
|
||||||
olympus = callPackage ../../pkgs/olympus/package.nix { };
|
olympus = callPackage ../../pkgs/olympus/package.nix { };
|
||||||
kakmerge = callPackage ../../pkgs/kakmerge/kakmerge.nix { };
|
kakmerge = callPackage ../../pkgs/kakmerge/kakmerge.nix { };
|
||||||
# xdg-terminal-exec = callPackage ../../pkgs/xdg-terminal-exec/xdg-terminal-exec.nix { };
|
# xdg-terminal-exec = callPackage ../../pkgs/xdg-terminal-exec/xdg-terminal-exec.nix { };
|
||||||
in
|
in [ gcc tree-sitter rustup ] ++ # Basic dev tools
|
||||||
[ marksman nil ] ++ # Language servers except those installed through package sections
|
[ marksman nil ] ++ # Language servers except those installed through package sections
|
||||||
[ texliveFull texlab ] ++ # LaTeX
|
[ texliveFull texlab ] ++ # LaTeX
|
||||||
|
# (with ocamlPackages; [
|
||||||
|
# ocaml
|
||||||
|
# opam
|
||||||
|
# dune_3
|
||||||
|
# dune-release
|
||||||
|
# merlin
|
||||||
|
# ocaml-lsp
|
||||||
|
# odoc
|
||||||
|
# ocamlformat
|
||||||
|
# utop
|
||||||
|
# ]) ++ # OCaml
|
||||||
|
# [ rustup ] ++ # Rust
|
||||||
|
# [ go gopls ] ++ # Golang
|
||||||
|
# (with elmPackages; [ elm elm-language-server elm-format elm-test ]) ++
|
||||||
|
[ (python3.withPackages (ppkgs: with ppkgs;[
|
||||||
|
pyyaml python-lsp-server
|
||||||
|
])) ] ++ # I guess.....
|
||||||
[
|
[
|
||||||
|
kak-lsp
|
||||||
brightnessctl
|
brightnessctl
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
|
|
@ -73,44 +90,41 @@ rec {
|
||||||
upower
|
upower
|
||||||
glib # provides trash and mount (latter may supplant udisks2?)
|
glib # provides trash and mount (latter may supplant udisks2?)
|
||||||
xdg-terminal-exec
|
xdg-terminal-exec
|
||||||
nwg-displays
|
|
||||||
kalker
|
|
||||||
] ++ # Basic utilities
|
] ++ # Basic utilities
|
||||||
[ bitwarden-cli htop snore hledger hledger-ui ]
|
[ bitwarden-cli htop snore hledger hledger-ui ]
|
||||||
++ # Personalized selection of command-line (CLI/TUI) apps
|
++ # Personalized selection of command-line (CLI/TUI) apps
|
||||||
[ defaultPrograms.terminal ] ++ # Terminal emulator
|
[ defaultPrograms.terminal ] ++ # Terminal emulator
|
||||||
[
|
[
|
||||||
|
evince
|
||||||
imv
|
imv
|
||||||
vlc
|
vlc
|
||||||
pavucontrol
|
pavucontrol
|
||||||
font-manager
|
|
||||||
] ++ # Basic graphical apps
|
] ++ # Basic graphical apps
|
||||||
[
|
[
|
||||||
libreoffice
|
libreoffice
|
||||||
geary
|
|
||||||
signal-desktop
|
signal-desktop
|
||||||
element-desktop
|
element-desktop
|
||||||
prismlauncher
|
prismlauncher
|
||||||
mumble
|
mumble
|
||||||
gimp
|
gimp
|
||||||
inkscape
|
inkscape
|
||||||
deluge-gtk # Client BitTorrent
|
deluge-gtk
|
||||||
shotwell
|
shotwell
|
||||||
lorien
|
lorien
|
||||||
keepassxc
|
keepassxc
|
||||||
zulip
|
zulip
|
||||||
filezilla
|
filezilla
|
||||||
bitwarden
|
bitwarden
|
||||||
|
josm
|
||||||
activate-linux
|
activate-linux
|
||||||
remmina
|
|
||||||
] ++ # Personalized selection of graphical apps
|
] ++ # Personalized selection of graphical apps
|
||||||
[
|
[
|
||||||
olympus
|
olympus
|
||||||
shticker-book-unwritten
|
shticker-book-unwritten
|
||||||
] ++ # Games
|
] ++ # Games
|
||||||
|
[ swaybg bemenu j4-dmenu-desktop ] ++ # Sway- and Wayland-related packages
|
||||||
[
|
[
|
||||||
noto-fonts
|
noto-fonts
|
||||||
inter
|
|
||||||
redhat-official-fonts
|
redhat-official-fonts
|
||||||
overpass
|
overpass
|
||||||
ibm-plex
|
ibm-plex
|
||||||
|
|
@ -118,22 +132,28 @@ rec {
|
||||||
archivo
|
archivo
|
||||||
highway-gothic
|
highway-gothic
|
||||||
merriweather-sans
|
merriweather-sans
|
||||||
paratype-pt-sans
|
|
||||||
paratype-pt-serif
|
paratype-pt-serif
|
||||||
libertinus
|
libertinus
|
||||||
roboto
|
roboto
|
||||||
lato
|
font-awesome
|
||||||
merriweather
|
|
||||||
openmoji-black
|
|
||||||
openmoji-color
|
|
||||||
] ++ # Fonts
|
] ++ # Fonts
|
||||||
# [ papirus-icon-theme ] ++ # Icons
|
# [ papirus-icon-theme ] ++ # Icons
|
||||||
# [ vanilla-dmz ] ++ # Cursor
|
# [ vanilla-dmz ] ++ # Cursor
|
||||||
[ kakmerge qgo gnugo hunspell hunspellDicts.fr-any hunspellDicts.fr-moderne hunspellDicts.fr-classique ] ++ # Temp
|
[ kakmerge jetbrains.idea-community ] ++ # Temp
|
||||||
[ ];
|
[ ];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
# programs.git = {
|
||||||
|
# enable = true;
|
||||||
|
# userName = "vorboyvo";
|
||||||
|
# userEmail = "mrsirofvibe@outlook.com";
|
||||||
|
# extraConfig = {
|
||||||
|
# init.defaultBranch = "main";
|
||||||
|
# core.editor = "kak";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = { font-size = 14; };
|
settings = { font-size = 14; };
|
||||||
|
|
@ -153,15 +173,9 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
# configure fonts correctly
|
# configure fonts correctly
|
||||||
fonts.fontconfig = {
|
fonts.fontconfig.enable = true;
|
||||||
enable = true;
|
xdg.configFile."fontconfig/conf.d/20-default.fonts.conf".source =
|
||||||
defaultFonts = {
|
../../extra/20-default-fonts.conf;
|
||||||
sansSerif = [ "Rubik" "Noto Sans" "DejaVu Sans" ];
|
|
||||||
serif = [ "Noto Serif" "DejaVu Serif" ];
|
|
||||||
monospace = [ "Noto Mono" ];
|
|
||||||
emoji = [ "OpenMoji" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# terminal emulator
|
# terminal emulator
|
||||||
programs.alacritty.enable = true;
|
programs.alacritty.enable = true;
|
||||||
|
|
@ -205,7 +219,7 @@ rec {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
font = "Rubik 12";
|
font = "Red Hat Display 12";
|
||||||
mouse_left_click = "do_action, close_current";
|
mouse_left_click = "do_action, close_current";
|
||||||
mouse_middle_click = "close_all";
|
mouse_middle_click = "close_all";
|
||||||
mouse_right_click = "close_current";
|
mouse_right_click = "close_current";
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710470187,
|
|
||||||
"narHash": "sha256-l2R47RqhdEUYrMrQjdFKhxtqprkJjIE89qJx3iEVv+U=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "f242fc768bdfcf91d9094a8a8f66551324bf1a47",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{
|
|
||||||
description = "Flake containing Nunito font";
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs }: {
|
|
||||||
|
|
||||||
packages.x86_64-linux.nunito =
|
|
||||||
let pkgs = import nixpkgs { system = "x86_64-linux"; };
|
|
||||||
in pkgs.callPackage ./nunito.nix {};
|
|
||||||
|
|
||||||
packages.x86_64-linux.default = self.packages.x86_64-linux.nunito;
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
{ pkgs }:
|
|
||||||
with pkgs;
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "archivo";
|
|
||||||
version = "43d16f9";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "googlefonts";
|
|
||||||
repo = "nunito";
|
|
||||||
rev = version;
|
|
||||||
hash = "sha256-yZ+pPLcgyWRa8i3cn1SwJUskBzUl1na2mndhok1mMok=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# sourceRoot = "fonts/ttf";
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/fonts/truetype
|
|
||||||
cp -a fonts/variable/*.ttf $out/share/fonts/truetype
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +1,19 @@
|
||||||
{lib, pkgs, ...}:
|
{pkgs, ...}:
|
||||||
let
|
let
|
||||||
overlay = (final: prev: {
|
overlay = (final: prev: {
|
||||||
clifm = prev.clifm.overrideAttrs (old: {
|
clifm = prev.clifm.overrideAttrs (old: {
|
||||||
version = "1.23";
|
version = "1.22.2";
|
||||||
src = prev.fetchFromGitHub {
|
src = prev.fetchFromGitHub {
|
||||||
owner = "leo-arch";
|
owner = "leo-arch";
|
||||||
repo = prev.clifm.pname;
|
repo = prev.clifm.pname;
|
||||||
rev = "v1.23";
|
rev = "bc619e7";
|
||||||
hash = "sha256-FtlLz77yy/QfRyAhJSh5juCSPCZ921sTGhuYJzCusus=";
|
hash = "sha256-mc1QdTygOBq+R90QT6pabpLZN5/Xw0gVy62CyhxKpfw=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
file_picker = pkgs.writeScriptBin "file_picker" (builtins.readFile "${pkgs.clifm}/share/clifm/plugins/file_picker.sh");
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs.extend overlay; [ atool fzf xdragon unzip zip sshfs clifm ]
|
home.packages = with pkgs.extend overlay; [ atool fzf xdragon unzip zip sshfs clifm ];
|
||||||
++ [ file_picker ];
|
|
||||||
xdg.configFile."clifm/profiles/default/clifmrc".source = ./clifm/clifmrc;
|
xdg.configFile."clifm/profiles/default/clifmrc".source = ./clifm/clifmrc;
|
||||||
xdg.configFile."clifm/profiles/default/mimelist.clifm".source = ./clifm/mimelist.clifm;
|
xdg.configFile."clifm/profiles/default/mimelist.clifm".source = ./clifm/mimelist.clifm;
|
||||||
home.sessionVariables = {
|
|
||||||
CLIFM_TERM = "alacritty"; # TODO UNHARDCODE THIS
|
|
||||||
CLIFM_TEMPLATES_DIR = "$HOME/Modèles";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@
|
||||||
# >1: Run the pager whenever the amount of files in the current directory is
|
# >1: Run the pager whenever the amount of files in the current directory is
|
||||||
# greater than or equal to this value (say, 1000).
|
# greater than or equal to this value (say, 1000).
|
||||||
;Pager=0
|
;Pager=0
|
||||||
Pager=0
|
Pager=60
|
||||||
|
|
||||||
# How to list files in the pager. Possible values:
|
# How to list files in the pager. Possible values:
|
||||||
# auto: use the current listing mode
|
# auto: use the current listing mode
|
||||||
|
|
@ -175,7 +175,8 @@ LongViewMode=true
|
||||||
# If running in long mode, this setting is overriden by MinFilenameTrim
|
# If running in long mode, this setting is overriden by MinFilenameTrim
|
||||||
# whenever MaxFilenameLen is smaller than MinFilenameTrim.
|
# whenever MaxFilenameLen is smaller than MinFilenameTrim.
|
||||||
;MaxFilenameLen=20
|
;MaxFilenameLen=20
|
||||||
MaxFilenameLen=-1
|
;MaxFilenameLen=-1
|
||||||
|
MaxFilenameLen=100
|
||||||
|
|
||||||
# Trim file names longer than MaxFilenameLen.
|
# Trim file names longer than MaxFilenameLen.
|
||||||
;TrimNames=true
|
;TrimNames=true
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.emacs = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -42,16 +42,15 @@
|
||||||
option = "filetype=markdown";
|
option = "filetype=markdown";
|
||||||
commands = "set-option window lintcmd \"proselint\"";
|
commands = "set-option window lintcmd \"proselint\"";
|
||||||
}
|
}
|
||||||
{
|
# {
|
||||||
name = "BufSetOption";
|
# name = "BufSetOption";
|
||||||
option = "filetype=markdown";
|
# option = "filetype=markdown";
|
||||||
commands = "hook buffer BufWritePost .* %{ echo %sh{ pandoc -o \"\${kak_buffile%.md}.pdf\" \"$kak_buffile\" 2>&1 } }";
|
# commands = ''
|
||||||
}
|
# hook buffer BufWritePost .* %{ %sh{
|
||||||
{
|
#
|
||||||
name = "BufCreate";
|
# } };
|
||||||
option = ".*\.Rmd";
|
# '';
|
||||||
commands = "hook buffer BufWritePost .* %{ nop %sh{ Rscript -e \"rmarkdown::render(\\\"$kak_buffile\\\", 'pdf_document')\" } }";
|
# }
|
||||||
}
|
|
||||||
];
|
];
|
||||||
keyMappings = [
|
keyMappings = [
|
||||||
# Define select all
|
# Define select all
|
||||||
|
|
@ -61,10 +60,25 @@
|
||||||
effect = "*%s<ret>";
|
effect = "*%s<ret>";
|
||||||
docstring = "Select all";
|
docstring = "Select all";
|
||||||
}
|
}
|
||||||
|
# Define usermode yank/copy and paste
|
||||||
|
{
|
||||||
|
key = "y";
|
||||||
|
mode = "user";
|
||||||
|
effect = "<a-|> wl-copy<ret>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "p";
|
||||||
|
mode = "user";
|
||||||
|
effect = "<a-!> wl-paste -n<ret>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "P";
|
||||||
|
mode = "user";
|
||||||
|
effect = "! wl-paste -n<ret>";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
# highlight trailing whitespace
|
# highlight trailing whitespace
|
||||||
add-highlighter global/trailing-whitespace regex '\h+$' 0:Error
|
add-highlighter global/trailing-whitespace regex '\h+$' 0:Error
|
||||||
|
|
||||||
|
|
@ -79,23 +93,9 @@
|
||||||
|
|
||||||
eval %sh{kak-lsp --kakoune -s $kak_session}
|
eval %sh{kak-lsp --kakoune -s $kak_session}
|
||||||
lsp-enable
|
lsp-enable
|
||||||
''
|
'';
|
||||||
+
|
|
||||||
''
|
|
||||||
map global user l ':enter-user-mode lsp<ret>' -docstring 'LSP mode'
|
|
||||||
map global insert <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
|
||||||
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
|
||||||
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
|
||||||
map global object f '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
|
|
||||||
map global object t '<a-semicolon>lsp-object Class Interface Struct<ret>' -docstring 'LSP class interface or struct'
|
|
||||||
map global object d '<a-semicolon>lsp-diagnostic-object --include-warnings<ret>' -docstring 'LSP errors and warnings'
|
|
||||||
map global object D '<a-semicolon>lsp-diagnostic-object<ret>' -docstring 'LSP errors'
|
|
||||||
'' # LSP mappings
|
|
||||||
+
|
|
||||||
"";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [ kak-lsp ];
|
|
||||||
xdg.configFile."kak-lsp/kak-lsp.toml".source =
|
xdg.configFile."kak-lsp/kak-lsp.toml".source =
|
||||||
./kakoune/kak-lsp.toml;
|
./kakoune/kak-lsp.toml;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,25 @@
|
||||||
{ lib, pkgs, config, ... }@inputs:
|
{ lib, pkgs, ... }@inputs:
|
||||||
|
|
||||||
let
|
let
|
||||||
extra = ../extra;
|
extra = ../extra;
|
||||||
scripts = ../scripts;
|
scripts = ../scripts;
|
||||||
|
dynscreenshot = pkgs.writeShellScript "dynscreenshot"
|
||||||
|
(builtins.readFile "${scripts}/dynscreenshot.sh");
|
||||||
changebrightness = pkgs.writeShellScript "changebrightness"
|
changebrightness = pkgs.writeShellScript "changebrightness"
|
||||||
(builtins.readFile "${scripts}/changebrightness.sh");
|
(builtins.readFile "${scripts}/changebrightness.sh");
|
||||||
mod = "Mod4";
|
mod = "Mod4";
|
||||||
|
dmenuCommand = builtins.readFile "${scripts}/dmenu.sh";
|
||||||
shutdownMenu = pkgs.writeShellScript "shutdownmenu"
|
shutdownMenu = pkgs.writeShellScript "shutdownmenu"
|
||||||
(builtins.readFile "${scripts}/shutdownmenu.sh");
|
(builtins.readFile "${scripts}/shutdownmenu.sh");
|
||||||
backgroundImage = "${extra}/kuwaitboat.jpg";
|
backgroundImage = "${extra}/kuwaitboat.jpg";
|
||||||
multiTouchGesturesConfig = ''
|
|
||||||
bindgesture swipe:4:up focus parent
|
|
||||||
bindgesture swipe:4:left workspace prev
|
|
||||||
bindgesture swipe:4:right workspace next
|
|
||||||
bindgesture swipe:3:up focus up
|
|
||||||
bindgesture swipe:3:down focus down
|
|
||||||
bindgesture swipe:3:left focus left
|
|
||||||
bindgesture swipe:3:right focus right
|
|
||||||
'';
|
|
||||||
in {
|
in {
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = rec {
|
||||||
terminal = "${pkgs.lib.getExe inputs.config.defaultPrograms.terminal}";
|
terminal = "${pkgs.lib.getExe inputs.config.defaultPrograms.terminal}";
|
||||||
modifier = mod;
|
modifier = mod;
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "Rubik" ];
|
names = [ "Red Hat Display" ];
|
||||||
style = "Regular";
|
style = "Regular";
|
||||||
size = 12.0;
|
size = 12.0;
|
||||||
};
|
};
|
||||||
|
|
@ -52,7 +46,7 @@ in {
|
||||||
"Print" =
|
"Print" =
|
||||||
"exec grim - | wl-copy && wl-paste > ${screenshotPath}"; # Take screenshot of whole screen, save it, and copy it to clipboard
|
"exec grim - | wl-copy && wl-paste > ${screenshotPath}"; # Take screenshot of whole screen, save it, and copy it to clipboard
|
||||||
"Shift+Print" = ''
|
"Shift+Print" = ''
|
||||||
exec swaymsg -t get_tree | ${pkgs.lib.getExe pkgs.jq} -r '.. | select(.focused?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | grim -g - | wl-copy && wl-paste > ${screenshotPath}''; # Take screenshot of current window, save it, and copy it to clipboard
|
exec swaymsg -t get_tree | jq -r '.. | select(.focused?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | grim -g - | wl-copy && wl-paste > ${screenshotPath}''; # Take screenshot of current window, save it, and copy it to clipboard
|
||||||
"Ctrl+Print" =
|
"Ctrl+Print" =
|
||||||
"exec grim -g \"`slurp`\" - | wl-copy && wl-paste > ${screenshotPath}";
|
"exec grim -g \"`slurp`\" - | wl-copy && wl-paste > ${screenshotPath}";
|
||||||
} // rec { # Function Media Keys
|
} // rec { # Function Media Keys
|
||||||
|
|
@ -71,42 +65,20 @@ in {
|
||||||
XF86AudioMedia =
|
XF86AudioMedia =
|
||||||
"dunstctl set-paused toggle; dunstify -a 'dunst_mute_key' -u low -h string:x-dunst-stack-tag:dunst_mute_key 'Notifications mute toggled'";
|
"dunstctl set-paused toggle; dunstify -a 'dunst_mute_key' -u low -h string:x-dunst-stack-tag:dunst_mute_key 'Notifications mute toggled'";
|
||||||
XF86PowerOff =
|
XF86PowerOff =
|
||||||
"exec DMENU_COMMAND='rofi -dmenu -prompt=\"Sélectionnez :\"' bash ${shutdownMenu}";
|
"exec DMENU_COMMAND='${dmenuCommand}' bash ${shutdownMenu}";
|
||||||
"${mod}+Pause" = XF86PowerOff;
|
"${mod}+Pause" = XF86PowerOff;
|
||||||
} // {
|
} // {
|
||||||
"${mod}+space" = ''input "*" xkb_switch_layout next'';
|
"${mod}+space" = ''input "*" xkb_switch_layout next'';
|
||||||
"${mod}+Shift+l" = "exec swaylock -f";
|
"${mod}+Shift+l" = "exec swaylock -f";
|
||||||
"${mod}+Home" = "move workspace to output left";
|
|
||||||
"${mod}+End" = "move workspace to output right";
|
|
||||||
} // lib.attrsets.mergeAttrsList (map (n: {
|
|
||||||
# Change focus between workspaces
|
|
||||||
"${mod}+${n}" = "exec swaysome focus ${n}";
|
|
||||||
# Move containers between workspaces
|
|
||||||
"${mod}+Shift+${n}" = "exec swaysome move ${n}";
|
|
||||||
# Focus workspace groups
|
|
||||||
"${mod}+Alt+${n}" = "exec swaysome focus-group ${n}";
|
|
||||||
# Move containers to other workspace groups
|
|
||||||
"${mod}+Alt+Shift+${n}" = "exec swaysome move-to-group ${n}";
|
|
||||||
}) (map toString (lib.lists.range 0 9)) ) // {
|
|
||||||
"${mod}+o" = "exec swaysome next-output";
|
|
||||||
"${mod}+Shift+o" = "exec swaysome prev-output";
|
|
||||||
"${mod}+Alt+o" = "exec swaysome workspace-group-next-output";
|
|
||||||
"${mod}+Alt+Shift+o" = "exec swaysome workspace-group-prev-output";
|
|
||||||
} // { });
|
} // { });
|
||||||
# menu = "j4-dmenu-desktop --no-generic --term=${
|
menu = "j4-dmenu-desktop --no-generic --term=${
|
||||||
# terminal
|
terminal
|
||||||
# } --dmenu='${dmenuCommand}'";
|
} --dmenu='${dmenuCommand}'";
|
||||||
menu = "${pkgs.lib.getExe config.programs.rofi.package} -modes \"drun,run\" -show-icons -show drun";
|
|
||||||
focus.followMouse = false;
|
focus.followMouse = false;
|
||||||
};
|
};
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
output 'eDP-1' scale 1.50
|
output 'eDP-1' scale 1.50
|
||||||
'' + # Fractional scaling to 1.50
|
'' + # Fractional scaling to 1.50
|
||||||
''
|
|
||||||
output 'DP-10' pos 0,0
|
|
||||||
output 'DP-9' pos 1920,0 transform 270
|
|
||||||
'' + # CTF Docking Station Monitors
|
|
||||||
''
|
''
|
||||||
exec gammastep-indicator
|
exec gammastep-indicator
|
||||||
'' + # gammastep-indicator enables red shift
|
'' + # gammastep-indicator enables red shift
|
||||||
|
|
@ -116,7 +88,15 @@ in {
|
||||||
''
|
''
|
||||||
exec "activate-linux -c 0.5-0.5-0.5-0.5"
|
exec "activate-linux -c 0.5-0.5-0.5-0.5"
|
||||||
'' + # Enable Activate Linux
|
'' + # Enable Activate Linux
|
||||||
multiTouchGesturesConfig + # Multi-touch touchpad gestures
|
''
|
||||||
|
bindgesture swipe:4:up focus parent
|
||||||
|
bindgesture swipe:4:left workspace prev
|
||||||
|
bindgesture swipe:4:right workspace next
|
||||||
|
bindgesture swipe:3:up focus up
|
||||||
|
bindgesture swipe:3:down focus down
|
||||||
|
bindgesture swipe:3:left focus left
|
||||||
|
bindgesture swipe:3:right focus right
|
||||||
|
'' + # Multi-touch touchpad gestures
|
||||||
''
|
''
|
||||||
exec swaybg -i ${backgroundImage}
|
exec swaybg -i ${backgroundImage}
|
||||||
'' + # Background image
|
'' + # Background image
|
||||||
|
|
@ -128,18 +108,6 @@ in {
|
||||||
bindswitch --reload --locked lid:on output $laptop disable
|
bindswitch --reload --locked lid:on output $laptop disable
|
||||||
bindswitch --reload --locked lid:off output $laptop enable
|
bindswitch --reload --locked lid:off output $laptop enable
|
||||||
'' + # Clamshell mode
|
'' + # Clamshell mode
|
||||||
''
|
|
||||||
exec swaysome init 1
|
|
||||||
'' +
|
|
||||||
"";
|
"";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
font = "Rubik 12";
|
|
||||||
package = pkgs.rofi-wayland;
|
|
||||||
theme = "android_notification";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [ swaybg bemenu j4-dmenu-desktop swaysome ];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,10 @@ rec {
|
||||||
pulseaudio = {
|
pulseaudio = {
|
||||||
format = "{volume}% {icon} {format_source}";
|
format = "{volume}% {icon} {format_source}";
|
||||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||||
format-muted = "{volume}% 🔇 {format_source}";
|
format-muted = "{volume}% {format_source}";
|
||||||
format-source = "{volume}% ";
|
format-source = "{volume}% ";
|
||||||
format-source-muted = "{volume}% ";
|
format-source-muted = "{volume}% ";
|
||||||
format-icons = [ "🔈" "🔊" ];
|
format-icons = [ "" "" ];
|
||||||
on-click = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
on-click = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
on-click-right = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
on-click-right = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||||
on-click-middle = "exec pavucontrol";
|
on-click-middle = "exec pavucontrol";
|
||||||
|
|
@ -38,7 +38,7 @@ rec {
|
||||||
on-scroll-down = "";
|
on-scroll-down = "";
|
||||||
};
|
};
|
||||||
network = {
|
network = {
|
||||||
format-wifi = "{essid} ({signalStrength}%) ";
|
format-wifi = "{essid} ({signalStrength}%) ";
|
||||||
format-ethernet = "{ipaddr}/{cidr} ";
|
format-ethernet = "{ipaddr}/{cidr} ";
|
||||||
tooltip-format = "{ifname} via {gwaddr} ";
|
tooltip-format = "{ifname} via {gwaddr} ";
|
||||||
format-linked = "{ifname} (No IP) ";
|
format-linked = "{ifname} (No IP) ";
|
||||||
|
|
@ -59,7 +59,7 @@ rec {
|
||||||
on-click = "exec blueman-manager";
|
on-click = "exec blueman-manager";
|
||||||
on-click-right = "exec bluetoothctl disconnect";
|
on-click-right = "exec bluetoothctl disconnect";
|
||||||
};
|
};
|
||||||
cpu = { format = "{usage}% 😀"; };
|
cpu = { format = "{usage}% "; };
|
||||||
memory = { format = "{used:0.1f}GB/{total:0.1f}GB "; };
|
memory = { format = "{used:0.1f}GB/{total:0.1f}GB "; };
|
||||||
disk = {
|
disk = {
|
||||||
format = "{used} ";
|
format = "{used} ";
|
||||||
|
|
@ -99,7 +99,7 @@ rec {
|
||||||
}];
|
}];
|
||||||
style = ''
|
style = ''
|
||||||
* {
|
* {
|
||||||
font-family: Rubik, "OpenMoji Color", sans-serif;
|
font-family: FontAwesome, Red Hat Display, sans-serif;
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
min-height: 20pt;
|
min-height: 20pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@
|
||||||
'';
|
'';
|
||||||
profileExtra = ''
|
profileExtra = ''
|
||||||
export QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor
|
export QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor
|
||||||
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
|
||||||
# If running from tty1 start sway
|
# If running from tty1 start sway
|
||||||
# [ "$(tty)" = "/dev/tty1" ] && exec sway
|
# [ "$(tty)" = "/dev/tty1" ] && exec sway
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
12
todo
12
todo
|
|
@ -1,13 +1,7 @@
|
||||||
configure firefox extensions through nix
|
# enable NUR and firefox extensions
|
||||||
set up a keyring and store networkmanager wifi passwords in there instead of plain text
|
set up a keyring and store networkmanager wifi passwords in there instead of plain text
|
||||||
media player daemon
|
media player daemon
|
||||||
|
dmenu files
|
||||||
add pandoc support for markdown rendering
|
add pandoc support for markdown rendering
|
||||||
|
configure per-display workspaces (swaysome?)
|
||||||
timewarrior for time tracking
|
timewarrior for time tracking
|
||||||
kakoune:
|
|
||||||
- configure latex to do auto brackets/stuff like that
|
|
||||||
- latex figure out syntax highlighting weirdness?
|
|
||||||
sway:
|
|
||||||
- figure out multi monitor stuff
|
|
||||||
- set up colour theme and start applying it to applications
|
|
||||||
- configure workspaces
|
|
||||||
- fix bar icons
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue