testing hydra

This commit is contained in:
Thorn Avery 2021-08-23 10:42:53 +00:00
parent 1327ad4fba
commit 0aaa462578
21 changed files with 451 additions and 171 deletions

View File

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1620877075,
"narHash": "sha256-XvgTqtmQZHegu9UMDSR50gK5cHEM2gbnRH0qecmdN54=",
"lastModified": 1627822587,
"narHash": "sha256-AAFgsVe/ahLh1Ij2o98x6IMxz3Z+Tr97bFwa4nthB1w=",
"owner": "ryantm",
"repo": "agenix",
"rev": "e543aa7d68f222e1e771165da9e9a64b5bf7b3e3",
"rev": "e6752e7b8592502df42066f156165471e62d902d",
"type": "github"
},
"original": {
@ -20,13 +20,29 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1627913399,
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1617631617,
"narHash": "sha256-PARRCz55qN3gy07VJZIlFeOX420d0nGF0RzGI/9hVlw=",
"lastModified": 1623875721,
"narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b2c27d1a81b0dc266270fa8aeecebbd1807fc610",
"rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
"type": "github"
},
"original": {
@ -37,7 +53,9 @@
},
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1622312678,
@ -54,29 +72,36 @@
"type": "github"
}
},
"idris2-src": {
"flake": false,
"neovim-flake": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1606405807,
"narHash": "sha256-v2oNgtjreNpbN0LV1RIdrcYLjFWj/k9fqGf/w4ig8cE=",
"owner": "edwinb",
"repo": "idris2-vim",
"rev": "964cebee493c85f75796e4f4e6bbb4ac54e2da9e",
"dir": "contrib",
"lastModified": 1629274242,
"narHash": "sha256-0qr6pFISilEh/1HsL3NAalRuc6/nJpHcWZx/G/NBkn4=",
"owner": "neovim",
"repo": "neovim",
"rev": "7bff642169438a66557b65d6aba80536eaf570fa",
"type": "github"
},
"original": {
"owner": "edwinb",
"repo": "idris2-vim",
"dir": "contrib",
"owner": "neovim",
"repo": "neovim",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1622314052,
"narHash": "sha256-DwrLZ6NXPzKpQx3RTjdwdmlGDr6kHVx2gaeHCWCb09Q=",
"lastModified": 1629302925,
"narHash": "sha256-BZUOGUxYk8SXT0rVQIhBkfqUgG1YfStoJadp6iUk9Is=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "684ae160a6e76590eafa3fca8061b6ad57bcc9ad",
"rev": "878f629005b003fe39c9e619b074e0ff7d9ed0e2",
"type": "github"
},
"original": {
@ -87,24 +112,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1622103435,
"narHash": "sha256-5i5mGg402AANnSRQmWVo7lqiyw3taoMwX26oslOD9c4=",
"path": "/nix/store/xxh005q6l2rq1zrdni7id3xay8s53q2y-source",
"rev": "5658fadedb748cb0bdbcb569a53bd6065a5704a9",
"type": "path"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1622194753,
"narHash": "sha256-76qtvFp/vFEz46lz5iZMJ0mnsWQYmuGYlb0fHgKqqMg=",
"lastModified": 1629226339,
"narHash": "sha256-szvgmQcUJM3Kv/wNyIn+wtMrrvsks0bk9JOqI2Ij8Ao=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "540dccb2aeaffa9dc69bfdc41c55abd7ccc6baa3",
"rev": "2435ea48c3b295d9cd490535730bb13ab8cfd8a5",
"type": "github"
},
"original": {
@ -114,19 +126,25 @@
"type": "github"
}
},
"rainbow-vim-src": {
"flake": false,
"nvim-nightly": {
"inputs": {
"flake-compat": "flake-compat",
"neovim-flake": "neovim-flake",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1590654574,
"narHash": "sha256-PH4UY+/1JFrR5C0DpFrkfTc51wUQet8ynvAPKFxbFZk=",
"owner": "luochen1990",
"repo": "rainbow",
"rev": "4d15633cdaf61602e1d9fd216a77fc02e0881b2d",
"lastModified": 1629274599,
"narHash": "sha256-C8dsaVdztNKBF9Tx4UCHir0Qxwh1dllxHkejxFNMDD4=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "04d59fbf55a131092a4ab3f8a9af151149a8a371",
"type": "github"
},
"original": {
"owner": "luochen1990",
"repo": "rainbow",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"type": "github"
}
},
@ -135,25 +153,9 @@
"agenix": "agenix",
"home-manager": "home-manager",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2",
"swatch": "swatch",
"vim": "vim"
}
},
"slimv-src": {
"flake": false,
"locked": {
"lastModified": 1617654210,
"narHash": "sha256-ui8feAAKe5+m8WxFZFvMp3dnAN8dA/O/4MXHUo0wr6E=",
"owner": "kovisoft",
"repo": "slimv",
"rev": "de657dd6e124189143589a725ae85113c09eb053",
"type": "github"
},
"original": {
"owner": "kovisoft",
"repo": "slimv",
"type": "github"
"nixpkgs": "nixpkgs",
"nvim-nightly": "nvim-nightly",
"swatch": "swatch"
}
},
"swatch": {
@ -175,47 +177,6 @@
"repo": "swatch",
"type": "github"
}
},
"vim": {
"inputs": {
"flake-utils": "flake-utils",
"idris2-src": "idris2-src",
"nixpkgs": [
"nixpkgs"
],
"rainbow-vim-src": "rainbow-vim-src",
"slimv-src": "slimv-src",
"vim-racket-src": "vim-racket-src"
},
"locked": {
"lastModified": 1621995553,
"narHash": "sha256-b6b70uXapSAnKhloFNGHx/0XAHTT2y1S2IWZ1/h3W90=",
"owner": "techieAgnostic",
"repo": "vim",
"rev": "5ea5a27aad96543cbfb8f59418a6f9759b65aced",
"type": "github"
},
"original": {
"owner": "techieAgnostic",
"repo": "vim",
"type": "github"
}
},
"vim-racket-src": {
"flake": false,
"locked": {
"lastModified": 1595555951,
"narHash": "sha256-XqbR9qMvvaeZ7LHUemocJQQ/CaJSHxEwh7B7Y1o6KhU=",
"owner": "wlangstroth",
"repo": "vim-racket",
"rev": "bca2643c3d8bd0fcd46ab73bee69023a5da1964b",
"type": "github"
},
"original": {
"owner": "wlangstroth",
"repo": "vim-racket",
"type": "github"
}
}
},
"root": "root",

