added system configuration and Luakit.

This commit is contained in:
Lyla Bravo 2020-10-23 12:29:35 -03:00
parent 57566b5b56
commit f34797ae84
3 changed files with 178 additions and 32 deletions

View File

@ -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";

158
etc/configuration.nix Normal file
View File

@ -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";
}

3
etc/luakit/userconf.lua Normal file
View File

@ -0,0 +1,3 @@
local settings = require "settings"
settings.window.home_page = "google.com"