added system configuration and Luakit.
This commit is contained in:
parent
57566b5b56
commit
f34797ae84
|
@ -9,6 +9,7 @@ let
|
|||
}) {}).package;
|
||||
in {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
news.display = "silent";
|
||||
home = {
|
||||
username = "lyla";
|
||||
homeDirectory = "/home/lyla";
|
||||
|
@ -16,18 +17,23 @@ in {
|
|||
sessionVariables = {
|
||||
EDITOR = "kak";
|
||||
};
|
||||
extraOutputsToInstall = [ "doc" ];
|
||||
packages = with pkgs; [
|
||||
# CLI tools
|
||||
xclip neofetch
|
||||
exa fd ripgrep
|
||||
pandoc signify
|
||||
# editor
|
||||
kak-lsp parinfer-rust rnix-lsp
|
||||
kak-lsp parinfer-rust rnix-lsp zig-master
|
||||
# nix tools
|
||||
nixfmt niv cargo2nix
|
||||
nixfmt niv cargo2nix cachix
|
||||
# gui
|
||||
zoom-us libreoffice
|
||||
transmission-gtk
|
||||
transmission-gtk luakit
|
||||
];
|
||||
file = {
|
||||
".tmux.conf".source = ~/etc/tmux.conf;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
@ -57,14 +63,10 @@ in {
|
|||
kakoune = let
|
||||
lspFiletypes = [ "zig" "rust" "c" "cpp" "nix" ];
|
||||
tabSettings = [
|
||||
{
|
||||
filetype = [ "zig" "rust" "nix" ];
|
||||
tab = "expandtab";
|
||||
}
|
||||
{
|
||||
filetype = [ "c" "cpp" ];
|
||||
tab = "smarttab";
|
||||
}
|
||||
{ filetype = [ "zig" "rust" "nix" ];
|
||||
tab = "expandtab"; }
|
||||
{ filetype = [ "c" "cpp" ];
|
||||
tab = "smarttab"; }
|
||||
];
|
||||
in {
|
||||
enable = true;
|
||||
|
@ -129,27 +131,10 @@ in {
|
|||
};
|
||||
extraConfig = ''
|
||||
add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default+rb
|
||||
|
||||
# kak-lsp initialization
|
||||
eval %sh{kak-lsp --kakoune -s $kak_session}
|
||||
hook global WinSetOption filetype=(${builtins.concatStringsSep "|" lspFiletypes}) %{
|
||||
map buffer user l ': enter-user-mode lsp<ret>' -docstring 'LSP mode'
|
||||
lsp-enable-window
|
||||
#hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
|
||||
#hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
|
||||
#hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
|
||||
#hook -once -always window WinSetOption filetype=.* %{
|
||||
# remove-hooks window semantic-tokens
|
||||
#}
|
||||
}
|
||||
define-command ide -params 0..1 %{
|
||||
try %{ rename-session %arg{1} }
|
||||
rename-client main
|
||||
set-option global jumpclient main
|
||||
new rename-client tools
|
||||
set-option global toolsclient tools
|
||||
new rename-client docs
|
||||
set-option global docsclient docs
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
@ -162,7 +147,9 @@ in {
|
|||
xdg = {
|
||||
dataFile = {
|
||||
# compile ZLS and copy the binaries manually to ~/.local/share/zls
|
||||
# TODO: get ZLS to compile with Nix.
|
||||
# TODO: get ZLS to compile with Nix, this would allow shell environments
|
||||
# using Zig as a dependency to use ZLS alongside it without cluttering the
|
||||
# user environment.
|
||||
"zls/zls.json".text = ''
|
||||
{
|
||||
"zig_lib_path": "${zig-master}/lib/zig/",
|
||||
|
@ -173,12 +160,10 @@ in {
|
|||
}
|
||||
'';
|
||||
};
|
||||
|
||||
configFile = {
|
||||
"kak-lsp/kak-lsp.toml".source = ~/etc/kak-lsp.toml;
|
||||
"../.tmux.conf".source = ~/etc/tmux.conf;
|
||||
"luakit/userconf.lua".source = ~/etc/luakit/userconf.lua;
|
||||
};
|
||||
|
||||
userDirs = {
|
||||
enable = true;
|
||||
desktop = "$HOME/usr";
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
<nixos-hardware/lenovo/thinkpad/t420>
|
||||
<nixos-hardware/common/pc/ssd>
|
||||
<musnix>
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
nix = {
|
||||
trustedUsers = [ "root" "lyla" ];
|
||||
allowedUsers = [ "root" "lyla" ];
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
};
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
boot = {
|
||||
loader.grub = {
|
||||
enable = true;
|
||||
version = 2;
|
||||
device = "/dev/sda";
|
||||
};
|
||||
plymouth.enable = true;
|
||||
cleanTmpDir = true;
|
||||
};
|
||||
|
||||
security = {
|
||||
sudo = {
|
||||
enable = true;
|
||||
wheelNeedsPassword = false;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "crow";
|
||||
networkmanager.enable = true;
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "la-latin1";
|
||||
};
|
||||
|
||||
time.timeZone = "America/Santiago";
|
||||
location = {
|
||||
latitude = -29.909349;
|
||||
longitude = -71.250038;
|
||||
};
|
||||
|
||||
environment = {
|
||||
homeBinInPath = true;
|
||||
systemPackages = with pkgs; [
|
||||
# CLI utils
|
||||
wget usbutils
|
||||
# audio
|
||||
qjackctl
|
||||
];
|
||||
};
|
||||
|
||||
fonts = {
|
||||
fonts = with pkgs; [
|
||||
noto-fonts noto-fonts-cjk noto-fonts-emoji
|
||||
inter mononoki tamzen
|
||||
];
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
subpixel.rgba = "none";
|
||||
defaultFonts = {
|
||||
sansSerif = [ "Inter" "Noto Sans" ];
|
||||
serif = [ "Noto Serif" ];
|
||||
monospace = [ "mononoki" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sound.enable = true;
|
||||
|
||||
musnix = {
|
||||
enable = true;
|
||||
alsaSeq.enable = true;
|
||||
kernel = {
|
||||
optimize = true;
|
||||
realtime = true;
|
||||
packages = pkgs.linuxPackages_latest_rt;
|
||||
};
|
||||
das_watchdog.enable = true;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
# enableAllFirmware = true;
|
||||
bluetooth.enable = true;
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
opengl.enable = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
adb.enable = true;
|
||||
tmux.enable = true;
|
||||
slock.enable = true;
|
||||
fish.enable = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
jack = {
|
||||
jackd.enable = true;
|
||||
alsa.enable = true;
|
||||
};
|
||||
xserver = {
|
||||
enable = true;
|
||||
layout = "latam";
|
||||
libinput.enable = true;
|
||||
displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "lyla";
|
||||
};
|
||||
lightdm = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
desktopManager.xfce = {
|
||||
enable = true;
|
||||
thunarPlugins = with pkgs.xfce; [
|
||||
thunar-volman thunar-archive-plugin
|
||||
];
|
||||
};
|
||||
};
|
||||
picom = {
|
||||
enable = true;
|
||||
shadow = false;
|
||||
menuOpacity = 0.9;
|
||||
inactiveOpacity = 0.95;
|
||||
backend = "glx";
|
||||
experimentalBackends = true;
|
||||
};
|
||||
redshift.enable = true;
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
users.lyla = (import ./users/lyla.nix) pkgs;
|
||||
};
|
||||
|
||||
system.stateVersion = "21.03";
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
local settings = require "settings"
|
||||
settings.window.home_page = "google.com"
|
||||
|
Loading…
Reference in New Issue