View File

@ -3,29 +3,35 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware";
home-manager.url = "github:nix-community/home-manager/release-20.09";
swatch = {
url = "github:techieAgnostic/swatch";
home-manager = {
url = "github:nix-community/home-manager/release-20.09";
inputs.nixpkgs.follows = "nixpkgs";
};
vim = {
url = "github:techieAgnostic/vim";
swatch = {
url = "github:techieAgnostic/swatch";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, agenix, nixos-hardware, swatch, vim, ...}: {
nixosConfigurations.iwakura = nixpkgs.lib.nixosSystem {
nvim-nightly = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, ...}@inputs: rec {
hydraJobs = {
iwakura."x86_64-linux" = nixosConfigurations.iwakura.config.system.build.toplevel;
};
nixosConfigurations.iwakura = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# enable secrets in the store
agenix.nixosModules.age
(import ./secrets { inherit agenix; })
# inputs.agenix.nixosModules.age
# (import ./secrets { inherit inputs.agenix; })
# enable flakes or we'll be sad
(import ./modules/flakes)
@ -35,8 +41,11 @@
# enabling window-manager
(import ./modules/bspwm)
# emacs + package override
(import ./modules/emacs)
# enable iohk binary cache for haskell dot nix
(import ./modules/iohk)
# neovim + plugins
(import ./modules/neovim)
# disk partitions and such (plus more that needs to be taken out)
(import ./hardware/iwakura)
@ -44,12 +53,21 @@
# sane nameservers because aussie gov blocks everything
(import ./modules/nameservers)
# start mpd
(import ./modules/ncmpcpp)
# FHS runtime for games
(import ./modules/gog-games)
# start hydra CI
(import ./modules/hydra)
# community settings for this laptop
nixos-hardware.nixosModules.lenovo-thinkpad-t420
nixos-hardware.nixosModules.common-pc-laptop-ssd
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t420
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
# import home manager profiles and set to use same nixpkgs
home-manager.nixosModules.home-manager {
inputs.home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
@ -62,12 +80,14 @@
# import nix config user profiles + misc
({ pkgs, ... }: {
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
swatch.overlay
vim.overlay
inputs.swatch.overlay
inputs.nvim-nightly.overlay
(import ./overlays/picom.nix)
];
nix.registry.nixpkgs.flake = nixpkgs;
nix.registry.nixpkgs.flake = inputs.nixpkgs;
imports = [
./users/root
./users/thorn

View File

@ -4,8 +4,8 @@
hostName = "iwakura";
useDHCP = false;
firewall = {
allowedTCPPorts = [ 8384 6881 6882 6883 6884 6697 ];
allowedUDPPorts = [ 6881 6882 6883 6884 6697 ];
allowedTCPPorts = [ 8384 6881 6882 6883 6884 6697 3000 ];
allowedUDPPorts = [ 6881 6882 6883 6884 6697 3000 ];
allowedTCPPortRanges = [
{ from = 8995; to = 8999; }
];

View File

@ -4,7 +4,12 @@
networking = {
networkmanager.enable = false;
wireless.enable = true;
wireless = {
enable = true;
interfaces = [
"wlp3s0"
];
};
};
environment.systemPackages = with pkgs; [

View File

@ -1,21 +1,21 @@
{
fg = "#d7d0c7";
fg = "#dddddd";
bg = "#151515";
cc = "#d7d0c7";
black = "#101010";
cc = "#a2a2a2";
black = "#151515";
blackBold = "#404040";
red = "#e84f4f";
redBold = "#d23d3d";
green = "#b8d68c";
greenBold = "#a0cf5d";
yellow = "#e1aa5d";
yellowBold = "#f39d21";
blue = "#4e9fb1";
blueBold = "#1e9fd1";
magenta = "#9b64fb";
magentaBold = "#8542ff";
cyan = "#6d878d";
cyanBold = "#42717b";
red = "#9c3528";
redBold = "#d64937";
green = "#61bc3b";
greenBold = "#86df5d";
yellow = "#f3b43a";
yellowBold = "#fdd75a";
blue = "#0d68a8";
blueBold = "#0f75bd";
magenta = "#744560";
magentaBold = "#9e5e83";
cyan = "#288e9c";
cyanBold = "#37c3d6";
white = "#dddddd";
whiteBold = "#dddddd";
whiteBold = "#f9f9f9";
}

View File

@ -0,0 +1,8 @@
{
networking.hosts = {
"0.0.0.0" = [
"pokemonshowdown.com"
"play.pokemonshowdown.com"
];
};
}

View File

@ -43,7 +43,7 @@ in {
backgroundAlt = cs.bg;
foreground = cs.fg;
highlight = {
background = cs.cyanBold;
background = cs.cyan;
foreground = cs.greenBold;
};
};

View File

@ -16,7 +16,7 @@
"LVDS-1" = [ "I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" ];
};
rules = {
"xterm" = {
"URxvt" = {
state = "pseudo_tiled";
};
};
@ -26,7 +26,8 @@
split_ration = 0.5;
};
startupPrograms = [
"feh --bg-fill .bg"
#"feh --bg-fill .bg"
"xsetroot -solid \"#151515\""
];
};
};

View File

@ -0,0 +1,10 @@
{ pkgs, ... }: {
programs.java.enable = true;
environment.systemPackages = with pkgs; [
mono
(steam.override {
withJava = true;
nativeOnly = true;
}).run
];
}

16
modules/hydra/default.nix Normal file
View File

@ -0,0 +1,16 @@
{
services.hydra = {
enable = true;
hydraURL = "http://localhost:3000";
notificationSender = "hydra@localhost";
# buildMachinesFiles = [];
useSubstitutes = true;
};
nix.buildMachines = [
{ hostName = "localhost";
system = "x86_64-linux";
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
maxJobs = 8;
}
];
}

9
modules/iohk/default.nix Normal file
View File

@ -0,0 +1,9 @@
{
# Binary Cache for Haskell.nix
nix.binaryCachePublicKeys = [
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
];
nix.binaryCaches = [
"https://hydra.iohk.io"
];
}

View File

@ -0,0 +1,10 @@
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
tageditor
];
services.mpd = {
enable = true;
user = "thorn";
musicDirectory = "/home/thorn/music";
};
}

102
modules/neovim/default.nix Normal file
View File

@ -0,0 +1,102 @@
{ pkgs, ... }: {
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
configure = {
customRC = ''
let mapleader="\<SPACE>"
syntax on
filetype on
filetype plugin indent on
set showmatch
set number
set formatoptions+=o
set expandtab
set tabstop=3
set shiftwidth=3
set nojoinspaces
set splitbelow
set splitright
if !&scrolloff
set scrolloff=3
endif
if !&sidescrolloff
set sidescrolloff=3
endif
set nostartofline
if &listchars ==# 'eol:$'
set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
endif
set list
set ignorecase
set smartcase
set gdefault
if maparg('<C-L>', 'n') ==# '''
nnoremap <silent> <C-L> :nohlsearch<CR><C-L>
endif
nmap <Leader>s :%s//g<Left><Left>
function! NumberToggle()
if(&relativenumber == 1)
set nornu
set number
else
set rnu
endif
endfunc
nnoremap <Leader>r :call NumberToggle()<cr>
nnoremap <Leader>o :CtrlP<CR>
nnoremap <Leader>b :CtrlPBuffer<CR>
nnoremap <Leader>f :CtrlPMRUFiles<CR>
let g:airline#extensions#tabline#enabled = 2
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
let g:airline#extensions#tabline#right_sep = ' '
let g:airline#extensions#tabline#right_alt_sep = '|'
let g:airline_left_sep = ' '
let g:airline_left_alt_sep = '|'
let g:airline_right_sep = ' '
let g:airline_right_alt_sep = '|'
let g:idris_indent_if = 3
let g:idris_indent_case = 5
let g:idris_indent_let = 4
let g:idris_indent_where = 6
let g:idris_indent_do = 3
let g:idris_indent_rewrite = 8
autocmd FileType idris :packadd idris2-vim
let g:rainbow_conf = {
\ 'ctermfgs': ['red', 'green', 'blue', 'cyan', 'magenta'],
\ 'cterms': ['bold']
\}
'';
packages.nix = with pkgs.vimPlugins; {
start = [
vim-nix
vim-racket
idris2-vim
airline
ctrlp
vim-javascript-syntax
rainbow_parentheses
];
};
};
};
}

View File

@ -1,8 +1,8 @@
{ pkgs, ... }: {
services.picom = {
enable = true;
enable = false;
activeOpacity = "1.0";
inactiveOpacity = "0.85";
inactiveOpacity = "0.95";
blur = true;
fade = true;
fadeDelta = 5;
@ -14,8 +14,8 @@
"99:class_i ?= 'rofi'"
];
extraOptions = ''
corner-radius = 6;
'';
#extraOptions = ''
# corner-radius = 25;
#'';
};
}

View File

@ -5,6 +5,6 @@
};
xresources.extraConfig = ''
URxvt.internalBorder: 16
URxvt.internalBorder: 21
'';
}

