Add mycli
This commit is contained in:
parent
37221ed58d
commit
82d16eb239
3 changed files with 157 additions and 0 deletions
|
|
@ -21,6 +21,7 @@
|
||||||
./kicad.nix
|
./kicad.nix
|
||||||
./mpv.nix
|
./mpv.nix
|
||||||
./mute-indicator.nix
|
./mute-indicator.nix
|
||||||
|
./mycli.nix
|
||||||
./neo.nix
|
./neo.nix
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
./nix-index.nix
|
./nix-index.nix
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,12 @@ let
|
||||||
target = "theme.css";
|
target = "theme.css";
|
||||||
exec = [ "${pkgs.systemd}/bin/systemctl" "--user" "restart" "waybar.service" ];
|
exec = [ "${pkgs.systemd}/bin/systemctl" "--user" "restart" "waybar.service" ];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
dir = "~/.config/mycli";
|
||||||
|
light = "theme-light.ini";
|
||||||
|
dark = "theme-dark.ini";
|
||||||
|
target = "myclirc";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
exec = (
|
exec = (
|
||||||
if nixosConfig.jalr.gui.enable
|
if nixosConfig.jalr.gui.enable
|
||||||
|
|
|
||||||
150
users/jalr/modules/mycli.nix
Normal file
150
users/jalr/modules/mycli.nix
Normal file
|
|
@ -0,0 +1,150 @@
|
||||||
|
{ lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
quoteValues = ini: lib.mapAttrs
|
||||||
|
(section: attrs:
|
||||||
|
lib.mapAttrs (key: value: if builtins.isString value then ''"${value}"'' else value) attrs
|
||||||
|
)
|
||||||
|
ini;
|
||||||
|
|
||||||
|
solarized = import ./solarized.nix;
|
||||||
|
|
||||||
|
config = {
|
||||||
|
main = {
|
||||||
|
# Enables context sensitive auto-completion. If this is disabled the all
|
||||||
|
# possible completions will be listed.
|
||||||
|
smart_completion = true;
|
||||||
|
|
||||||
|
# Multi-line mode allows breaking up the sql statements into multiple lines. If
|
||||||
|
# this is set to True, then the end of the statements must have a semi-colon.
|
||||||
|
# If this is set to False then sql statements can't be split into multiple
|
||||||
|
# lines. End of line (return) is considered as the end of the statement.
|
||||||
|
multi_line = false;
|
||||||
|
|
||||||
|
# Destructive warning mode will alert you before executing a sql statement
|
||||||
|
# that may cause harm to the database such as "drop table", "drop database"
|
||||||
|
# or "shutdown".
|
||||||
|
destructive_warning = true;
|
||||||
|
|
||||||
|
# log_file location.
|
||||||
|
log_file = "~/.mycli.log";
|
||||||
|
|
||||||
|
# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"
|
||||||
|
# and "DEBUG". "NONE" disables logging.
|
||||||
|
log_level = "INFO";
|
||||||
|
|
||||||
|
# Log every query and its results to a file. Enable this by uncommenting the
|
||||||
|
# line below.
|
||||||
|
# audit_log = "~/.mycli-audit.log";
|
||||||
|
|
||||||
|
# Timing of sql statments and table rendering.
|
||||||
|
timing = true;
|
||||||
|
|
||||||
|
# Table format. Possible values: ascii, double, github,
|
||||||
|
# psql, plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html,
|
||||||
|
# latex, latex_booktabs, textile, moinmoin, jira, vertical, tsv, csv.
|
||||||
|
# Recommended: ascii
|
||||||
|
table_format = "ascii";
|
||||||
|
|
||||||
|
# Syntax coloring style. Possible values (many support the "-dark" suffix):
|
||||||
|
# manni, igor, xcode, vim, autumn, vs, rrt, native, perldoc, borland, tango, emacs,
|
||||||
|
# friendly, monokai, paraiso, colorful, murphy, bw, pastie, paraiso, trac, default,
|
||||||
|
# fruity.
|
||||||
|
# Screenshots at http://mycli.net/syntax
|
||||||
|
# Can be further modified in [colors]
|
||||||
|
syntax_style = "native";
|
||||||
|
|
||||||
|
# Keybindings: Possible values: emacs, vi.
|
||||||
|
# Emacs mode: Ctrl-A is home, Ctrl-E is end. All emacs keybindings are available in the REPL.
|
||||||
|
# When Vi mode is enabled you can use modal editing features offered by Vi in the REPL.
|
||||||
|
key_bindings = "emacs";
|
||||||
|
|
||||||
|
# Enabling this option will show the suggestions in a wider menu. Thus more items are suggested.
|
||||||
|
wider_completion_menu = false;
|
||||||
|
|
||||||
|
# MySQL prompt
|
||||||
|
# \D - The full current date
|
||||||
|
# \d - Database name
|
||||||
|
# \h - Hostname of the server
|
||||||
|
# \m - Minutes of the current time
|
||||||
|
# \n - Newline
|
||||||
|
# \P - AM/PM
|
||||||
|
# \p - Port
|
||||||
|
# \R - The current time, in 24-hour military time (0–23)
|
||||||
|
# \r - The current time, standard 12-hour time (1–12)
|
||||||
|
# \s - Seconds of the current time
|
||||||
|
# \t - Product type (Percona, MySQL, MariaDB)
|
||||||
|
# \A - DSN alias name (from the [alias_dsn] section)
|
||||||
|
# \u - Username
|
||||||
|
# \x1b[...m - insert ANSI escape sequence
|
||||||
|
prompt = "\\u@\\A:\\d> ";
|
||||||
|
prompt_continuation = "-> ";
|
||||||
|
|
||||||
|
# Skip intro info on startup and outro info on exit
|
||||||
|
less_chatty = false;
|
||||||
|
|
||||||
|
# Use alias from --login-path instead of host name in prompt
|
||||||
|
login_path_as_host = false;
|
||||||
|
|
||||||
|
# Cause result sets to be displayed vertically if they are too wide for the current window,
|
||||||
|
# and using normal tabular format otherwise. (This applies to statements terminated by ; or \G.)
|
||||||
|
auto_vertical_output = false;
|
||||||
|
|
||||||
|
# keyword casing preference. Possible values "lower", "upper", "auto"
|
||||||
|
keyword_casing = "upper";
|
||||||
|
|
||||||
|
# disabled pager on startup
|
||||||
|
enable_pager = true;
|
||||||
|
};
|
||||||
|
# Favorite queries.
|
||||||
|
favorite_queries = { };
|
||||||
|
|
||||||
|
# Use the -d option to reference a DSN.
|
||||||
|
# Special characters in passwords and other strings can be escaped with URL encoding.
|
||||||
|
alias_dsn = {
|
||||||
|
# example_dsn = "mysql://[user[:password]@][host][:port][/dbname]";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
common = {
|
||||||
|
"sql.datatype" = "nobold ${solarized.yellow.hex}";
|
||||||
|
"sql.function" = "bg:#FF0000 #0000FF";
|
||||||
|
"sql.keyword" = "${solarized.green.hex}";
|
||||||
|
"sql.literal" = solarized.green.hex;
|
||||||
|
"sql.number" = solarized.cyan.hex;
|
||||||
|
"sql.string" = solarized.cyan.hex;
|
||||||
|
};
|
||||||
|
light = {
|
||||||
|
"prompt" = "bg:${solarized.blue.hex} ${solarized.base02.hex}";
|
||||||
|
"selected" = "bg:${solarized.base2.hex} ${solarized.base00.hex}";
|
||||||
|
"sql.comment" = "italic ${solarized.base1.hex}";
|
||||||
|
"sql.operator" = "${solarized.base02.hex}";
|
||||||
|
"sql.punctuation" = "${solarized.base01.hex}";
|
||||||
|
"sql.symbol" = "${solarized.base01.hex}";
|
||||||
|
};
|
||||||
|
dark = {
|
||||||
|
"prompt" = "bg:${solarized.blue.hex} ${solarized.base2.hex}";
|
||||||
|
"selected" = "bg:${solarized.base02.hex} ${solarized.base0.hex}";
|
||||||
|
"sql.comment" = "italic ${solarized.base01.hex}";
|
||||||
|
"sql.operator" = "${solarized.base2.hex}";
|
||||||
|
"sql.punctuation" = "${solarized.base1.hex}";
|
||||||
|
"sql.symbol" = "${solarized.base1.hex}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
mycli
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.configFile = lib.attrsets.mapAttrs'
|
||||||
|
(
|
||||||
|
name: value: lib.attrsets.nameValuePair "mycli/theme-${name}.ini" {
|
||||||
|
text = lib.generators.toINI { } (quoteValues (config // { colors = value; }));
|
||||||
|
}
|
||||||
|
)
|
||||||
|
{
|
||||||
|
light = colors.common // colors.light;
|
||||||
|
dark = colors.common // colors.dark;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue