Compare commits

...

2 commits

11 changed files with 84 additions and 79 deletions

View file

@ -6,6 +6,13 @@
x11_screens = [ "HDMI-1-0" "eDP1" ]; x11_screens = [ "HDMI-1-0" "eDP1" ];
maxVideoHeight = 1440; maxVideoHeight = 1440;
numlock = true; numlock = true;
phasesBrightness = {
enable = true;
backlight = "intel_backlight";
jour = 40000;
crepuscule = 10000;
nuit = 1;
};
}; };
dev = { dev = {
docker = true; docker = true;

View file

@ -593,6 +593,7 @@
}; };
services = { services = {
unclutter.enable = true; unclutter.enable = true;
# FIXME Not starting on curacao_test
dunst = dunst =
{ {
enable = true; enable = true;

View file

@ -1,12 +0,0 @@
#!/usr/bin/env bash
# FIXME
if [ "$(cat /etc/hostname)" = "curacao.geoffrey.frogeye.fr" ]
then
echo 10000 | sudo tee /sys/class/backlight/intel_backlight/brightness
elif [ "$(cat /etc/hostname)" = "pindakaas.geoffrey.frogeye.fr" ]
then
echo 3000 | sudo tee /sys/class/backlight/edp-backlight/brightness
fi
automatrop -e base16_scheme=solarized-dark --tags color

View file

@ -1,12 +0,0 @@
#!/usr/bin/env bash
# FIXME
if [ "$(cat /etc/hostname)" = "curacao.geoffrey.frogeye.fr" ]
then
echo 40000 | sudo tee /sys/class/backlight/intel_backlight/brightness
elif [ "$(cat /etc/hostname)" = "pindakaas.geoffrey.frogeye.fr" ]
then
echo 3500 | sudo tee /sys/class/backlight/edp-backlight/brightness
fi
automatrop -e base16_scheme=solarized-light --tags color

View file

@ -1,12 +0,0 @@
#!/usr/bin/env bash
# FIXME
if [ "$(cat /etc/hostname)" = "curacao.geoffrey.frogeye.fr" ]
then
echo 1 | sudo tee /sys/class/backlight/intel_backlight/brightness
elif [ "$(cat /etc/hostname)" = "pindakaas.geoffrey.frogeye.fr" ]
then
echo 700 | sudo tee /sys/class/backlight/edp-backlight/brightness
fi
automatrop -e base16_scheme=solarized-dark --tags color

View file

@ -1,17 +1,21 @@
{ pkgs, config, ... }: { pkgs, config, lib, ... }:
let let
stylix = builtins.fetchGit { # Currently last commit in https://github.com/danth/stylix/pull/194
url = "https://github.com/danth/stylix.git"; stylix = builtins.fetchTarball "https://github.com/willemml/stylix/archive/2ed2b0086b41d582aca26e083c19c0e47c8991e3.tar.gz";
# No 23.11 branch last I checked polarityFile = "${config.xdg.stateHome}/theme_polarity";
rev = "8b3f61727f3b86c27096c3c014ae602aa40670ba"; polarity = if builtins.pathExists polarityFile then lib.strings.fileContents polarityFile else "light";
}; phases = [
{ command = "jour"; polarity = "light"; }
{ command = "crepuscule"; polarity = "dark"; }
{ command = "nuit"; polarity = "dark"; }
];
cfg = config.frogeye.desktop.phasesBrightness;
in in
{ {
imports = [ (import stylix).homeManagerModules.stylix ]; imports = [ (import stylix).homeManagerModules.stylix ];
stylix = { stylix = {
# FIXME Changeable at runtime base16Scheme = "${pkgs.base16-schemes}/share/themes/solarized-${polarity}.yaml";
base16Scheme = "${pkgs.base16-schemes}/share/themes/solarized-dark.yaml";
image = builtins.fetchurl { image = builtins.fetchurl {
url = "https://get.wallhere.com/photo/sunlight-abstract-minimalism-green-simple-circle-light-leaf-wave-material-line-wing-computer-wallpaper-font-close-up-macro-photography-124350.png"; url = "https://get.wallhere.com/photo/sunlight-abstract-minimalism-green-simple-circle-light-leaf-wave-material-line-wing-computer-wallpaper-font-close-up-macro-photography-124350.png";
sha256 = "sha256:1zfq3f3v34i45mi72pkfqphm8kbhczsg260xjfl6dbydy91d7y93"; sha256 = "sha256:1zfq3f3v34i45mi72pkfqphm8kbhczsg260xjfl6dbydy91d7y93";
@ -28,16 +32,37 @@ in
}; };
targets = { targets = {
vim.enable = false; # FIXME Not compatible with nixvim for now (there's a MR)
i3.enable = false; # I prefer my own styles i3.enable = false; # I prefer my own styles
tmux.enable = false; # Using another theme tmux.enable = false; # Using another theme
}; };
}; };
# Setting a custom base16 theme via nixvim:
# - Is required so nixvim works
# - For the rest only works on dark polarity, use the colorscheme otherwise... shrug
programs.nixvim.colorschemes.base16.colorscheme = "solarized-${polarity}";
# Fix https://nix-community.github.io/home-manager/index.html#_why_do_i_get_an_error_message_about_literal_ca_desrt_dconf_literal_or_literal_dconf_service_literal # Fix https://nix-community.github.io/home-manager/index.html#_why_do_i_get_an_error_message_about_literal_ca_desrt_dconf_literal_or_literal_dconf_service_literal
# home.packages = [ pkgs.dconf ]; # home.packages = [ pkgs.dconf ];
dconf.enable = false; # Otherwise standalone home-manager complains it can't find /etc/dbus-1/session.conf on Arch. dconf.enable = false; # Otherwise standalone home-manager complains it can't find /etc/dbus-1/session.conf on Arch.
# Symlinking it to /usr/share/dbus-1/session.conf goes further but not much. # Symlinking it to /usr/share/dbus-1/session.conf goes further but not much.
# TODO Use xbacklight instead (pindakaas doesn't seem to support it OOTB)
home.packages = map
(phase: (pkgs.writeShellApplication {
name = "${phase.command}";
text = (lib.optionalString cfg.enable ''
echo ${builtins.toString (builtins.getAttr phase.command cfg)} | sudo tee /sys/class/backlight/${cfg.backlight}/brightness
'') + ''
echo ${phase.polarity} > ${polarityFile}
if command -v home-manager
then
home-manager switch
else
sudo nixos-rebuild switch
fi
'';
})
)
phases;
} }

View file

@ -68,12 +68,6 @@ in
globals = { globals = {
netrw_fastbrowse = 0; # Close the file explorer once you select a file netrw_fastbrowse = 0; # Close the file explorer once you select a file
}; };
colorschemes.base16 = {
# FIXME Dynamic... or use stylix
enable = true;
colorscheme = "solarized-light";
};
plugins = { plugins = {
# Catches attention when cursor changed position # Catches attention when cursor changed position
# TODO Unmapped, do I still want to use it? # TODO Unmapped, do I still want to use it?
@ -339,14 +333,15 @@ in
''; '';
autoCmd = [ autoCmd = [
# Turn off relativenumber only for insert mode # Turn off relativenumber only for insert mode
{ event = "InsertEnter *"; command = "set norelativenumber"; } { event = "InsertEnter"; pattern = "*"; command = "set norelativenumber"; }
{ event = "InsertLeave *"; command = "set relativenumber"; } { event = "InsertLeave"; pattern = "*"; command = "set relativenumber"; }
# Additional extensions # Additional extensions
{ event = "BufNewFile,BufRead"; pattern = "*.jinja"; command = "set filetype=jinja2"; } # TODO Probably GH-specific? { event = "BufRead"; pattern = "*.jinja"; command = "set filetype=jinja2"; } # TODO Probably GH-specific?
{ event = "BufNewFile"; pattern = "*.jinja"; command = "set filetype=jinja2"; }
# vim-easy-align: Align Markdown tables # vim-easy-align: Align Markdown tables
{ event = "FileType markdown"; command = "vmap <Bar> :EasyAlign*<Bar><Enter>"; } { event = "FileType"; pattern = "markdown"; command = "vmap <Bar> :EasyAlign*<Bar><Enter>"; }
]; ];
userCommands = { userCommands = {

View file

@ -2,32 +2,30 @@ vim.cmd([[
set noshowmode set noshowmode
set laststatus=2 set laststatus=2
]]) ]])
-- local base16_colors = require('base16-colorscheme').colors local base16_colors = require('base16-colorscheme').colors
-- FIXME Color setting doesn't work, see ./feline_test.vim for a reproducible use case
-- that works on Arch but not on Nix (with Plug stuff removed)
local vi_mode_utils = require('feline.providers.vi_mode') local vi_mode_utils = require('feline.providers.vi_mode')
local lsp = require('feline.providers.lsp') local lsp = require('feline.providers.lsp')
require('feline').setup({ require('feline').setup({
-- default_bg = 'base01', default_bg = 'base01',
-- default_fg = 'base04', default_fg = 'base04',
-- theme = { theme = {
-- base00 = base16_colors.base00, base00 = base16_colors.base00,
-- base01 = base16_colors.base01, base01 = base16_colors.base01,
-- base02 = base16_colors.base02, base02 = base16_colors.base02,
-- base03 = base16_colors.base03, base03 = base16_colors.base03,
-- base04 = base16_colors.base04, base04 = base16_colors.base04,
-- base05 = base16_colors.base05, base05 = base16_colors.base05,
-- base06 = base16_colors.base06, base06 = base16_colors.base06,
-- base07 = base16_colors.base07, base07 = base16_colors.base07,
-- base08 = base16_colors.base08, base08 = base16_colors.base08,
-- base09 = base16_colors.base09, base09 = base16_colors.base09,
-- base0A = base16_colors.base0A, base0A = base16_colors.base0A,
-- base0B = base16_colors.base0B, base0B = base16_colors.base0B,
-- base0C = base16_colors.base0C, base0C = base16_colors.base0C,
-- base0D = base16_colors.base0D, base0D = base16_colors.base0D,
-- base0E = base16_colors.base0E, base0E = base16_colors.base0E,
-- base0F = base16_colors.base0F, base0F = base16_colors.base0F,
-- }, },
components = { components = {
active = { active = {
{ {

View file

@ -17,6 +17,13 @@
description = "Maximum video height in pixel the machine can reasonably watch"; description = "Maximum video height in pixel the machine can reasonably watch";
default = 1080; default = 1080;
}; };
phasesBrightness = {
enable = lib.mkEnableOption "Set a specific brightness for the screen when running phases commands";
backlight = lib.mkOption { type = lib.types.str; description = "Name of the backlight device"; };
jour = lib.mkOption { type = lib.types.int; description = "brightness value for phase: jour"; };
crepuscule = lib.mkOption { type = lib.types.int; description = "brightness value for phase: crepuscule"; };
nuit = lib.mkOption { type = lib.types.int; description = "brightness value for phase: nuit"; };
};
}; };
dev = { dev = {
ansible = lib.mkEnableOption "Ansible dev stuff"; ansible = lib.mkEnableOption "Ansible dev stuff";

View file

@ -13,6 +13,7 @@
services.printing.enable = true; services.printing.enable = true;
# Enable passwordless sudo # Enable passwordless sudo
# TODO execWheelOnly? sudo-rs?
security.sudo.extraRules = [{ security.sudo.extraRules = [{
groups = [ "wheel" ]; groups = [ "wheel" ];
commands = [{ commands = [{

View file

@ -5,6 +5,13 @@
xorg = true; xorg = true;
x11_screens = [ "DP-1" "eDP-1" ]; x11_screens = [ "DP-1" "eDP-1" ];
maxVideoHeight = 720; maxVideoHeight = 720;
phasesBrightness = {
enable = true;
backlight = "edp-backlight";
jour = 3500;
crepuscule = 3000;
nuit = 700;
};
}; };
frogeye.dev.docker = true; frogeye.dev.docker = true;
} }