View File

@ -22,7 +22,7 @@ in {
share = true;
};
initExtraBeforeCompInit = ''
export PATH='/run/wrappers/bin:/home/thorn/.nix-profile/bin:/etc/profiles/per-user/thorn/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/home/thorn/.config/zsh/plugins/fast-syntax-highlighting'
export PATH=$PATH:'/run/wrappers/bin:/home/thorn/.nix-profile/bin:/etc/profiles/per-user/thorn/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/home/thorn/.config/zsh/plugins/fast-syntax-highlighting'
'';
initExtra = ''
setopt promptsubst

5
overlays/drawterm.nix Normal file
View File

@ -0,0 +1,5 @@
let
drawterm-deriv = p: p.callPackage ../programs/drawterm {};
in final: prev: {
drawterm = drawterm-deriv final;
}

View File

@ -1,11 +1,14 @@
# TODO
## change this into an import so flakes can handle updating
final: prev: {
picom = prev.picom.overrideAttrs (oldAttrs: rec {
version = "NEXT";
src = prev.fetchFromGitHub {
owner = "yshui";
owner = "sdhand";
repo = "picom";
sha256 = "CaSw80lfxopVNydn9f6lbl28agzvMkDCub8dYRv3Q30=";
rev = "7ba87598c177092a775d5e8e4393cb68518edaac";
sha256 = "bUjuiPKkBQs8kOb0pp1f9wGW13OJcDDyCuQR1bzhIKY=";
rev = "a99772b6d540194628800e0168d587cf1d62b097";
};
});
}

View File

@ -0,0 +1,31 @@
{ lib
, stdenv
, fetchurl
, pkgs
}:
stdenv.mkDerivation rec {
pname = "drawterm";
version = "6.9";
src = fetchurl {
url = "http://git.9front.org/git/plan9front/drawterm/c97fe4693f6112504d6f13fab46f7cc8b27685c1/snap.tar.gz";
sha256 = "n2gBCvJycSP3ZODmainotc2JTb4laWcGDhxstZabzI4=";
};
# tag for buildtime
CONF = "unix";
buildInputs = with pkgs; [
x11
];
installPhase = ''
mkdir -p $out/bin
cp drawterm $out/bin/drawterm
'';
meta = {
description = "A program for connecting remotely to plan9 systems";
longDescription = ''
drawterm is a program for remotely connecting to plan9 systems, giving a graphical interface, and allowing mounting of filesystems over the network.
'';
homepage = "http://drawterm.9front.org/";
platforms = lib.platforms.all;
};
}

101
users/thorn/.crawlrc Normal file
View File

@ -0,0 +1,101 @@
# name = Thorn
include = dvorak_command_keys.txt
remember_name = true
restart_after_game = true
restart_after_save = true
newgame_after_quit = false
name_bypasses_menu = true
default_manual_training = true
autopickup_starting_ammo = true
game_seed = none
pregen_dungeon = full
autopickup = $?!+"/
autopickup_exceptions ^=
default_autopickup = true
pickup_throw = true
assign_item_slot = forward
pickup_menu_limit = 1
drop_filter +=
auto_hide_spells = false
detected_monster_colour = lightred
detected_item_colour = green
remembered_monster_colour = darkgrey
friend_brand = hi:green
neutral_brand = hi:lightgrey
stab_brand = hi:blue
may_stab_brand = hi:yellow
heap_brand = reverse
feature_item_brand = reverse
trap_item_brand = reverse
level_map_cursor_step = 7
view_max_width = 81
view_max_height = 71
always_show_exclusions = true
travel_delay = -1
explore_delay = -1
rest_delay = -1
travel_avoid_terrain = shallow water
explore_greedy = true
travel_key_stop = true
travel_one_unsafe_move = false
tc_reachable = blue
tc_dangerous = cyan
tc_disconnected = darkgrey
tc_excluded = lightmagenta
tc_exclude_circle = red
auto_switch = false
easy_unequip = true
equip_unequip = true
jewellery_prompt = false
easy_confirm = safe
simple_targeting = false
allow_self_target = prompt
easy_quit_item_prompts = true
ability_menu = true
easy_floor_use = true
sort_menus = true
fail_severity_to_confirm = 2
easy_door = true
warn_hatches = true
enable_recast_spell = true
bad_item_prompt = true
hp_warning = 10
mp_warning = 1
hp_colour = 50:yellow, 25:red
mp_colour = 50:yellow, 25:red
stat_colour = 1:lightred, 3:red
status_caption_colour = brown
enemy_hp_colour = green green brown brown magenta red
clear_messages = false
show_more = true
small_more = false
show_newturn_mark = true
show_game_time = true
equip_bar = false
show_travel_trail = true
skill_focus = true
default_show_all_skills = true
darken_beyond_range = true
cloud_status = true
always_show_zot = true
show_god_gift = yes
tile_full_screen = no
dump_on_save = true
mouse_input = false
wiz_mode = never
explore_mode = never

View File

@ -17,7 +17,6 @@
../../modules/urxvt/home.nix
../../modules/picom/home.nix
../../modules/zsh/home.nix
../../modules/emacs/home.nix
./fonts/home.nix
./xresources.nix
@ -30,8 +29,9 @@
# packages that are needed
packages = with pkgs; [
# system stuff
agenix
unzip
htop gotop
neofetch scrot
git
@ -42,16 +42,18 @@
cowsay fortune
# editors
ta.vim
libreoffice
# web stuff
elinks qutebrowser
deluge
transmission-gtk
profanity weechat
youtube-dl
# media
krita
imagemagick
ncmpcpp
aseprite
calibre
zathura
@ -64,26 +66,22 @@
racket
stack ghc
idris idris2
cargo rustc gcc
# games
nethack crawl crawlTiles
sgtpuzzles
wesnoth openxcom
manaplus
minetest
rftg
superTux superTuxKart
openttd
freeciv unciv
opentyrian
freedink freedroidrpg
freeorion
openarena
wine
qgo gnugo
openttd dwarf-fortress
minetest
# freeSO stuff
lutris cabextract mono SDL2 wget
];
};
services.syncthing.enable = true;
}